Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1400 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  inserer tuples d'une table dans une autre db

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

inserer tuples d'une table dans une autre db

n°982154
steevi2307
Posté le 15-02-2005 à 13:49:53  profilanswer
 

Bonjour,
 
J'ai 2 db's : une sur le pc(D:\), et une sur un disque réseau (F:\).
 
Celle du F:\ devra contenir tous les enregistrements de toutes les db du D:\ => superdb
 
Je suppose qu'il faut ouvrir 2 connexions, mais comment faire en VB ? via le modèle ado par exemple.
 
Query du genre -  
    insert into table_affaires (F:\)
    select * from table_affaires (D:\)
 
Merci

mood
Publicité
Posté le 15-02-2005 à 13:49:53  profilanswer
 

n°982229
steevi2307
Posté le 15-02-2005 à 14:43:54  profilanswer
 

help please c'est super important

n°982230
latruffe
Bdovore
Posté le 15-02-2005 à 14:45:29  profilanswer
 

Tu pourras ouvrir deux connexions mais tu ne pourras pas faire un INSERT / SELECT qui porte sur les deux à la fois.


---------------
« Lorsque le bûcheron pénétra dans la forêt avec sa hache, les arbres se dirent : ne nous inquiétons pas, le manche est des nôtres. » | Gérez votre collection de BD en ligne !
n°982234
steevi2307
Posté le 15-02-2005 à 14:45:54  profilanswer
 

je pensais faire un truc du genre:
 
Do while not controle_ado_local.Recordset_local.EOF
 controle_ado_reseau.Recordset_reseau.addNew
 controle_ado_reseau.Recordset_reseau!Name =    
        controle_ado_local.field(nom)  
 controle_ado_reseau.Recordset_reseau.Update
 controle_ado_reseau.Recordset_local.MoveNext  
loop
 
mais sachant qu'il y a +/- 45 champs, c'est lourd non ?

n°982237
steevi2307
Posté le 15-02-2005 à 14:46:29  profilanswer
 

que faire alors ???

n°982253
latruffe
Bdovore
Posté le 15-02-2005 à 14:53:06  profilanswer
 

c'est un truc que tu dois faire une seule fois ?


Message édité par latruffe le 15-02-2005 à 14:53:37

---------------
« Lorsque le bûcheron pénétra dans la forêt avec sa hache, les arbres se dirent : ne nous inquiétons pas, le manche est des nôtres. » | Gérez votre collection de BD en ligne !
n°982545
steevi2307
Posté le 15-02-2005 à 17:58:24  profilanswer
 

Des qu'une personne clique sur "fusionner", l'ensemble de la table doit etre COPIé vers la table fusion.
 
Seules les enregistrements nécéssaires doivent etre rajoutés forcement, mais ca je suppose qu'access bloque ca.
 
Merci

n°982552
latruffe
Bdovore
Posté le 15-02-2005 à 18:03:57  profilanswer
 

Bah alors, je proposerais :  
- tu fais un select (*)
- tu parcours le recordset
- pour chaque ligne, tu effectues un INSERT dans l'autre base
 
(même si ça me plait moyen quand même).
 
Autre solution : tu fais des tables liées dans access et alors plus besoin de 2 connexions.


---------------
« Lorsque le bûcheron pénétra dans la forêt avec sa hache, les arbres se dirent : ne nous inquiétons pas, le manche est des nôtres. » | Gérez votre collection de BD en ligne !
n°982556
steevi2307
Posté le 15-02-2005 à 18:05:31  profilanswer
 

oui, mais, la db sur le pc à pas besoin de cette table_fusion .

n°982560
latruffe
Bdovore
Posté le 15-02-2005 à 18:07:08  profilanswer
 

Le fait que la table apparaisse signifie pas forcément que l'utilisateur doit aller trifouiller dedans :D
 
Si tu veux que ce soit transparent, 1ere méthode :spamafote:


---------------
« Lorsque le bûcheron pénétra dans la forêt avec sa hache, les arbres se dirent : ne nous inquiétons pas, le manche est des nôtres. » | Gérez votre collection de BD en ligne !
mood
Publicité
Posté le 15-02-2005 à 18:07:08  profilanswer
 

n°982562
steevi2307
Posté le 15-02-2005 à 18:09:53  profilanswer
 

t'as pas compris à mon avis :)
 
