VBA - Access
Résolu
Maxime59242
Messages postés
20
Statut
Membre
-
blux Messages postés 27813 Statut Modérateur -
blux Messages postés 27813 Statut Modérateur -
Bonjour,
J'ai un petit problème. Je vous explique la situation. J'ajoute des données saisies dans un formulaire dans ma base de donnée grâce à un petit bout de code en VBA. Et ensuite je demande à lutilisateur s'il veut continuer (donc resaisir et réajouter une ligne) mais lorsque qu'il fait oui, les zones de texte a saisir sont bien vide mais il demande tout de suite si je veux continuer, je nai pas le temps de saisir.
Voici mon code très simple, si quelqu'un a une solution. cela me serait d'une grande utilité.
Private Sub CmdAjout_Click()
Do
If Not IsNull(Me.date) Then
DoCmd.RunSQL "INSERT INTO DetailAction (DateAction, LibelleAction, CodeCat, CodeConseiller, IdCreateur, IdMarraine, CodeDispositif, Duree) VALUES ('" & Me.date & "','" & Me.libelle & "','" & Me.CodeCat & "','" & Me.idconseiller & "','" & Me.IdCreateur & "','" & Me.IdMarraine & "','" & Me.CodeDispositif & "', '" & Me.Duree & "')"
End If
rep1 = MsgBox("Enregistrement effectué. Voulez-vous continuer ?", vbCritical + vbYesNo + 0, "Attention")
If rep1 = vbYes Then
Me.date.Value = Null
Me.libelle.Value = Null
Me.CodeCat.Value = Null
Me.idconseiller.Value = Null
Me.IdCreateur.Value = Null
Me.IdMarraine.Value = Null
Me.CodeDispositif.Value = Null
Me.Duree.Value = Null
End If
Loop Until (rep1 = vbNo)
On Error GoTo Err_CmdAjout_Click
DoCmd.GoToRecord , , acNewRec
Exit_CmdAjout_Click:
Exit Sub
Err_CmdAjout_Click:
MsgBox Err.Description
Resume Exit_CmdAjout_Click
End Sub
J'ai un petit problème. Je vous explique la situation. J'ajoute des données saisies dans un formulaire dans ma base de donnée grâce à un petit bout de code en VBA. Et ensuite je demande à lutilisateur s'il veut continuer (donc resaisir et réajouter une ligne) mais lorsque qu'il fait oui, les zones de texte a saisir sont bien vide mais il demande tout de suite si je veux continuer, je nai pas le temps de saisir.
Voici mon code très simple, si quelqu'un a une solution. cela me serait d'une grande utilité.
Private Sub CmdAjout_Click()
Do
If Not IsNull(Me.date) Then
DoCmd.RunSQL "INSERT INTO DetailAction (DateAction, LibelleAction, CodeCat, CodeConseiller, IdCreateur, IdMarraine, CodeDispositif, Duree) VALUES ('" & Me.date & "','" & Me.libelle & "','" & Me.CodeCat & "','" & Me.idconseiller & "','" & Me.IdCreateur & "','" & Me.IdMarraine & "','" & Me.CodeDispositif & "', '" & Me.Duree & "')"
End If
rep1 = MsgBox("Enregistrement effectué. Voulez-vous continuer ?", vbCritical + vbYesNo + 0, "Attention")
If rep1 = vbYes Then
Me.date.Value = Null
Me.libelle.Value = Null
Me.CodeCat.Value = Null
Me.idconseiller.Value = Null
Me.IdCreateur.Value = Null
Me.IdMarraine.Value = Null
Me.CodeDispositif.Value = Null
Me.Duree.Value = Null
End If
Loop Until (rep1 = vbNo)
On Error GoTo Err_CmdAjout_Click
DoCmd.GoToRecord , , acNewRec
Exit_CmdAjout_Click:
Exit Sub
Err_CmdAjout_Click:
MsgBox Err.Description
Resume Exit_CmdAjout_Click
End Sub
7 réponses
Oui il est sur un bouton. Mais comment je fais si je veux que l'utilisateur peut continuer a rentré des données ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Ben une fois qu'on lui a demandé s'il veut réentrer des données, on efface les champs et on sort de la procédure.
Un fois qu'on rappuyera sur le bouton, il va insérer avec DoCmd.RunSQL et redemander si l'on souhaite faire encore un ajout et ainsi de suite.
Un fois qu'on rappuyera sur le bouton, il va insérer avec DoCmd.RunSQL et redemander si l'on souhaite faire encore un ajout et ainsi de suite.