Trois liste dependantes urgent :-)
seblekiller_oupas
Messages postés
397
Date d'inscription
Statut
Membre
Dernière intervention
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour,
j'ai trois listes deroulantes dependantes.
voici le code que j'ai mis:
Dim StrSql As String
'MsgBox Modi1.Value
StrSql = StrSql + "SELECT * FROM Contacts WHERE NomSociete = '" & Modi1.Value & "';"
Modi2.RowSource = StrSql
Modi2.Requery
End Sub
Private Sub Modi2_Change()
Dim StrSql As String
'MsgBox Modi1.Value
StrSql = StrSql + "SELECT num_machine FROM Requete_entier WHERE NomSociete = '" & Modi1.Value & "' and "
StrSql = StrSql + " Ref_contact ='" & Modi2.Value & "';"
Modi3.RowSource = StrSql
Modi3.Requery
End Sub
Private Sub Modi3_Change()
Me.Form_Requete_entier.Visible = True
End Sub
Private Sub Form_Open(Cancel As Integer)
Me.Form_Requete_entier.Visible = False
End Sub
demandez moi plus d'explication si vous avez besoin mais c'est la derniere etape de ma base donc merci
j'ai trois listes deroulantes dependantes.
voici le code que j'ai mis:
Dim StrSql As String
'MsgBox Modi1.Value
StrSql = StrSql + "SELECT * FROM Contacts WHERE NomSociete = '" & Modi1.Value & "';"
Modi2.RowSource = StrSql
Modi2.Requery
End Sub
Private Sub Modi2_Change()
Dim StrSql As String
'MsgBox Modi1.Value
StrSql = StrSql + "SELECT num_machine FROM Requete_entier WHERE NomSociete = '" & Modi1.Value & "' and "
StrSql = StrSql + " Ref_contact ='" & Modi2.Value & "';"
Modi3.RowSource = StrSql
Modi3.Requery
End Sub
Private Sub Modi3_Change()
Me.Form_Requete_entier.Visible = True
End Sub
Private Sub Form_Open(Cancel As Integer)
Me.Form_Requete_entier.Visible = False
End Sub
demandez moi plus d'explication si vous avez besoin mais c'est la derniere etape de ma base donc merci
A voir également:
- Trois liste dependantes urgent :-)
- Liste déroulante excel - Guide
- Liste déroulante en cascade - Guide
- Liste code ascii - Guide
- Site dangereux liste - Guide
- Liste site streaming illégal - Accueil - Services en ligne
24 réponses
re :
1.) Tu pointe la table et tu l'ouvre en modification
2.) Tu sélectionne le champs date ciblé
Dans la section du bas [ Propriétés du champ ].
3.) Tu clique sur le bouton de 3 points [...] au bout du Masque de saisie
4.) Tu choisi le format abrégé qui correspond à celui de windows
En fait, il s'agit de synchroniser le format de windows et de access.
@+
Lupin
1.) Tu pointe la table et tu l'ouvre en modification
2.) Tu sélectionne le champs date ciblé
Dans la section du bas [ Propriétés du champ ].
3.) Tu clique sur le bouton de 3 points [...] au bout du Masque de saisie
4.) Tu choisi le format abrégé qui correspond à celui de windows
En fait, il s'agit de synchroniser le format de windows et de access.
@+
Lupin
Salut seblekiller,
Alors sur mon poste, les choix de dates fonctionnent très bien.
Les date sont affiché au format : aaaa-mm-jj , comme dans les options régionales de windows.
J'ai même testé en modifiant le format de date dans les options régionales -> jj/mm/aaaa
et ça fonctionne, les format afficher dans les listes déroulantes reflête la modification sous
windows.
Ce qui m'embête dans tout ça, c'est que tu m'as dit en message 38 :
" ... en configuration francais soit dd/MM/yyyy ... "
Aurais-tu par hasard, une version anglaise de Windows ?
Aurais-tu par hasard, une version anglaise de Access ?
Si l'une de ces réponses est OUI, le problème pourrait venir de là ?
Lupin
Alors sur mon poste, les choix de dates fonctionnent très bien.
Les date sont affiché au format : aaaa-mm-jj , comme dans les options régionales de windows.
J'ai même testé en modifiant le format de date dans les options régionales -> jj/mm/aaaa
et ça fonctionne, les format afficher dans les listes déroulantes reflête la modification sous
windows.
Ce qui m'embête dans tout ça, c'est que tu m'as dit en message 38 :
" ... en configuration francais soit dd/MM/yyyy ... "
Aurais-tu par hasard, une version anglaise de Windows ?
Aurais-tu par hasard, une version anglaise de Access ?
Si l'une de ces réponses est OUI, le problème pourrait venir de là ?
Lupin
Ah oui j'oubliais ce detail: en fait mon pc a une version anglaise de xp professionnal et effectivement le pb peut provenir de la
En revanche, on m'a propose un truc, c'est d'ecrire :
Critere1 = CStr(CLng(Int(Me.date_debut)))
en lieu et place de ce que tu m'avais dit donc j'aimerais savoir ce que tu en penses, si tu as deja vu ca....
En revanche, on m'a propose un truc, c'est d'ecrire :
Critere1 = CStr(CLng(Int(Me.date_debut)))
en lieu et place de ce que tu m'avais dit donc j'aimerais savoir ce que tu en penses, si tu as deja vu ca....
re :
Oui, j'ai même déjà utilisé ce genre de stratagème pour contourner des problèmes de dates
dans un langage propriétaire.
J'ai toutefois quelques réserve quand à la structure de l'instruction :
Critere1 = CStr(CLng(Int(Me.date_debut)))
Int(Me.date_debut) -> si le champs est au format date, cela renvoie un date en numéro de série
(CLng(Int(Me.date_debut)) -> Ici, je ne comprends pas pourquoi effectuer une conversion en Integer
............................................pour ensuite reconvertir en type Long
Pourquoi pas :
(CLng(Me.date_debut)) ? -> Je n'ai pas testé !!!
et pour completer, une reconversion en String
CStr(CLng(Int(Me.date_debut)))
Dans mon langage propriétaire, il y a un problème de date dans le noyau de l'application dont nous ne
possèdons pas la licence pour modifier ce noyau, alors j'ai convertie mes champs en String, et je
les traite tout le long en string, bien sur j'ai du créer quelques fonctions d'addition/soustraction
de date, mais ça fonctionne :-)
Il y a aussi peut-être une autre option, celle de travailler avec l'instruction [ Format ]
Toutefois, n'ayant jamais travaillé avec Windows anglais ...
Critere1 = Format((Me.date_debut, "dd-mm-yyyy")
Critere1 = Format((Me.date_debut, "yyyy-mm-dd")
Critere1 = Format((Me.date_debut, "mm--dd-yyyy")
Critere1 = Format((Me.date_debut, "jj-mm-aaaa")
Critere1 = Format((Me.date_debut, "aaaa-mm-jj")
Critere1 = Format((Me.date_debut, "mm--jj-aaaa")
Je crois bien, que la souces du problème est décelé, reste a trouver la soluce idéal.
@+
Lupin
Oui, j'ai même déjà utilisé ce genre de stratagème pour contourner des problèmes de dates
dans un langage propriétaire.
J'ai toutefois quelques réserve quand à la structure de l'instruction :
Critere1 = CStr(CLng(Int(Me.date_debut)))
Int(Me.date_debut) -> si le champs est au format date, cela renvoie un date en numéro de série
(CLng(Int(Me.date_debut)) -> Ici, je ne comprends pas pourquoi effectuer une conversion en Integer
............................................pour ensuite reconvertir en type Long
Pourquoi pas :
(CLng(Me.date_debut)) ? -> Je n'ai pas testé !!!
et pour completer, une reconversion en String
CStr(CLng(Int(Me.date_debut)))
Dans mon langage propriétaire, il y a un problème de date dans le noyau de l'application dont nous ne
possèdons pas la licence pour modifier ce noyau, alors j'ai convertie mes champs en String, et je
les traite tout le long en string, bien sur j'ai du créer quelques fonctions d'addition/soustraction
de date, mais ça fonctionne :-)
Il y a aussi peut-être une autre option, celle de travailler avec l'instruction [ Format ]
Toutefois, n'ayant jamais travaillé avec Windows anglais ...
Critere1 = Format((Me.date_debut, "dd-mm-yyyy")
Critere1 = Format((Me.date_debut, "yyyy-mm-dd")
Critere1 = Format((Me.date_debut, "mm--dd-yyyy")
Critere1 = Format((Me.date_debut, "jj-mm-aaaa")
Critere1 = Format((Me.date_debut, "aaaa-mm-jj")
Critere1 = Format((Me.date_debut, "mm--jj-aaaa")
Je crois bien, que la souces du problème est décelé, reste a trouver la soluce idéal.
@+
Lupin
Si la source du probleme est decelee et que ce n'est que ca, ca me rassure, au moins ce n'est pas entierement de ma faute!!!!! :-) cooool
En revanche toute l'explication me fait penser un petit peu a du russe, c'est a dire que je ne comprend que quelques mots et c'est tout!!!
n'ayant vraiment pas beaucoup creuse la question en SQL ou VB, tout ceux qui est string, integer, Long m'est etranger car j'arrive a faire l'analogie de temps en temps avec le langage C mais ca me parait quand meme bien flou!!!!
voila en tout cas j'aurais peu etre encore deux trois questions apres!!!!
merci quand meme j'essaie ca!
En revanche toute l'explication me fait penser un petit peu a du russe, c'est a dire que je ne comprend que quelques mots et c'est tout!!!
n'ayant vraiment pas beaucoup creuse la question en SQL ou VB, tout ceux qui est string, integer, Long m'est etranger car j'arrive a faire l'analogie de temps en temps avec le langage C mais ca me parait quand meme bien flou!!!!
voila en tout cas j'aurais peu etre encore deux trois questions apres!!!!
merci quand meme j'essaie ca!
P.S
j'ai essaye ta methode, elle fonctionne tres bien aussi donc je l'ai adoptee
autre interrogation comment ajuster automatiquement une fenetre??? (pour le resultat ce ces 2 boutons )
et sur le principe pour les liste dependantes, en gros si j'ai 7 listes, est-ce la premiere depend de la deuxieme qui depend de la troisieme......jusqu'ua la septieme ????? enfin sur le principe theorique quoi????
j'ai essaye ta methode, elle fonctionne tres bien aussi donc je l'ai adoptee
autre interrogation comment ajuster automatiquement une fenetre??? (pour le resultat ce ces 2 boutons )
et sur le principe pour les liste dependantes, en gros si j'ai 7 listes, est-ce la premiere depend de la deuxieme qui depend de la troisieme......jusqu'ua la septieme ????? enfin sur le principe theorique quoi????
re :
Pour la fenêtre, tu peux utiliser ces paramètres :
Ici, en exmple je fais afficher leur valeurs :
Et pour les dépendances je dirais que c'est l'inverse.
La septième depend de la sixième et le sixième dépend de la cinquième...
Lorsque que tu selcetionne un choix dans la première, la deuxième devrait fournir une
liste qui dépend de la première et ainsi de suite.
@+
Lupin
Pour la fenêtre, tu peux utiliser ces paramètres :
Ici, en exmple je fais afficher leur valeurs :
Private Sub Form_Load() Dim strTexte As String strTexte = "Hauteur : " & Me.WindowHeight & vbLf strTexte = strTexte & "Largeur : " & Me.WindowWidth & vbLf strTexte = strTexte & "Haut : " & Me.WindowTop & vbLf strTexte = strTexte & "Gauche : " & Me.WindowLeft MsgBox strTexte End Sub '
Et pour les dépendances je dirais que c'est l'inverse.
La septième depend de la sixième et le sixième dépend de la cinquième...
Lorsque que tu selcetionne un choix dans la première, la deuxième devrait fournir une
liste qui dépend de la première et ainsi de suite.
@+
Lupin
ce sera peut etre plus clair la !