Sur chaque portable, il y aura la db du gars
 
Et puis en cliquant sur fusion, ben toutes ces données vont compléter "la grosse table" fusion => la seule table de la db sur le disque reseau.

n°982580
latruffe
Bdovore
Posté le 15-02-2005 à 18:19:14  profilanswer
 

Si si, j'ai bien compris. C'est pour ça que je suggérais de faire une table lié sur le portable (ie de faire un lien avec la table qui figure sur le réseau).
 
Mais sinon, reste la solution qui consiste à travailler avec une succession de requetes "INSERT" ou, comme tu le mettais un peu plus haut, naviguer en parallele sur deux recordset (methode que j'aime moins).


---------------
« Lorsque le bûcheron pénétra dans la forêt avec sa hache, les arbres se dirent : ne nous inquiétons pas, le manche est des nôtres. » | Gérez votre collection de BD en ligne !
n°982585
steevi2307
Posté le 15-02-2005 à 18:22:27  profilanswer
 

moi je prefererais faire le mieux possible, mais comment faire un lien entre ces deux tables ?
 
comment dire "la table_fusion" qui est ds une db sur le portable est = à "la table_fusion" sur le reseau qui est dans une autre db  
 
Donc qd j'ajoute dans l'une, j'ajoute dans l'autre

n°982593
latruffe
Bdovore
Posté le 15-02-2005 à 18:27:31  profilanswer
 

T'as pas regardé du coté de la synchronisation sur access non plus ?
 
Parce que qu'est-ce qui se passe si tu te contente de modifier un enregistrement ?


---------------
« Lorsque le bûcheron pénétra dans la forêt avec sa hache, les arbres se dirent : ne nous inquiétons pas, le manche est des nôtres. » | Gérez votre collection de BD en ligne !
n°982601
steevi2307
Posté le 15-02-2005 à 18:30:48  profilanswer
 

comment ca ?

n°982611
steevi2307
Posté le 15-02-2005 à 18:41:09  profilanswer
 

et est-ce que ca passe sous access 97 aussi :( ?

n°982617
latruffe
Bdovore
Posté le 15-02-2005 à 18:46:06  profilanswer
 

Y'a un truc pour synchroniser des tables entre elles sous accès. Maintenant, ce que ça vaut :/
 
et tu m'as pas répondu : si y'a juste une modif sur la table ?

n°982622
steevi2307
Posté le 15-02-2005 à 18:52:11  profilanswer
 

ben en fait, viens de me renseigner, les données sont ecrasées forcement chaque mois, qd ils font cette table_fusion puisque les données sont pt changées, suprimées .... et le tout retourne dans cette table fusion qui sera vidée

n°982626
latruffe
Bdovore
Posté le 15-02-2005 à 18:53:35  profilanswer
 

Bah alors te prends pas la tête :  
 
- tu fais un select (*)  
- tu parcours le recordset  
- pour chaque ligne, tu effectues un INSERT dans l'autre base

n°983142
steevi2307
Posté le 16-02-2005 à 09:13:43  profilanswer
 

:sarcastic:  :sarcastic:     Do While Not rs.EOF
 rs.moveFirst
        'parcours d'une ligne de la table_locale
        For i = 1 To tableau.length Step 1
            'copiage des champs de cette ligne dans un tableau
            tableau(i) = rs.Fields(i)
        Next i
 
 'insertion d'une ligne dans l'autre db !!!!!
 rs2.AddNew
 
 'copiage des champs du tableau dans les champs de la nouvelle ligne  
 for i = 1 To tableau.length Step 1
     rs2.Fields(i) = tableau(i)
 next i
 
 rs2.Update
        rs.MoveNext
    Loop
 
Un truc comme çà quoi :p:p  :)  :p  
 
Merci pour l'aide en tout cas
 
++


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  inserer tuples d'une table dans une autre db

 

Sujets relatifs
[résolu] table videInserer une image dans une frame java
Ecraser une table dans MySQL[résolu] [HTML] inserer du HTML dans un fichier HTML
Inserer une ligne à la fin d'un xls$req nbr de ligne table et utiliser la valeur dans une autre $req
Table plus grand!equivalent pseudo-table dual sous access
mettre des references dans une tableTable de hachage contenant des listes
Plus de sujets relatifs à : inserer tuples d'une table dans une autre db


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR