Importer des données Access [Résolu]

codial 270 Messages postés mercredi 14 avril 2004Date d'inscription 5 mai 2015 Dernière intervention - 17 févr. 2006 à 10:20 - Dernière réponse : codial 270 Messages postés mercredi 14 avril 2004Date d'inscription 5 mai 2015 Dernière intervention
- 18 févr. 2006 à 08:06
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
Afficher la suite 

Votre réponse

8 réponses

flor003 119 Messages postés dimanche 28 septembre 2003Date d'inscription 19 juin 2007 Dernière intervention - 17 févr. 2006 à 19:26
+3
Utile
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+
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de flor003
flor003 119 Messages postés dimanche 28 septembre 2003Date d'inscription 19 juin 2007 Dernière intervention - 17 févr. 2006 à 10:35
0
Utile
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++
Commenter la réponse de flor003
flor003 119 Messages postés dimanche 28 septembre 2003Date d'inscription 19 juin 2007 Dernière intervention - 17 févr. 2006 à 10:49
0
Utile
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+
Commenter la réponse de flor003
codial 270 Messages postés mercredi 14 avril 2004Date d'inscription 5 mai 2015 Dernière intervention - 17 févr. 2006 à 11:17
0
Utile
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
Commenter la réponse de codial
flor003 119 Messages postés dimanche 28 septembre 2003Date d'inscription 19 juin 2007 Dernière intervention - 17 févr. 2006 à 11:55
0
Utile
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++
Commenter la réponse de flor003
codial 270 Messages postés mercredi 14 avril 2004Date d'inscription 5 mai 2015 Dernière intervention - 17 févr. 2006 à 18:44
0
Utile
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
Commenter la réponse de codial
codial 270 Messages postés mercredi 14 avril 2004Date d'inscription 5 mai 2015 Dernière intervention - 17 févr. 2006 à 21:33
0
Utile
Bonsoir,

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

Cordialement

Codial
Commenter la réponse de codial
codial 270 Messages postés mercredi 14 avril 2004Date d'inscription 5 mai 2015 Dernière intervention - 18 févr. 2006 à 08:06
0
Utile
Bonjour,

merci pour l'aide ça fonctionne!!

Cordialement

Codial
Commenter la réponse de codial

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.