Trois liste dependantes urgent :-)

seblekiller_oupas Messages postés 397 Date d'inscription   Statut Membre Dernière intervention   -  
 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
A voir également:

24 réponses

Utilisateur anonyme
 
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
0
seblekiller_oupas Messages postés 397 Date d'inscription   Statut Membre Dernière intervention   5
 
Le probleme c'est que c'est deja dans toutes les tables ca, et que j'ai meme regarde ce que ca faisait de changer le "format", la ligne juste au dessus mais ca ne fonctionnne toujours pas, je ne vois pas ou il travaille en mm/jj/aaaa
0
seblekiller_oupas Messages postés 397 Date d'inscription   Statut Membre Dernière intervention   5 > seblekiller_oupas Messages postés 397 Date d'inscription   Statut Membre Dernière intervention  
 
https://www.cjoint.com/?gkjdPIZ3KJ

ce sera peut etre plus clair la !
0
Utilisateur anonyme
 
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
0
seblekiller_oupas Messages postés 397 Date d'inscription   Statut Membre Dernière intervention   5
 
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....
0
Utilisateur anonyme
 
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
0
seblekiller_oupas Messages postés 397 Date d'inscription   Statut Membre Dernière intervention   5
 
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!
0
seblekiller_oupas Messages postés 397 Date d'inscription   Statut Membre Dernière intervention   5 > seblekiller_oupas Messages postés 397 Date d'inscription   Statut Membre Dernière intervention  
 
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????
0
Utilisateur anonyme
 
re :

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
0