Bonjour à tous,
J'ai un gros problème de plantage d'Access, a cause d'un formulaire !?
Ce formulaire est basé sur une table "Tbl Opérations", et contient un sous-formulaire lié par "NumOP".
J'ai créé une liste déroulante modifiable "ListeOP", qui "After update" va positionner l'enregistrement sur "NumOP" trouvé.
Dans cette liste on peut saisir un nouveau numéro et sur l'évènement "NotInList" créé un nouvel enregistrement dans "Tbl Opérations", par une requête ajout !
Et c'est après qu'intervient le soucis de plantage !
Voici mes proc :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 Private Sub ListeOP_AfterUpdate() ValOP = Me.ListeOP.Value ' Rechercher l'enregistrement correspondant au contrôle. Dim Rs As Object Set Rs = Me.Form.RecordsetClone Rs.FindFirst "[NumOP]= '" & ValOP & "'" If Not Rs.EOF Then Me.Form.Bookmark = Rs.Bookmark Rs.Close: Set Rs = Nothing End SubQuand je fais : Me.Form.Requery, pour actualiser mon formulaire avec la nouvelle valeur ! CA PLANTE ! Mais vraiment sérieux !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 Private Sub ListeOP_NotInList(NewData As String, Response As Integer) If MsgBox("Ce numéro d'Affaire n'existe pas" & vbCrLf _ & "Voulez-vous le créer ?", vbQuestion + vbYesNo, "Question ?") = vbYes Then ' Si la réponse est oui on créé la nouvelle Affaire strSQL1 = "INSERT INTO [Tbl Operations] ( NumOP ) " strSQL2 = "SELECT '" & NewData & "' ;" DoCmd.SetWarnings (False): DoCmd.RunSQL (strSQL1 + strSQL2): DoCmd.SetWarnings (True) DoCmd.OpenForm "XFrm AjoutOP", acNormal, , "[NumOP]= '" & NewData & "'", acFormEdit, acDialog ' On empèche l'erreur Response = acDataErrAdded Me.ListeOP.Value = NewData Me.Form.Requery Else Response = acDataErrContinue End If End Sub
Je ne comprends pas !
Quelqu'un à une idée !?
Cordialement.
Merci d'utiliser des titres explicites (ancien titre : Gros problème ...) | cafeine
Partager