Pb avec liste et sous formulair
seblekiller_oupas Messages postés 397 Statut Membre -
J'ai un tout petit probleme rapide a resoudre:
J'ai dans un formulaire, un sous formulaire
Je choisis ce que j'affiche dans mon sous-formulaire grace a trois liste modifiables dependantes les unes par rapport aux autres
Seulement je n'arrive pas a faire de preselection dans ma derniere liste (je ne sais pas le programmer en fait)
Quelqu'un pourrait-il m'aider car il ne me reste que ca a faire et c'est mega important pour moi
merci bien
Configuration: Windows XP Internet Explorer 6.0
27 réponses
- 1
- 2
Le souci porte sur la préselection dans la dernière liste d’un sous-formulaire, lorsque trois listes modifiables dépendent l’une de l’autre et que l’affichage survient après l’entrée des trois paramètres. Pour y parvenir, le sous-formulaire doit filtrer les enregistrements selon les trois paramètres et se mettre à jour dès la sélection des deux premières listes. D'autres interventions consistent à déclencher un requery ou une actualisation lors du changement de liste pour éviter l'affichage d'un enregistrement précédent. En fonction de la plateforme, la préselection peut nécessiter une initialisation lors du chargement ou l’utilisation de valeurs par défaut dans la dernière liste.
-
je n'arrive pas a faire de preselection
C'est à dire ? tu veux afficher un élément précis de ta liste ?-
Donc en fait j'ai 2 listes ou je selectionne des parametres ( il y a nomsociete et nomcontact) et ca m'affiche la fiche client du contact.
Seulement, le client a plusieurs machines et ca n'ouvre que sur une machine donc j'aimerais faire une 3eme liste ou je pourrais avoir la preselection des machines du client
voila
-
-
C'est donc le résultat d'une requête ... c'est sous Access ? Excel ? VB.NEt ?
-
ok, donc tu dois avoir plusieurs tables, CLIENT, MACHINE etc ... tu dois avoir un lien entre la table CLIENT et la table MACHINE ou plus probable une table intermédiaire (VENTE ou LOCATION par exemple avec les Id des 2 tables):
Il faut une requête style:
"Select Machine From Machine Where ID_Client = " & id
id étant l'identifiant du client issu de la sélection dans les 2 autres listes. Je n'ai pas en tête toutes les propriétés des listBox mais il doit y avoir un truc comme SourceRow. Il faut y mettre la requête.
;o)
-
Ma foi je vais essayer pour lever tes interrogations voila a quoi ressemble mes relations
https://www.cjoint.com/?fhqTi3tBsq-
Jesuis desole mais je dois partir tu peux me repondre quand meme si tu veux
Je mets en plus les codes vb (je crois) qui concerne les 2 premiers listes
Private Sub Modi1_Change()
Dim StrSql As String
'MsgBox Modi1.Value
StrSql = StrSql + "SELECT * FROM Contacts WHERE NomSociete = '" & Modi1.Value & "';"
Modi2.RowSource = StrSql
Modi2.Requery
End Sub
Voila j'ai pas trop compris ou je dois mettre le SourceRow mais c'est tout ce que je peux te donner
Merci de m'aider en tout cas
-
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Eh ben pas très pratique pour en sortir l'info, mais bon, voilà ce que doit donner la requête :
Select Num_machine from Machine where Machine.Num_machine = Intermediare1.Num_Machine _
And Intermédiare1.Ref_formation = Formation.Ref_Formation And _
Formation.NomConctat = Contacts.NomContact And Contacts.NomSociete = Societe. NomSociete _
And Contacts.NomContact = ' " & contact & " ' And Societes.NomSociete = ' " & societe & " ' "
contact et societe son issus de la selection des 2 autres listes.
;o)
-
Merci pour la requete mais aparemment y a quelque chose qui va pas dans le code a partir du 'Where' donc ca ne marche pas encore. Par contre, j'ai compris a quoi tout ca servait et des que ca fonctionnera, ce sera super
- voila Polux31 j'ai vu que tu ete la donc voila ma ptite question:
j'ai essaye pour faire ces fameuses trois liste dependantes et voila le code que j'ai tape:
Private Sub Modi1_Change()
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
A une epoque la preselection se faisait mais maintenant elle ne se fait plus donc es-tu magicien et aurait tu une solution si je te donne plus de details?
-
-
Qu'est-ce qui empêche d'avoir une préselection dans la 3ème liste ?
-
-
-
je viens de jeter un oeil ... la base est pas très net ... c'est une usine à gaz ... avec des relations sur des champs qui ne sont pas des clés primaires ??? il faut d'abord faire le ménage là dedans pour y voir plus clair ... je n'ai pas le temps d'aller plus avant là ... j'ai du taf à finir ... si j'ai le temps je regarde ça la semaine prochaine ... mais c'est pas gagné
;o)
polux -
-
lol tout en haut de la page à droite .... une enveloppe qui clignote ...
;o)
-
En fait je crois qu'il y a un petit probleme je n'arrive pas a ouvrir la base et je crois que c'est parce que je n'ai que access 2000 mais j'ai quand meme recu la base
-
-
je t'ai retourné la base convertie en Access 2000
;o)
-
j'ai vu ca mais je n'arrive toujours pas a l'ouvrir et la je ne vois pas pourquoi
-
tu as koi comme message ?
sinon ouvre Access et ensuite sélectionne la base ... ça va peut être te dire que la base n'est pas compatible et te demander si tu veux l'importer ... tu réponds : oui ... -
Le fichier est portant bien attaché ... le blème c'est qu'il fait plus de 500 ko et qu'il ne passe pas sur cjoint.com ...
Je ne connais pas d'autre site pour passer des fichiers.
:-s -
-
-
je crois pas que je l'ai je regarde et sinon si tu essaie avec ce site?? https://www.hightail.com/
je ne sais absolument pas si ca va marcher
-
-
c'est pour envoyer un mail ce site pas pour mettre un fichier en ligne.
- 1
- 2