Ouverture formulaire à partir d'une combobox
thomas3511
-
thomas3511 -
thomas3511 -
Bonjour,
(sous ACCESS)
J'ai une liste de projets, lesquels sont définis par un code projet (champ "N_AFFAIRE") et un titre de projet (champ "INTITUL_" ). J'ai créé une combobox me permettant de sélectionner le projet surlequel je souhaite travailler, les 2 champs de la combobox (nommée combo163) étant les codes et titres des projets. L'action que je souhaite réaliser en cliquant sur l'un des projets est l'ouverture du formulaire correspondant au projet (il en existe un pour chaque projet présent dans la liste).
Le problème ne doit pas être très compliqué mais je ne m'y connais pas du tout en VBA. Il existait déja une combobox nommée combo3 (avec un seul champs "N_AFFAIR" qui me permettait déjà d'ouvrir le formulaire correspondant au projet correspondant.
Voici le code VBA associé :
Private Sub Combo3_AfterUpdate()
DoCmd.OpenForm "form_type projet1", , , "N_AFFAIRE = '" & Combo3 & "'"
Combo3 = ""
End Sub
Private Sub Combo3_BeforeUpdate(Cancel As Integer)
End Sub
Private Sub Combo3_GotFocus()
DoCmd.Requery "Combo3"
End Sub
Voilà, quelles seraient donc les modifications à apporter à ce code pour obtenir le résultat souhaité??
J'espère avoir été assez clair...
Merci d'avance pour les futures réponses.
Thomas
(sous ACCESS)
J'ai une liste de projets, lesquels sont définis par un code projet (champ "N_AFFAIRE") et un titre de projet (champ "INTITUL_" ). J'ai créé une combobox me permettant de sélectionner le projet surlequel je souhaite travailler, les 2 champs de la combobox (nommée combo163) étant les codes et titres des projets. L'action que je souhaite réaliser en cliquant sur l'un des projets est l'ouverture du formulaire correspondant au projet (il en existe un pour chaque projet présent dans la liste).
Le problème ne doit pas être très compliqué mais je ne m'y connais pas du tout en VBA. Il existait déja une combobox nommée combo3 (avec un seul champs "N_AFFAIR" qui me permettait déjà d'ouvrir le formulaire correspondant au projet correspondant.
Voici le code VBA associé :
Private Sub Combo3_AfterUpdate()
DoCmd.OpenForm "form_type projet1", , , "N_AFFAIRE = '" & Combo3 & "'"
Combo3 = ""
End Sub
Private Sub Combo3_BeforeUpdate(Cancel As Integer)
End Sub
Private Sub Combo3_GotFocus()
DoCmd.Requery "Combo3"
End Sub
Voilà, quelles seraient donc les modifications à apporter à ce code pour obtenir le résultat souhaité??
J'espère avoir été assez clair...
Merci d'avance pour les futures réponses.
Thomas
A voir également:
- Ouverture formulaire à partir d'une combobox
- Whatsapp formulaire opposition - Guide
- Formulaire de réclamation facebook compte désactivé - Guide
- Creer un groupe whatsapp a partir d'un autre groupe - Guide
- Comment faire une recherche à partir d'une photo - Guide
- Créer une icone à partir d'une image - Guide
1 réponse
Hello Thomas
Le plus simple:
Tu défini ta combo comme cela:
Row Source Type: Value list
Column counts: 2
Row Source: "monFormulaire1";"Ouvrir mon premier formulaire";"monFormulaire2";"Ouvrir mon second formulaire"
Column widths: 0cm
désolé, j'ai Access en anglais, mais tu devrais trouver les champs correspondants.
En gros, tu dis que tu veux prendre les données de ta combo dans une liste, liste qui a 2 colonnes. Tu remplis la liste avec en alternance le nom de tes formulaires puis le texte que tu veux voir dans ta combo.
Finalement, tu demandes de cacher la première colonne (celle qui contient le nom des formulaires) en mettant 0 cm pour la largeur de la première colonne.
Une fois que c'est fait le code revient à sa plus simple expression:
Le plus simple:
Tu défini ta combo comme cela:
Row Source Type: Value list
Column counts: 2
Row Source: "monFormulaire1";"Ouvrir mon premier formulaire";"monFormulaire2";"Ouvrir mon second formulaire"
Column widths: 0cm
désolé, j'ai Access en anglais, mais tu devrais trouver les champs correspondants.
En gros, tu dis que tu veux prendre les données de ta combo dans une liste, liste qui a 2 colonnes. Tu remplis la liste avec en alternance le nom de tes formulaires puis le texte que tu veux voir dans ta combo.
Finalement, tu demandes de cacher la première colonne (celle qui contient le nom des formulaires) en mettant 0 cm pour la largeur de la première colonne.
Une fois que c'est fait le code revient à sa plus simple expression:
Private Sub maCombo_Change()
DoCmd.OpenForm Me.ActiveControl
End Sub
Le problème c'est que j'ai plus d'une centaine de projets dans ma base... La solution me parait un peu lourde non?
Tchüss