Importer des données Access [Résolu]

Signaler
Messages postés
265
Date d'inscription
mercredi 14 avril 2004
Statut
Membre
Dernière intervention
5 mai 2015
-
Messages postés
265
Date d'inscription
mercredi 14 avril 2004
Statut
Membre
Dernière intervention
5 mai 2015
-
Bonjour,

j'ai besoin de savoir comment on peut tester si une table existe dans une base Access et ensuite le processus pour en importer les données dans ma base active.

D'avance merci

Cordialement

Codial

8 réponses

Messages postés
118
Date d'inscription
dimanche 28 septembre 2003
Statut
Membre
Dernière intervention
19 juin 2007

ben moi je vois ça comme ça.

Hormis si tu peux stopper le travail sur ta connexion active pour exporter sur l'autre puis reprendre ta connexion active.



a+
Messages postés
118
Date d'inscription
dimanche 28 septembre 2003
Statut
Membre
Dernière intervention
19 juin 2007

salut!
Moi j'ai une solution c'est surement pas la plus pratique mais bon!
Tu fais une connexion ODBC à ACCESS après t'as une fonction qui est odbc_tables.
<code>
odbc_tables
(odbc_setoption connection_id [, string qualifier [, string owner [, string name [, string types]]]])

Ca liste toutes les tables d'une base.

</code>Après tu recupères tes données et tu te connectes à l'autre base et inert into.

En espèrant t'avoir aidé.
a++
Messages postés
118
Date d'inscription
dimanche 28 septembre 2003
Statut
Membre
Dernière intervention
19 juin 2007

resalut!
sinon tout simplement t'as la propriété GetTableNames qui peut etre utilisé sur un tadoconnection ou sqlconnection.

voici l'exemple de delphi :

var
SL:TStrings;
index:Integer;
begin
SL :=TStringList.Create;
try
ADOConnection1.GetTableNames(SL,False);
forindex :=0 to(SL.Count -1)do begin
Table1.Insert;
Table1.FieldByName('Name').AsString :=SL[index];
ifADOTable1.Active thenADOTable1.Close;
ADOTable1.TableName :=SL[index];
ADOTable1.Open;
Table1.FieldByName('Records').AsInteger :=ADOTable1.RecordCount;

Table1.Post;
end;
finally
SL.Free;
ADOTable1.Close;

"L'exemple suivant récupère une liste de toutes les tables d'un stockage de données ADO.Il parcourt ensuite cette liste,en créant une entrée dans une autre table avec le nom de chaque table et le nombre d'enregistrements."

a+
Messages postés
265
Date d'inscription
mercredi 14 avril 2004
Statut
Membre
Dernière intervention
5 mai 2015
1
Bonjour,

merci pour les réponses et je vais voir si je peux adapter à mon besoin qui est:

Je dois tester (simplement tester) dans la base si la table existe (pour être certain que c'est la bonne base *.mdb) et si elle existe importer les données.

Car en fait ce test va s'effectuer en cours de fonctionnement de l'appli donc l'ADOConnection1 ne sera pas sur cette base. Tu comprends?

Par ailleurs, est ce que tu as une piste pour importer les données ?

Cordialement

Codial
Messages postés
118
Date d'inscription
dimanche 28 septembre 2003
Statut
Membre
Dernière intervention
19 juin 2007

resalut!

est ce que tu dois effectuer les traitements de tes deux bases en meme temps?

moi je vois ça comme ça :



sur l'adonnection de ta base :

ADOQuery1.SQL.Clear;

ADOQuery1.SQL.add('SELECT * FROM matable;');

ADOQuery1.ExecSQL;



sur ladonnection de ta base active :

ADOQuery2.SQL.Clear;

ADOQuery1.SQL.add('INSERT INTO matable VALUES();');


ADOQuery1.ExecSQL;

a++
Messages postés
265
Date d'inscription
mercredi 14 avril 2004
Statut
Membre
Dernière intervention
5 mai 2015
1
Bonjour,

si j'ai bien compris il me faut deux adoconnection, un pour mon appli et un qui pointe sur la base que je dois importer ?

C'est celà?

Cordialement

Codial
Messages postés
265
Date d'inscription
mercredi 14 avril 2004
Statut
Membre
Dernière intervention
5 mai 2015
1
Bonsoir,

merci pour les réponses je vais tester tout ça et je te tiens au courant.

Cordialement

Codial
Messages postés
265
Date d'inscription
mercredi 14 avril 2004
Statut
Membre
Dernière intervention
5 mai 2015
1
Bonjour,

merci pour l'aide ça fonctionne!!

Cordialement

Codial