begin process at 2012 02 14 20:46:23
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Visual Basic & VB.NET

 > 

Archives Visual Basic

 > 

VBA

 > 

Recordset sur deux table


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Recordset sur deux table

dimanche 24 juillet 2005 à 22:56:21 | Recordset sur deux table

tombal

Bonjour,
Voila j'utilise du DAO pour ouvrir des enregistrement et donc un recordset comme ceci

Set db1 = DBEngine.OpenDatabase("c:\fichier.mdb")
sql1 = "SELECT  FROM TStock;"
Set record1 = db1.OpenRecordset(sql1, dbOpenDynaset)

Ca ne pose pas de probleme si toute les table que je veux utiliser se trouve dans le meme fichier (ici c:\fichier.mdb)

Par contre parfois je voudrais creer une requete sql mettant en jeux plusieures table de plusieur fichier
Comment doit'je faire ???

par exemple :
TStock est dans le fichier c:\fichier.mdb
TInventaire est dans le fichier c:\fichier2.mdb
Comment doit'je faire pour creer un recodset qui pourrais m'afficher une liaison entre les deux (avec des inner join dans le sql)

Merci d'avance
dimanche 24 juillet 2005 à 23:17:04 | Re : Recordset sur deux table

Zlub

Membre Club


Salut,


Premiere idée qui me viens :

Set db1 = DBEngine.OpenDatabase("c:\fichier.mdb")
sql1 = "SELECT * FROM TStock;"
Set rst1= db1.OpenRecordset(sql1, dbOpenDynaset)

dim max1 as integer
max = rst1.RecordCount
For i=1 to max1

    Set db2 = DBEngine.OpenDatabase("c:\fichier2.mdb")
    sql2 = "SELECT *  FROM TInventaire WHERE TInventaire.StockID=" & rst1("idStock")
    Set record2 = db2.OpenRecordset(sql2, dbOpenDynaset)

    Dim max2 as Integer
    max2 = rst2.RecordCount
    For j=1 to max2
         
        ' Traitement de tes infos ...

    Next J
    rst2.Close
    db2.Close

Next i
rst1.Close
db1.Close

Sinon tu peux te répliquer les infos dans une même base à chaque fois que tu en as besoin (par exmple importer les infos de fichier2 vers fichier1) mais  tu va consommer du temps et de l'espace disque...donc pas viable... Sinon fusionner directement tes tables dans une base unique et travailler tout le temps avec une unique base ... Vu que j'ignore pourquoi tes données sont éclatées dans deux bases, je ne peux pas trancher...

En esperant avoir répondu à ta question... J'ai pas testé ce code, donc faut faire les déclarations d'usage, voir le corriger... c'est plus le principe qui est presenté ...


++

Zlub

dimanche 24 juillet 2005 à 23:54:03 | Re : Recordset sur deux table

tombal

Salut, merci d'avoir repondu rapidement

Sinon ton code m'a l'air bien compliqué...et surtout il risque de pomper beaucoups de resource......ce sont de grosse base de donné que j'utilise....
donc je n'utilise jamais de For j=1 to max2 ...

Mes données sont eclater dans plusieurs tables ca me permet de les actualier facilement sans touchez aux autres données...

Sinon j'ai entendu parler de TransferDatabase en faisant des recherche mais impossible de le faire marcher =(
dimanche 24 juillet 2005 à 23:57:24 | Re : Recordset sur deux table

tombal

Salut, merci d'avoir repondu rapidement

Sinon ton code m'a l'air bien compliqué...et surtout il risque de pomper beaucoups de resource......ce sont de grosse base de donné que j'utilise....
donc je n'utilise jamais de For j=1 to max2 ...

Mes données sont eclater dans plusieurs tables ca me permet de les actualier facilement sans touchez aux autres données...

Sinon j'ai entendu parler de TransferDatabase en faisant des recherche mais impossible de le faire marcher =(
dimanche 24 juillet 2005 à 23:58:43 | Re : Recordset sur deux table

Zlub

Membre Club


Salut,

Mais je pige pas l'interet d'avoir pleins de bases ... surtout que manifestement les données sont liées...pourquoi ne pas mettre les tables qui ont un lien logique dans la même base ?

T'as pas une table = une base quand même ?


++

Zlub

lundi 25 juillet 2005 à 00:02:04 | Re : Recordset sur deux table

Zlub

Membre Club


Salut,

Hors mis la methode que je t'ai indiqué je ne vois pas par quel tour de passe passe tu peux lier des données provenant de deux fichiers distincts...

C'est pas ne methode de barabare c'est juste une jointure, à la seul différence c'est qu'il faut deux connexions ... si tu trouve mieux, je suis curieux de savoir comment tu vas proceder ...

++

Zlub

lundi 25 juillet 2005 à 01:16:09 | Re : Recordset sur deux table

tombal

J'ai plusieurs base parceque certaine doivent etre mis a jour depuis un autre fichier (ca me permet de mettre a jour en copiant collant le fichier plutot que de passer par un code)

et ca permet aussi de mieux s'y retrouver (j'ai 5 bases de données et au total presque 20 tables)

Sinon g trouvé comment faire :
suffisait de lier les tables via access
pk j'y ai aps pensé plus tot =)

et merci qd meme
mardi 26 juillet 2005 à 13:13:50 | Re : Recordset sur deux table

hindhinf

Réponse acceptée !
salut :
je pense que c'est trés simple .tu peus créer une seul bd et puis tu va liée les tables des autres bd que tu veus utilisés comme ca tu manipuler plusieur tables des bd differentes.


Cette discussion est classée dans : fichier, table, recordset, mdb, db1


Répondre à ce message

Sujets en rapport avec ce message

Impossible d'écrire dans une table (dbf) [ par pledoux ] Bonjour,Je dois écrire dans une table DBF format FoxPro 3.0. L'ouverture de la table et la lecture se passent bien mais dès que je dois écrire dans la Impossible d'écrire dans une table (dbf) [ par pledoux ] Bonjour,Je dois écrire dans une table DBF format FoxPro 3.0. L'ouverture de la table et la lecture se passent bien mais dès que je dois écrire dans la Chargement Table Access très important [ par stimp4ck ] Bonjour, je souhaite charger une table Access assez importante (203 champs) avec le contenu d'un fichier assez important (+ de 600 lignes) par macro.L Importer fichier txt dans une table access [ par zouzou333 ] Bonjour tous le monde, voila j'ai un petit soucis.Dans la suite de mon projet je dois faire en sorte que :-Mon script vbs doit importe automatiquement Insérer plusieurs fichiers .csv dans une table Access .mdb [ par atone31 ] Bonjour, Je développe actuellement, sur Visual Basic express 2010 (que je découvre en même temps), une application qui me permettra de lire et affich importer fichier excel [ par ziedchebbi ] Bonjour, J'ai une application windows en vb.net sous de la BD sql server et je veux importer des données d'un fichier excel et l'afficher dans un data database.mdb introuvable [ par zidane22 ] Je viens de faire compilation à ma petite application avec inno setup. J'ai inclus tous les fichiers nécessaires y copmpris le fichier access. Pendant Le nom d'une table comme une variable dans un Recordset [ par IrinaVit ] Peut-on mettre le nom d’une table comme une variable dans un OpenRecorset ? Si oui, quel est la syntaxe ? Rechercher une query dans un fichier mdb et l'effacer en vb.net [ par christopherascle ] Bonsoir, Je souhaite rechercher une query dans un fichier mdb et l'effacer en vb.net Qui peux m'aider ? Merci d'avance Christophe


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 2,137 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales