Automatiser la connection ADOConnection [Résolu]

Messages postés
270
Date d'inscription
mercredi 14 avril 2004
Dernière intervention
5 mai 2015
- 2 févr. 2006 à 11:12 - Dernière réponse :
Messages postés
270
Date d'inscription
mercredi 14 avril 2004
Dernière intervention
5 mai 2015
- 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 

Votre réponse

9 réponses

Meilleure réponse
Messages postés
139
Date d'inscription
mercredi 4 janvier 2006
Dernière intervention
7 septembre 2010
- 2 févr. 2006 à 16:59
3
Merci
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 ...

Merci yannba 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 89 internautes ce mois-ci

Commenter la réponse de yannba
Messages postés
139
Date d'inscription
mercredi 4 janvier 2006
Dernière intervention
7 septembre 2010
- 2 févr. 2006 à 12:01
0
Merci
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
Messages postés
139
Date d'inscription
mercredi 4 janvier 2006
Dernière intervention
7 septembre 2010
- 2 févr. 2006 à 12:24
0
Merci
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
Messages postés
270
Date d'inscription
mercredi 14 avril 2004
Dernière intervention
5 mai 2015
- 2 févr. 2006 à 14:32
0
Merci
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
Messages postés
270
Date d'inscription
mercredi 14 avril 2004
Dernière intervention
5 mai 2015
- 2 févr. 2006 à 17:13
0
Merci
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
Messages postés
270
Date d'inscription
mercredi 14 avril 2004
Dernière intervention
5 mai 2015
- 2 févr. 2006 à 17:27
0
Merci
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
Messages postés
139
Date d'inscription
mercredi 4 janvier 2006
Dernière intervention
7 septembre 2010
- 2 févr. 2006 à 18:57
0
Merci
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
Messages postés
139
Date d'inscription
mercredi 4 janvier 2006
Dernière intervention
7 septembre 2010
- 2 févr. 2006 à 18:59
0
Merci
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
Messages postés
270
Date d'inscription
mercredi 14 avril 2004
Dernière intervention
5 mai 2015
- 2 févr. 2006 à 23:31
0
Merci
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.