CYCY07
Messages postés67Date d'inscriptionjeudi 19 mai 2011StatutMembreDernière intervention22 mai 2006
-
19 août 2005 à 15:02
CYCY07
Messages postés67Date d'inscriptionjeudi 19 mai 2011StatutMembreDernière intervention22 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
Molenn
Messages postés797Date d'inscriptionmardi 7 juin 2005StatutMembreDernière intervention23 février 20117 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
CYCY07
Messages postés67Date d'inscriptionjeudi 19 mai 2011StatutMembreDernière intervention22 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...
CYCY07
Messages postés67Date d'inscriptionjeudi 19 mai 2011StatutMembreDernière intervention22 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...
Vous n’avez pas trouvé la réponse que vous recherchez ?
CYCY07
Messages postés67Date d'inscriptionjeudi 19 mai 2011StatutMembreDernière intervention22 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