Modifier la valeur d'un textebox d'un formulaire par clic

Résolu/Fermé
angelo2night - 18 mars 2013 à 20:29
 angelo2night - 19 mars 2013 à 11:14
Bonjour,


Je suis sous Access 2007

Je voudrais savoir si c'était possible de modifier la valeur d'une "Zone de texte" se trouvant sur un formulaire 1 à partir d'un bouton clic se trouvant sur un formulaire 2.

J'avais tenté ça:

Private Sub Commande4_Click()

Text1.Value = Modifiable2.Value

End Sub


Mais ca ne foncitonne pas, ça m'affiche "objet requis"

Help por favor!
A voir également:

5 réponses

marwenovich Messages postés 111 Date d'inscription lundi 18 mars 2013 Statut Membre Dernière intervention 8 février 2014 9
18 mars 2013 à 21:49
text1.value=form2.modifiable2.value

ca va marché :)
1
angelo2night
19 mars 2013 à 08:01
Merciiiiii t'es un héro!ça parait bête mais quand tu ne connais pas les syntaxes c'est l'enfer!

ça fonctionne super bien!

Est-ce que tu saurais également dans un Dcount comment mettre un critère variable?

Car j'ai mon texte qui change et j'ai incrémenté cela dans une variable name que
je voudrais utiliser en critère.

Texte13.Value = Form_Accès.A_user.Value
name = Texte13.Value

a = DCount("[Preparateur]", "AFFAIRE", "[Preparateur]= texte13")
0
marwenovich Messages postés 111 Date d'inscription lundi 18 mars 2013 Statut Membre Dernière intervention 8 février 2014 9
19 mars 2013 à 09:52
j'ai pas compris bien votre question mais si vous voulez utiliser une variable sur plusieurs formes vous devez la déclarer en tant que public et statique,c'est ça???
0
angelo2night
19 mars 2013 à 10:20
Bonjour,

en faite mon soucis c'est que le critère doit être un mot et déclaré comme suit:

a = DCount("[Preparateur]", "AFFAIRE", "[Preparateur]= 'Marie' ")

C'est à dire que le critère doit être un mot.
Or je souhaite avoir une variable liée à une liste au lieu d'un critère fixe.
C'est à dire que je lie une variable Name à cette liste .

Name= Texte.value

Par exemple ma liste est : Marie,Cédric,André.
Lorsque je selectionne Marie, Mon Dcount devrait me compter uniquement les chantiers effectués par Marie.

a = DCount("[Preparateur]", "AFFAIRE", "[Preparateur]= Name ")

Mais cela ne fonctionne pas...
Merci de votre aide.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
marwenovich Messages postés 111 Date d'inscription lundi 18 mars 2013 Statut Membre Dernière intervention 8 février 2014 9
19 mars 2013 à 10:32
OK j'ai pas une grande connaissance en access ,alors je vais vous écrire l'algorithme et vous le traduisez :


nom_personne="MARIE"

a=Compter_Les_Chantiers(nom_personne)


fonction Compter_Les_Chantiers(nom)
répéter
si (chantiers effectuer par "nom") alors
compteur=compteur+1
fin si
jusqu'à(fin des chantiers)
Compter_Les_Chantiers=compteur
fin Compter_Les_Chantiers


juste un peut d'effort pour le traduire :)
0
angelo2night
19 mars 2013 à 10:40
Bonjour,

Votre solution fonctionnerait, je l'avais fait au début, mais le soucis de votre solution
c'est que je doit établir cette condition pour tout les noms.
Comme j'ai 60 noms cela voudrait dire que je devrais faire 60 conditions avec un compteur pour chaque.

Je vais éssayer de voir si il y a plus simple.

En tout cas, je vous remercie beaucoup.
0
marwenovich Messages postés 111 Date d'inscription lundi 18 mars 2013 Statut Membre Dernière intervention 8 février 2014 9
19 mars 2013 à 10:45
vous pouvez mettre tout ce code dans une boucle :

pour chaque nom faire

mon code

fin pour
0
angelo2night
19 mars 2013 à 11:14
Re!

Je viens de trouver une solution encore plus simple!Ma requête va afficher uniquement les affaires
effectuées par l'agent.Puis mon code VBA va compter les résultats de ma requête!

Je vous la communique en détail:

ICI LA REQUETE POUR AFFICHER UNIQUEMENT LES CHANTIER EFFECTUE PAR L'AGENT

Comme [Formulaires]![Accès]![A_user]

ICI LA COMMANDE POUR COMPTER LE NOMBRE DE CHANTIER EFFECTUE PAR L'AGENT

Private Sub Commande0_Click()


Dim a As Integer
Dim txt As String
Dim name As String
Dim txt2 As String


name = Texte13.Value

a = DCount("*", "recapchantiereffectue")
txt = " chantiers depuis le 1er janvier"
txt2 = " vous avez effectué "

' Execution de la requête
' DoCmd.OpenQuery "Queryname" ,acReadOnly pour autoriser l'utilisateur à visionner uniquement

DoCmd.OpenQuery "RecapChantierEffectue", acReadOnly

MsgBox ("Bonjour " & name & txt2 & a & txt)


End Sub
0