codial
Messages postés265Date d'inscriptionmercredi 14 avril 2004StatutMembreDernière intervention 5 mai 2015
-
2 févr. 2006 à 11:12
codial
Messages postés265Date d'inscriptionmercredi 14 avril 2004StatutMembreDerniè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.
yannba
Messages postés133Date d'inscriptionmercredi 4 janvier 2006StatutMembreDernière intervention 7 septembre 2010 2 févr. 2006 à 16:59
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 ...
yannba
Messages postés133Date d'inscriptionmercredi 4 janvier 2006StatutMembreDernière intervention 7 septembre 2010 2 févr. 2006 à 12:01
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;
yannba
Messages postés133Date d'inscriptionmercredi 4 janvier 2006StatutMembreDernière intervention 7 septembre 2010 2 févr. 2006 à 12:24
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;
codial
Messages postés265Date d'inscriptionmercredi 14 avril 2004StatutMembreDernière intervention 5 mai 20151 2 févr. 2006 à 17:13
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 ?
codial
Messages postés265Date d'inscriptionmercredi 14 avril 2004StatutMembreDernière intervention 5 mai 20151 2 févr. 2006 à 17:27
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?
yannba
Messages postés133Date d'inscriptionmercredi 4 janvier 2006StatutMembreDernière intervention 7 septembre 2010 2 févr. 2006 à 18:57
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;
yannba
Messages postés133Date d'inscriptionmercredi 4 janvier 2006StatutMembreDernière intervention 7 septembre 2010 2 févr. 2006 à 18:59
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 ...