Trois liste dependantes urgent :-)

Fermé
seblekiller_oupas Messages postés 397 Date d'inscription jeudi 17 avril 2008 Statut Membre Dernière intervention 13 juin 2008 - 23 mai 2008 à 11:10
 Utilisateur anonyme - 10 juin 2008 à 19:30
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

24 réponses

Utilisateur anonyme
9 juin 2008 à 17:36
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 jeudi 17 avril 2008 Statut Membre Dernière intervention 13 juin 2008 5
10 juin 2008 à 08:42
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 jeudi 17 avril 2008 Statut Membre Dernière intervention 13 juin 2008 5 > seblekiller_oupas Messages postés 397 Date d'inscription jeudi 17 avril 2008 Statut Membre Dernière intervention 13 juin 2008
10 juin 2008 à 09:04
https://www.cjoint.com/?gkjdPIZ3KJ

ce sera peut etre plus clair la !
0
Utilisateur anonyme
10 juin 2008 à 13:22
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 jeudi 17 avril 2008 Statut Membre Dernière intervention 13 juin 2008 5
10 juin 2008 à 13:39
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
10 juin 2008 à 14:20
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 jeudi 17 avril 2008 Statut Membre Dernière intervention 13 juin 2008 5
10 juin 2008 à 14:45
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 jeudi 17 avril 2008 Statut Membre Dernière intervention 13 juin 2008 5 > seblekiller_oupas Messages postés 397 Date d'inscription jeudi 17 avril 2008 Statut Membre Dernière intervention 13 juin 2008
10 juin 2008 à 16:48
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
10 juin 2008 à 19:30
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