Petit soucis de combo... Help Me please...

CYCY07 Messages postés 67 Date d'inscription jeudi 19 mai 2011 Statut Membre Dernière intervention 22 mai 2006 - 19 août 2005 à 15:02
CYCY07 Messages postés 67 Date d'inscription jeudi 19 mai 2011 Statut Membre Dernière intervention 22 mai 2006 - 19 août 2005 à 18:02
Décidément le SQL n'est pas si simple qu'il ne parait... Voici mon problème :
1. j'ai plusieurs table en access
2. dans une feuille principale sous VB6 j'ai une combobox
J'ai le choix d'un code dans cette combo et lorsqu'on sélectionne ce code, j'aimerais que les deux autres textbox soient complétés directement avec les données de la table 2 dans la principale afin de ne pas encoder plusieurs fois ces renseignements dans le projet...
Mais ce n'est pas si simple que cela...
Merci pour votre aide
Cycy
J'ai essayé plusieurs codes mais ça plante mon projet

5 réponses

Molenn Messages postés 797 Date d'inscription mardi 7 juin 2005 Statut Membre Dernière intervention 23 février 2011 7
19 août 2005 à 15:26
Plusieurs tables en Acces ? Liées entre elles ? Avec une intégrité référentielle pour bien faire ? :)

Le plus simple je trouve, est encore de lier les tables et de créer une requête qui contienne toutes les données qui t'intéressent, directement dans Access.
C'est simple, graphique, parlant, et tu sais tout de suite si elle est bien faite ou non ^^

Donc, table 1 et 2 liées, par une clé primaire quelconque par ex.
TaRequête = les 3 données que tu veux, à savoir le code qui apparait dans la ComboBox et les 2 autres données alimentant tes zones de texte.

Ensuite, dans la procédure click de ta ComboBox, tu rajoutes un bout de code du style :

Private sub ComboBox_click()

'Définition des variables
Dim SQL as String
Dim base as Database
Dim Table as Recordset

'Création de la requête
SQL = ""
SQL = "SELECT * FROM TaRequête WHERE Code=" & ComboBox.text

'Tu laisses comme ça si ton Code est entièrement numérique et le champ déclaré comme tel dans ta base Access, autrement, c'est du texte et la requête devient :
SQL = "SELECT * FROM TaRequête WHERE Code=" & """" & ComboBox.text & """"

Set Base = CurrentDb()
Set Table = Base.OpenRecordset(SQL)
Table.MoveFirst

Zonetexte1.text = Table.Fields("Champ1").Value
Zonetexte2.text = Table.Fields("Champ2").Value

'Fermeture de la table
Table.Close
Set Base = Nothing

End sub

Voilà, c'est toujours une idée que tu peux adapter à ton code.
Mais il y en a plein d'autres, je suis sûre :p

Molenn.
0
doudounico Messages postés 27 Date d'inscription samedi 12 juin 2004 Statut Membre Dernière intervention 4 juin 2006
19 août 2005 à 15:30
As-tu essayé un findfirst ?



Sinon, voila comment je procéderai : je lie les deux textbox à un data sur la table 2

Puis des que le combo change je ferais data1.recordset.findfirst "monchamp ='"+combo1.text+"'"



PS les guillemets simples ' sont nécessaires pour tous les champs contenant du texte (si c'est du long ou int facultatif )
0
CYCY07 Messages postés 67 Date d'inscription jeudi 19 mai 2011 Statut Membre Dernière intervention 22 mai 2006
19 août 2005 à 16:37
J'ai essayé la méthode findfirst qui me semble la plus simple, mais l'autre problème est que quand je sélectionne une donnée dans la combobox il ne la modifie pas dans les textbox même en ajoutant data.refresh...
Puis il faut aussi que ces données soient apparentes dans la DBGrid sinon ce code ne me servira pas à grand chose...
Merci pour votre aide, j'essaye plusieurs possibilités...
L'idée de la requête en access je vais l'essayer aussi...
0
CYCY07 Messages postés 67 Date d'inscription jeudi 19 mai 2011 Statut Membre Dernière intervention 22 mai 2006
19 août 2005 à 16:53
J'ai aussi essayé de modifier les textbox mais rien ne marche et en faisant des recherches sur le net non plus alors j'espère qu'on saura m'aider... Maintenant je vais essayer avec les requêtes access peut etre que ça ira mieux on verra...
Merci pour votre aide c'est cool et ça m'aide aussi même si ce n'est pas tout à fait ce que je recherche...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
CYCY07 Messages postés 67 Date d'inscription jeudi 19 mai 2011 Statut Membre Dernière intervention 22 mai 2006
19 août 2005 à 18:02
Bon j'ai essayé aussi avec la requête en access ça ne va pas non plus, l'enregistrement est indiqué dans les textbox mais quand je change la sélection de la combo, il me laisse toujours le premier enregistrement ... C'est spécial j'espère que qqun saura m'aider car je désespère là surtout que ce projet doit vite etre fini pffffffff
0
Rejoignez-nous