Ouverture formulaire à partir d'une combobox

Fermé
thomas3511 - 21 avril 2008 à 12:22
 thomas3511 - 21 avril 2008 à 14:27
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

1 réponse

plubarj Messages postés 101 Date d'inscription jeudi 17 avril 2008 Statut Contributeur Dernière intervention 13 octobre 2008 6
21 avril 2008 à 12:56
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:
Private Sub maCombo_Change()
     DoCmd.OpenForm Me.ActiveControl
End Sub

0
Merci.
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?
0
plubarj Messages postés 101 Date d'inscription jeudi 17 avril 2008 Statut Contributeur Dernière intervention 13 octobre 2008 6 > thomas3511
21 avril 2008 à 14:10
Sous quelle forme est ta liste de 'projets' ?
0
thomas3511 > plubarj Messages postés 101 Date d'inscription jeudi 17 avril 2008 Statut Contributeur Dernière intervention 13 octobre 2008
21 avril 2008 à 14:27
Ah c bon j'ai résolu mon problème à l'aide d'une requête access, tout marche comme je le souhaite (à l'aide d'une select query). Merci en tout cas pour cette réponse non fructueuse mais néanmoins ultra rapide !!

Tchüss
0