charly2812
Messages postés37Date d'inscriptionmercredi 1 mars 2006StatutMembreDernière intervention22 mai 2008
-
20 mars 2008 à 16:16
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 2021
-
21 mars 2008 à 09:05
Bonjour,
j'ai un petit problème!!
j'explique mon environement:
une table-1 avec un ID-1 et un libellé-1
une table-2 avec un ID-2, un libellé-2 et un ID-1 (celui de la table1)
j'ai un formulaire avec 2 modifiable (listbox).
modifiable-1 qui affiche le libellé-1
modifiable-2 qui affiche le libellé-2
j'aimerais que quand je clic et choisit qqchose dans modifiable-1 la liste des choix dans modifiable-2 soit restreint en fonction du choix du modifiable-1, cad afficher que les libellés-2 dont l'ID-1 (associé) est égal à l'ID-1 choisit dans le modifibale-1.
Kristof_Koder
Messages postés918Date d'inscriptionvendredi 3 août 2007StatutMembreDernière intervention27 octobre 200810 20 mars 2008 à 16:31
lors de la séleiton d'un item dans une liste, tu as un évènement qui se déclenche. Je ne me souviens plus de son nom mais ca doit être un truc du genre ItemSelected ou SelectionChanged.
Dans cet EVt, tu fais une requète sur ta table-2 en mettant dans la clause Where un truc du genre "WHERE ID-1 = " & modifiable-1.Text.
tu remplis ensuite la liste 2 avec le résultat de la requète en n'oubliant aps de vider la liste modifiable juste avant, bien sûr
charly2812
Messages postés37Date d'inscriptionmercredi 1 mars 2006StatutMembreDernière intervention22 mai 20081 20 mars 2008 à 16:45
Merci de ta réponse rapide,
voila se que j'ai fait:
Sur le modifiable-1 j'ai mis un code vb quand on fait un clic dessus:
Private Sub Modifiable-1_Click()
requete = "Select Table-2.ID-2,Table-2.Libelle-2 from Table-2 where ID-1=" & Modifiable-1.text CurrentDb.Execute (requete)
End Sub
evidemment ca marche pas et je sais pas pourquoi.. je pense que ca vient du fait qu'il ne siat pas ce que veut dire Modifiable-1.text...mais je sais pas comment lui faire comprendre qu'il doitt trouver l'ID-1 puis faire la comparaison pour remplir le modifiable-2...
si qqun a une idée...
merci
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 20 mars 2008 à 17:20
permet de délimiter les noms..
utile quand on utilise des noms exotiques ou reservés.
la présence du signe moins - dans le nom de tes champs en fait des noms "exotiques" ...
je trouve également étrange ce -1 qui se promène derrière Modifiable
VB t'as laissé saisir ca dans le nom de ton controle !?
charly2812
Messages postés37Date d'inscriptionmercredi 1 mars 2006StatutMembreDernière intervention22 mai 20081 20 mars 2008 à 17:23
non, non c'était pour simplifier car j'ai des noms un peu long...avec des underscore pour éviter le problème du -...
mais ca marche toujours pas, je pense que ca vient du fait que quand je fait un modifiable-1.text il retourne pas l'ID-1 mais autre chose et je ne sias pas quoi...
charly2812
Messages postés37Date d'inscriptionmercredi 1 mars 2006StatutMembreDernière intervention22 mai 20081 20 mars 2008 à 17:31
desolé...
voila exactement se que j'ai tapé.
une table Region avec ID-Region et Libelle_Region et ID_Pays
une table Pays avec ID_Pays et libelle_Pays
Un modifiable_Pays
Un modifiable_Region
Je veux que quand je change le pays il me selectionne les regions de ce pays...
je viens de me rendre compte qu'a aucun moment je lui dit de remplir le modifiable_Region....
comment faire???
mercid e ton aide...
Private Sub Modifiable_Pays_Click()
requete = "Select `Region`.`ID_Region`,`Region`.`Libelle_Region` from `Region` where `ID_Pays`=" & Modifiable_Pays.Text
CurrentDb.Execute (requete)
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 21 mars 2008 à 09:05
ben là tu fais un SELECT, c'est cool
mais tu ne fait RIEN des resultats obtenus...
gaffe aussi a bien t'assurer que tu transets bien l'ID_PAYS en mettant Modifiable_Pays.Text
pour les reésultats, te faudrais récupérer un Recordset, en faisant quelque chose qui ressemble à :
Private Sub Modifiable_Pays_Click()
Dim oRs as recordset
Dim sSQL As String
sSQL = "Select `Region`.`ID_Region`,`Region`.`Libelle_Region` from `Region` where `ID_Pays`=" & Modifiable_Pays.Text
Modifiable_Region.Clear
Set oRS = CurrentDb.OpenRecordset(sSQL)
Do Until oRs.EOF
Modifiable_Region.AddItem oRs.Fields("Libelle_Region").Value
oRS.MoveNext
Loop
oRs.Close
End Sub