Problème macro access

PATRICE_OISE Messages postés 5 Date d'inscription   Statut Membre -  
 mohammed -
Bonjour,

J'ai créé un formulaire sur access 2007 basé sur une table à trois colonnes. Il s'agit d'un formulaire en mode "continue" Je souhaiterais par une macro, affecter une valeur à un champs mais que cette valeur soit dépendante de la valeur d'un autre champs (en introduisant une condition dans la macro) Cà je maitrise

Mais ma question est : comment faire pour que la mise à jour de la valeur se fasse sur TOUTES les lignes du formulaire et non sur la première seulement ?

Merci pour vos réponses

6 réponses

  1. moiced59 Messages postés 1161 Statut Membre 60
     
    bonjour que ve tu faire exactement on pourra transformer ta macro en code vba
    0
  2. PATRICE_OISE Messages postés 5 Date d'inscription   Statut Membre
     
    Salut,

    Sans rentrer trop dans les détails, il s'agit d'un sous formulaire dans lequel j'ai une case à cocher de type oui/non. Une requête ne peut pas fonctionner car je dois pouvoir la décocher.
    Disons que suivant la valeur d'une case dans le formulaire père, une série de case doit être cochée en oui (ou en non) dans le sous formulaire automatiquement. MAIS on doit pouvoir modifier sa valeur

    J'éspère que c'est compréhensible
    0
  3. moiced59 Messages postés 1161 Statut Membre 60
     
    bonjour

    Quelque chose comm ca pourrais surement t aider:*

    tu creer un bouton sur ton formulaire et derriere tu met:

    Dim dbs As Database
    Dim ... As Recordset 'remplace les ... par le nom du champ que tu veu verifier
    Set dbs = CurrentDb
    Set ...= dbs.OpenRecordset("ici le nom de ta table", dbOpenTable)

    Recordset.MoveFirst
    While Not Recordset.EOF
    Recordset.MoveNext
    If Me.... = "ta condition que tu veux verifier" Then la les ... correspondent a ce du haut

    ta case a cocher = true

    Else: ta case a cocher = false

    End If

    Wend

    je pense que c ce que tu recherche si besoin hesite pas
    0
  4. PATRICE_OISE Messages postés 5 Date d'inscription   Statut Membre
     
    Merci pour ta réponse. Je suis sur que la solution est là

    J'ai adapté de la façon suivante :

    Private Sub Commande32_Click()
    On Error GoTo Err_Commande32_Click

    Dim dbs As Database
    Dim N°adresse As Recordset
    Set dbs = CurrentDb
    Set N°adresse = dbs.OpenRecordset(definircontacts, dbOpenTable)

    Recordset.MoveFirst
    While Not Recordset.EOF
    Recordset.MoveNext
    If Me!N°adresse = Me!rappeladresse Then

    Validation = True
    Else: Validation = False

    End If

    End Sub

    Mais çà ne marche pas. Je dois faire des erreurs dans la rédaction mais je manipule très mal le VBA

    en synthèse, dans la requête "définir contact" j'ai un champs "N°adresse" qui doit être identique à un champs texte "rappeladresse" du formulaire pour que la case à cocher "validation" soit définie comme vraie.

    Peux tu me dépanner sur la rédaction du code ? je pense que l'erreur se situe dans le début du code
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. moiced59 Messages postés 1161 Statut Membre 60
     
    re

    alors apres le end if il manque le le wend

    il manque les " " entre le nom de ta requete "definircontacts",dbopendynaset

    et aussi vu que c une requete que tu utilise et non une table le type est dynamique dc : dbopendynaset comme je te l ai indiqué ci desssus

    essai en modifiat ca deja si cela ne vas tjs pas on essaira en modifiant tes " if "
    0
  7. mohammed
     
    Salut,
    en corrigeant quelques lignes
    Private Sub Commande32_Click()
    On Error GoTo Err_Commande32_Click

    Dim dbs As DAO.Database
    dim rst as DAO.Recordset
    Set dbs = CurrentDb
    Set rst= dbs.OpenRecordset("nom_tble du sous-formulaire fils", dbOpendynaset)
    rst.MoveFirst
    While Not rst.EOF
    If rst![nom_champ en commun_table fils] = Me.nom_champ_communpère Then
    Validation = True
    Else: Validation = False
    End If
    rst.MoveNext
    wend
    End Sub
    j'espère vous avoir aider.
    Bonne chance.
    Merci.
    0