Importer des données Access [Résolu]

Messages postés
270
Date d'inscription
mercredi 14 avril 2004
Dernière intervention
5 mai 2015
- - Dernière réponse : codial
Messages postés
270
Date d'inscription
mercredi 14 avril 2004
Dernière intervention
5 mai 2015
- 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

Meilleure réponse
Messages postés
119
Date d'inscription
dimanche 28 septembre 2003
Dernière intervention
19 juin 2007
3
Merci
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+

Merci flor003 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 97 internautes ce mois-ci

Commenter la réponse de flor003
Messages postés
119
Date d'inscription
dimanche 28 septembre 2003
Dernière intervention
19 juin 2007
0
Merci
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
Messages postés
119
Date d'inscription
dimanche 28 septembre 2003
Dernière intervention
19 juin 2007
0
Merci
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
Messages postés
270
Date d'inscription
mercredi 14 avril 2004
Dernière intervention
5 mai 2015
0
Merci
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
Messages postés
119
Date d'inscription
dimanche 28 septembre 2003
Dernière intervention
19 juin 2007
0
Merci
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
Messages postés
270
Date d'inscription
mercredi 14 avril 2004
Dernière intervention
5 mai 2015
0
Merci
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
Messages postés
270
Date d'inscription
mercredi 14 avril 2004
Dernière intervention
5 mai 2015
0
Merci
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
Messages postés
270
Date d'inscription
mercredi 14 avril 2004
Dernière intervention
5 mai 2015
0
Merci
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.