Automatiser la connection ADOConnection [Résolu]

codial 270 Messages postés mercredi 14 avril 2004Date d'inscription 5 mai 2015 Dernière intervention - 2 févr. 2006 à 11:12 - Dernière réponse : codial 270 Messages postés mercredi 14 avril 2004Date d'inscription 5 mai 2015 Dernière intervention
- 2 févr. 2006 à 23:31
Bonjour,

Quelqu'un peut m'expliquer, ou un bout de code, comment faire pour automatiser une connection ADOConnection vers une base access à partir d'un OpenDialog?

Je m'explique: ce que je cherche à faire c'est soit au démarrage ou en cours d'utilisation de l'appli de pouvoir sélectionner ou changer, à partir d'un opendialog, de base access.

Dans l'attente

Cordialement

Codial
Afficher la suite 

9 réponses

Répondre au sujet
yannba 139 Messages postés mercredi 4 janvier 2006Date d'inscription 7 septembre 2010 Dernière intervention - 2 févr. 2006 à 16:59
+3
Utile
1 - {A partir d'ici, comment tu fais pour rcuperer ta table ? }
--- mais je n'ai pas bien saisi le sens de la question:
Mon code fonctionne si la table a le meme nom pour toutes tes bases access .... CQFD

2 - Sinon c'est bon ça à l'air de fonctionner!!!
Penses alors à cliquer sur reponse acceptée ...
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de yannba
yannba 139 Messages postés mercredi 4 janvier 2006Date d'inscription 7 septembre 2010 Dernière intervention - 2 févr. 2006 à 12:01
0
Utile
et tu comptes faire comment pour recuperer ta table dans ton fichier mdb ? car sinon voici un bout de code ...
if opendialog1.execute then
assignfile(F,opendialog1.filename)
else exit;
ADOConnection1.LoginPrompt := False;//Pas de mot de passe exigé
ADOConnection1.Mode := cmReadWrite;//Mode lecture/ecriture
ADOConnection1.ConnectionString:='provider=Microsoft.Jet.OLEDB.4.0;Data Source='+ExtractFilepath(application.ExeName)+ 'MaBase.MDB;mode=readwrite;Persist Security Info=False';
ADOConnection1.Connected:=True;
{Composant ADOTable : Connection de la table}
ADOTable1.connection:=ADOconnection1;
ADOTable1.TableName:='table1';
ADOTable1.Active:=True;
Commenter la réponse de yannba
yannba 139 Messages postés mercredi 4 janvier 2006Date d'inscription 7 septembre 2010 Dernière intervention - 2 févr. 2006 à 12:24
0
Utile
Autant pour moi :
Pour recuperer ta base *.mdb :

opendialog1.execute;
ADOConnection1.LoginPrompt := False;//Pas de mot de passe exigé
ADOConnection1.Mode := cmReadWrite;//Mode lecture/ecriture
ADOConnection1.ConnectionString:='provider=Microsoft.Jet.OLEDB.4.0;Data Source='+OpenDialog1.FileName+';mode=readwrite;Persist Security Info=False';
ADOConnection1.Connected:=True;
{Composant ADOTable : Connection de la table}
ADOTable1.connection:=ADOconnection1;

{A partir d'ici, comment tu fais pour rcuperer ta table ? }
ADOTable1.TableName:='compte';
ADOTable1.Active:=True;
Commenter la réponse de yannba
codial 270 Messages postés mercredi 14 avril 2004Date d'inscription 5 mai 2015 Dernière intervention - 2 févr. 2006 à 14:32
0
Utile
Bonjour,

merci pour ta réponse, mais je n'ai pas bien saisi le sens de la question:

{A partir d'ici, comment tu fais pour rcuperer ta table ? }
ADOTable1.TableName:='compte';
ADOTable1.Active:=True;


il me semble que la réponse est dans la question, non ?

Sinon c'est bon ça à l'air de fonctionner!!!

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 - 2 févr. 2006 à 17:13
0
Utile
Bonjour,

Oui c'est exact et c'est le cas, il faut que toutes les bases access aient les mêmes tables avec les même structures. En fait je dois pouvoir créer une nouvelle base ( ce que je fais à partir d'un modèle) ou lire des bases archives, lesquelles, il est vrai, ont la même struture.

Une question encore:

je cherche à faire un test au démarrage de l'appli pour voir si la base access existe mais je ne trouve pas le bon code! Tu as une idée ?


D'avance merci


Codial
Commenter la réponse de codial
codial 270 Messages postés mercredi 14 avril 2004Date d'inscription 5 mai 2015 Dernière intervention - 2 févr. 2006 à 17:27
0
Utile
Encore une question sur mon problème initial:

Est qu'il y a moyen de mettre à jour la ConnectionString du TADOConnection après l'OpenDialog1.FileName de manière à garder la même base au prochain lancement?

Cordialement

Codial
Commenter la réponse de codial
yannba 139 Messages postés mercredi 4 janvier 2006Date d'inscription 7 septembre 2010 Dernière intervention - 2 févr. 2006 à 18:57
0
Utile
var filename:string;
begin
// opendialog1.execute;
filename:='MaBase.mdb';
ADOConnection1.LoginPrompt := False;//Pas de mot de passe exigé
ADOConnection1.Mode := cmReadWrite;//Mode lecture/ecriture
ADOConnection1.ConnectionString:='provider=Microsoft.Jet.OLEDB.4.0;Data Source='+FileName+';mode=readwrite;Persist Security Info=False';
if FileExists(filename) then
begin { le fichier existe }
ADOConnection1.Connected:=True;
{Composant ADOTable : Connection de la table}
ADOTable1.connection:=ADOconnection1;
ADOTable1.TableName:='compte';
ADOTable1.Active:=True
end
else // le fichier n'existe pas
exit;
Commenter la réponse de yannba
yannba 139 Messages postés mercredi 4 janvier 2006Date d'inscription 7 septembre 2010 Dernière intervention - 2 févr. 2006 à 18:59
0
Utile
Est qu'il y a moyen de mettre à jour la ConnectionString du TADOConnection après l'OpenDialog1.FileName de manière à garder la même base au prochain lancement?

A part de sauvegarder dans un fichier et de le rappeler lorsque tu demarres ton appli ...
Commenter la réponse de yannba
codial 270 Messages postés mercredi 14 avril 2004Date d'inscription 5 mai 2015 Dernière intervention - 2 févr. 2006 à 23:31
0
Utile
Bonsoir,

merci pour tes réponses :

A part de sauvegarder dans un fichier et de le rappeler lorsque tu demarres ton appli ...

oui c'est ce que je pensais aussi!

cordialement a+

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.