Problème macro access
PATRICE_OISE
Messages postés
5
Date d'inscription
Statut
Membre
Dernière intervention
-
mohammed -
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
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
A voir également:
- Problème macro access
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Jitbit macro recorder - Télécharger - Confidentialité
- Télécharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Acer quick access - Forum logiciel systeme
- Désinstaller ACER QUICK ACCESS - Forum Logiciels
6 réponses
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
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
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
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
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
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
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
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 "
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 "
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.
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.