Bonjour à tous.
J'ai depuis deux jours un problème que je n'arrive pas à résoudre.
J'ai un formulaire avec un sous formulaire SForm dont la source change en fonction de différents boutons.
Par exemple sur le Bouton Cmd1 j'aurai:J'ai donc bien l'affichage de mon formulaire.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 Private Sub Cmd1_Click() On Error GoTo Err_Commande Dim stDocName As String stDocName = "Frm_XXX" Form_Frm_Prncipal.SForm.SourceObject = stDocName Exit_Cmd1_Click: Exit Sub Err_Commande: MsgBox err.Description Resume Exit_Cmd1_Click End Sub
Maintenant je veux que ce formulaire s'ouvre sur un nouvel enregistrement.
Cela m'ajoute bien un enregistrement. Mon problème est que mon incrémentation automatique augmente de 2 au lieu de 1.
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 Cmd1_Click() On Error GoTo Err_Commande Dim stDocName As String stDocName = "Frm_XXX" With Form_Frm_Principal.SForm .SourceObject = stDocName .SForm.Form.Recordset.AddNew End With Exit_Cmd1_Click: Exit Sub Err_Commande: MsgBox err.Description Resume Exit_Cmd1_Click End Sub
Je passe donc d'un N° 450 à 452 à 454 etc....Et je n'ai dans la table aucun enregistrement entre les deux. Comme si l'enregistrement avait été créé puis supprimé.
J'ai essayé de remplacerpar
Code : Sélectionner tout - Visualiser dans une fenêtre à part Form_Frm_Principal.SForm.Form.Recordset.AddNew. Ca me dit que l'objet n'est pas ouvert, alors que je le vois.
Code : Sélectionner tout - Visualiser dans une fenêtre à part DoCmd.GoToRecord , stDocName, acNewRec
Merci donc à ceux qui pourraient me donner une piste. J'ai manifestement une erreur de conception. C'est peut-être tout bête, mais je ne vois pas.
Partager