|
Acceder à une base de donnée Access |
Started by Jean-François P, Feb., 13 2019 10:49 AM - 13 replies |
| |
| | | |
|
| |
Registered member 97 messages Popularité : +1 (1 vote) |
|
Posted on February, 13 2019 - 10:49 AM |
Bonjour,
Je suis un peu perdu, je voudrais avoir accès à une base de donnée access utilisé par un autre programme.
J'ai le code suivant mais impossible d'avoir accès à la BDD :
HPasse("*","Mon_Mot_DePasse") HDéclareExterne("Mon_Chemin\Ma_BDD.accdb", "Liste") SI ErreurDétectée = Vrai ALORS Erreur(HErreurInfo()) FIN
Le message d'erreur est : "Ce fichier n'est pas au format windev".
Quelqu'un a un conseil à me donner?
Merci beaucoup. |
| |
| |
| | | |
|
| | |
| |
Registered member 1,623 messages Popularité : +100 (114 votes) |
|
Posted on February, 13 2019 - 11:13 AM |
Salut,
Avec ou sans analyse ?
Essaye ce bout de code : nConnection est un entier = SQLConnecte(sCheminBaseAcces","","","","OLEDB",hOledbAccess2000) // change la constante hOledbAccess2000 en fonction de la version de ta base
Ce code permet d'executer des instructions SQL au avec SQLExec() |
| |
| |
| | | |
|
| | |
| |
Registered member 97 messages Popularité : +1 (1 vote) |
|
Posted on February, 13 2019 - 11:29 AM |
Salut,
Merci pour ta réponse. J'ai besoin d'y accéder sans analyse.
Je vais essayer ton code et je reviens vers toiMessage modified, February, 13 2019 - 11:38 AM |
| |
| |
| | | |
|
| | |
| |
Registered member 97 messages Popularité : +1 (1 vote) |
|
Posted on February, 14 2019 - 9:56 AM |
Bonjour,
Avec ou sans analyse ?
Essaye ce bout de code : nConnection est un entier = SQLConnecte(sCheminBaseAcces","","","","OLEDB",hOledbAccess2000) // change la constante hOledbAccess2000 en fonction de la version de ta base
J'ai besoin d'y accéder sans analyse. Du coup ce code ne peut pas marché. Je dois passé par une déclaration externe, mais c'est à ce niveau que ça pêche.
HPasse("*","Mon_Mot_DePasse") HDéclareExterne("Mon_Chemin\Ma_BDD.accdb","Liste") SIErreurDétectée=VraiALORS
Erreur(HErreurInfo()) FIN
Mon code ne fonctionne pas et je ne comprend pas l’erreur.
Merci pour votre aide |
| |
| |
| | | |
|
| | |
| |
Registered member 37 messages Popularité : +1 (1 vote) |
|
Posted on February, 14 2019 - 12:23 PM |
Bonjour, j'ouvre une BDD (.mdb) sans analyse comme ceci. Je suppose que pour une .accdb c'est pareille. Je n'ai pas testé.
LOCAL cnx est une Connexion sdCli est une Source dede Données cnx..Provider = hOledbAccess2000 cnx..Source = "Mon_Chemin\Ma_BDD.mdb" cnx..Accès = hOLectureEcriture cnx..InfosEtendues = "Mode=16"
SI HDéclareExterne("tblClients",sdCli,cnx) ALORS HLitPremier(sdCli,"fldClient") Info(sdCli.fldclient,sdCli.fldName) HFerme(sdCli) HAnnuleDéclaration(sdCli) FIN
-- Bonne journée
J. Feyen |
| |
| |
| | | |
|
| | |
| |
Registered member 1,623 messages Popularité : +100 (114 votes) |
|
Posted on February, 14 2019 - 12:37 PM |
@Jean-François P
J'utilise ce code dans un projet, sans analyse. Par contre, cette methode ne permet pas les fonction H, uniquement SQLExec() |
| |
| |
| | | |
|
| | |
| |
Registered member 97 messages Popularité : +1 (1 vote) |
|
Posted on February, 14 2019 - 2:54 PM |
J.Feyen merci pour vos réponses,
En utilisant votre méthode en l'adaptant à ma situation :
cnx est une Connexion sdCli est une Source dede Données
cnx..Provider=hOledbAccess2010 cnx..Source="C:\XPR\PROS Plus\Database\2019 02.accdb" cnx..MotDePasse="Monmdp" cnx..Accès=hOLectureEcriture cnx..InfosEtendues="Mode=16"
SI HDéclareExterne("SystemEvents",sdCli,cnx) ALORS FIN Erreur(HErreurInfo())
Ce message d'erreur apparaît :
Détail de l’erreur système : Description= Impossible de démarrer votre application. Le fichier d’informations du groupe de travail est absent ou ouvert en mode exclusif par un autre utilisateur.
François C. je vous remercie également pour vos réponses,
J'ai fais de même et en utilisant votre méthode en l'adaptant à ma situation :
nConnection est un entier = SQLConnecte("C:\XPR\PROS Plus\Database\2019 02.accdb","","Monmdp","","OLEDB",hOledbAccess2010) SI nConnection <> 0 ALORS SINON SQLInfoGene() Erreur("La connexion à la source de données " + "C:\XPR\PROS Plus\Database\2019 02.accdb" + " a échoué." + RC + ... "Code erreur : " + SQL.Erreur + RC + SQL.MesErreur) FIN
Le même message d'erreur apparaît :
Détail de l’erreur système : Description= Impossible de démarrer votre application. Le fichier d’informations du groupe de travail est absent ou ouvert en mode exclusif par un autre utilisateur.
Je teins à préciser que je n'ai pas Access sur mon PC et que cette BDD n'est ouverte nul part.
Vous avez des idées?
Merci |
| |
| |
| | | |
|
| | |
| |
Registered member 97 messages Popularité : +1 (1 vote) |
|
Posted on February, 15 2019 - 11:16 AM |
Je suis toujours en train de chercher et je n'ai pas de solution, personne n'a jamais eu affaire à ce problème? |
| |
| |
| | | |
|
| | |
| |
Registered member 511 messages Popularité : +18 (18 votes) |
|
Posted on February, 15 2019 - 11:56 AM |
| |
| |
| | | |
|
| | |
| |
Registered member 511 messages Popularité : +18 (18 votes) |
|
Posted on February, 15 2019 - 12:06 PM |
(message précédent complété, celui-ci est à supprimer) -- Pour me contacter par courrier électronique, cliquez sur le lien ci-dessous (protection antispam): http://cerbermail.com/…Message modified, February, 15 2019 - 12:09 PM |
| |
| |
| | | |
|
| | |
| |
Registered member 511 messages Popularité : +18 (18 votes) |
|
Posted on February, 15 2019 - 1:51 PM |
Et s'il s'agit d'une base de données de type ACCDB, alors il n'est pas utile de passer un mot de passe, mais il faut penser à ouvrir la connexion.
Le code pourrait alors ressembler à ceci :
cnx est une Connexion sdCli est une Source dede Données
cnx..Provider = hOledbAccess2010 cnx..Source = "C:\XPR\PROS Plus\Database\2019 02.accdb" cnx..Accès = hOLectureEcriture
SI PAS HOuvreConnexion(cnx) ALORS Erreur("HOuvreConnexion(cnx)",HErreurInfo()) RENVOYER Faux FIN
SI PAS HDéclareExterne("SystemEvents",sdCli,cnx) ALORS Erreur("HDéclareExterne('SystemEvents')",HErreurInfo()) RENVOYER Faux FIN
-- Pour me contacter par courrier électronique, cliquez sur le lien ci-dessous (protection antispam): http://cerbermail.com/…Message modified, February, 15 2019 - 1:52 PM |
| |
| |
| | | |
|
| | |
| |
Registered member 511 messages Popularité : +18 (18 votes) |
|
Posted on February, 15 2019 - 5:21 PM |
Bon, après avoir re-re-re-vérifié sur un fichier ACCDB, je constate qu'il faut renseigner le mot de passe de la base de données. ( apparemment j'avais mal testé la première fois ).
Donc le mot de passe de base de données est transmis via les informations étendues. Par exemple si le mot de pas est "MDP' :
cnx..InfosEtendues="Jet OLEDB:Database Password=MDP"
Pour une chaîne de connexion complexes, les différents paramères doivent être séparés par des cvaractères ";" (point-virgule). Par exemple :
cnx..InfosEtendues="Mode=16;Jet OLEDB:Database Password=MDP"
-- Pour me contacter par courrier électronique, cliquez sur le lien ci-dessous (protection antispam): http://cerbermail.com/… |
| |
| |
| | | |
|
| | |
| |
Registered member 97 messages Popularité : +1 (1 vote) |
|
Posted on February, 18 2019 - 8:35 AM |
Bonjour,
Après un bon week-end ensoleillé j'ai l'immense plaisir d'avoir cette réponse qui m'aide énormément. J'arrive enfin à me connecter à ma base de donnée.
Il fallait effectivement rentrer le mot de passe dans les InfosEtendues.
Un grand merci à vous.
Bonne journée. |
| |
| |
| | | |
|
| | |
| |
Registered member 70 messages Popularité : +1 (1 vote) |
|
Posted on November, 20 2020 - 2:00 PM |
Bonjour,
j'ai utilisé votre code pour me connecter à ma BDD ACCESS et ça fonctionne. Cependant, je souhaiterai qu'elle apparaisse dans l'analyse et lorsque je veux importer ma BDD j'ai l'erreur suivante :
Impossible de se connecter à c:\...................mdb Erreur de l'accès OLE DB. Numéro d'erreur =170124
Echec de l'ouverture de la connexion : Source de données <C:\ ........ .mdb> Provider OLEDB <Microsoft.ACE.OLEDB.12.0>
J'ai essayé tous les types de connexion Access mais g toujours la même erreur. Est ce que quelqu'un aurait une solution ?
Merci à vous. |
| |
| |
| | | |
|
| | | | |
| | |
|