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

Résolu
angelo2night -  
 angelo2night -
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!

5 réponses

  1. marwenovich Messages postés 121 Statut Membre 9
     
    text1.value=form2.modifiable2.value

    ca va marché :)
    1
  2. angelo2night
     
    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
  3. marwenovich Messages postés 121 Statut Membre 9
     
    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
  4. angelo2night
     
    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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. marwenovich Messages postés 121 Statut Membre 9
     
    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
    1. angelo2night
       
      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
    2. marwenovich Messages postés 121 Statut Membre 9
       
      vous pouvez mettre tout ce code dans une boucle :

      pour chaque nom faire

      mon code

      fin pour
      0
    3. angelo2night
       
      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