Bonjour à tous,
Bon malgré la mine d'informations en or que constitue ce forum... impossible de résoudre mon problème.
Aussi je me permets de vous le soumettre.
Tout d'abord je vous explique le contexte :
Sous Access 2007 j'ai donc un formulaire principal nommé "Structures"
Celui-ci contient deux sous-formulaire :
- "Liste structures" en volet gauche qui me permet d'avoir la liste des structure et de consulter la fiche en cliquant sur un nom
- "Consultation structure" qui affiche les information relatives à la structure sélectionnée
Le formulaire "Consultation structure" contient notamment un bouton "Nouvelle structure"
Le clic sur celui-ci ouvre un formulaire "Modification structure" sur une nouvel enregistrement en mode fenêtre de dialogue
Le formulaire "Modification structure" contient notamment un bouton permettant d'enregistrer le nouvel enregistrement puis de fermer la fenêtre de dialogue "Modification structure"
Jusqu'ici tout fonctionne.
Ce qui ne fonctionne pas, c'est que je voudrais que lorsque le formulaire "Modification structure" se ferme :
- le formulaire "Consultation structure" affiche le dernier enregistrement (donc celui qui vient d'être créé)
- le focus se fasse sur la combobox "txtRecherche" du formulaire "Liste structures"
Voici le code du formulaire "Modification structure"
le code de "Consultation structure"
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
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48 Private Sub cmdSauvegarderFermer_Click() Dim strAuteurCreation As String Dim strIDContactcourant As String Dim strINSEE As String Dim frmConsult As Form Dim frmListe As Form Dim frmModif As Form Set frmConsult = Forms("Structures").Controls("Consultation structure").Form Set frmListe = Forms("Structures").Controls("Liste Structures").Form Set frmModif = Forms("Modification structure").Form ' Si il y a eu des modifications dans le formulaire If Me.Dirty Then ' On créé l'ID_CONTACT If IsNull(Me![txtID_CONTACT].Value) Then strIDContactcourant = "" Else strIDContactcourant = Me![txtID_CONTACT].Value End If If IsNull(Me![txtINSEE].Value) Then strINSEE = "" Else strINSEE = Me![txtINSEE].Value End If Call AttribuerIDContact(Me, strIDContactcourant, strINSEE) ' On enregistre l'auteur et la date de création ou de mise à jour If IsNull(Me![AUTEUR_CREATION].Value) Then strAuteurCreation = "" Else strAuteurCreation = Me![AUTEUR_CREATION] End If Call MiseAJour(Me, strAuteurCreation) DoCmd.RunCommand acCmdSaveRecord frmConsult.Requery frmListe.Requery DoCmd.Close acForm, "Modification structure" frmConsult.GoToLastRecordConsult End If frmListe.FocusSurRecherche End Sub
et le code de "Liste structure"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Public Sub GoToLastRecordConsult() DoCmd.GoToRecord , , acLast End Sub
Je n'ai aucun message d'erreur mais le formulaire "Consultation structure" n'est pas sur le dernier enregistrement et le focus n'est pas sur "txtRecherche".
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Public Sub FocusSurRecherche() Me.txtRecherche.SetFocus End Sub
Espérant avoir été clair...
Une aide serait vraiment la bienvenue car je n'ai plus beaucoup de cheveux!
MERCI ENORMEMENT D'AVANCE!!!
Partager