Omega15
Messages postés55Date d'inscriptionvendredi 27 août 2004StatutMembreDernière intervention 7 septembre 2009
-
7 mars 2005 à 16:24
Omega15
Messages postés55Date d'inscriptionvendredi 27 août 2004StatutMembreDernière intervention 7 septembre 2009
-
8 mars 2005 à 10:05
Bonjour,
Mon probleme repose sur la requete que je veut appeller.
Je vous explique, j'ai 2 base de données access
- BDTRAV qui contient la table fournisseur avec les champ code,nom,....
-BDMAGASIN qui contient la table BonR avec les champs codefournisseur,.........
Dans la 1ere base j'ai tous les fournisseurs nom + code
et dans la 2eme j'ai une liste de fournisseurs utilisé pour le logiciel ou il n'y a que le code du fournisseur.
Voici les requetes que j'appelle :
dim adonom as recordset
dim adocode as recordset
'Je selectionne d'abord tous les fournisseur en les classant par nom
set adofour=bdtrav.execute ("SELECT codeFROM Fournisseur ORDER BY Nom ;")
'Pour chaque fournisseur
do while not adofour.eof=true
'Si le code fournisseur existe dans la 2eme base alors j'affiche le nom du fournisseur
..
..
loop
Ma question est :
comment faire pour eviter tous cela et ne faire qu'une seule requete mais dans laquelle on fait appelle a une autre base de donnée.
un peu de ce genre.
dim adofournisseur as recordset
set adofournisseur=bdtrav.execute ("SELECT nom FROM fournisseur WHERE code IN (SELECT codefournisseur FROM bdmagasin.bonR ) ;")
C'est ce qui est en rouge que je n'arrive pas a faire, appeller une autre base.
jpleroisse
Messages postés1788Date d'inscriptionmardi 7 novembre 2000StatutMembreDernière intervention11 mars 200627 7 mars 2005 à 17:15
Pour éviter tous ces ennuis de requêttes et compagnies, j'utlise cette méthode.Je place toutes mes données dans une seule table.
Je place un ListBox (où un combobox) et un textBox. je clique sur un n° dans la listBox et le nom correspondant apparaît dans le textBox.
En tous cas si cette méthode t'intéresse voici le code.
Option Explicit
Private Sub Form_Load()
Dim adoConnection As ADODB.Connection
Dim adoRecordSet As ADODB.Recordset
Set adoConnection = New ADODB.Connection
Set adoRecordSet = New ADODB.Recordset
Dim ConnectionString As StringConnectionString "Provider Microsoft.Jet.OLEDB.3.51;" & " Data Source = C:\Mes Documents\bd1.mdb"
adoConnection.Open ConnectionString
adoRecordSet.Open "Table1", adoConnection
Do Until adoRecordSet.EOF