Requete dans un recordset

Omega15 Messages postés 55 Date d'inscription vendredi 27 août 2004 Statut Membre Dernière intervention 7 septembre 2009 - 7 mars 2005 à 16:24
Omega15 Messages postés 55 Date d'inscription vendredi 27 août 2004 Statut Membre Derniè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.

Merci a tous ceux qui pourront m'aider.

2 réponses

jpleroisse Messages postés 1788 Date d'inscription mardi 7 novembre 2000 Statut Membre Dernière intervention 11 mars 2006 27
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


List1.AddItem adoRecordSet!Date
List1.ItemData(List1.NewIndex) = adoRecordSet!données1
adoRecordSet.MoveNext
Loop
adoRecordSet.Close
adoConnection.Close


Set adoConnection = Nothing
Set adoRecordSet = Nothing
End Sub


Private Sub List1_Click()
Dim msg As String
msg = List1.ItemData(List1.ListIndex) & ""
Text1.Text = msg
End Sub
0
Omega15 Messages postés 55 Date d'inscription vendredi 27 août 2004 Statut Membre Dernière intervention 7 septembre 2009
8 mars 2005 à 10:05
Ca n'as pas l'air d'etre ce donc j'ai besoin, mais je vais essayer.

Merci quand même.
0
Rejoignez-nous