Connexion fichier Dbase

cdrik59 Messages postés 9 Date d'inscription mardi 4 janvier 2005 Statut Membre Dernière intervention 5 juillet 2012 - 4 janv. 2005 à 16:05
cs_pledoux Messages postés 147 Date d'inscription mardi 12 octobre 2004 Statut Membre Dernière intervention 6 mars 2007 - 5 janv. 2005 à 09:49
Bonjour,





Je voudrais savoir comment je peux connecter une macro office avec des fichiers DBF en DAO



Pour une base Access le code est :

Set BTF01 = DBEngine.Workspaces(0).OpenDatabase("c:\chemin\base.MDB", , , "")



mais pour des fichiers DBF la commande :

Set BTF01 = DBEngine.Workspaces(0).OpenDatabase("c:\chemin\base.DBF", , , "")



ne fonctionne pas. L'éditeur VB de macro m'indique un message d'erreur
'3343' précisant que le format de base de données est inconnue.

Je comprends bien le probléme mais comment puis-je le résoudre.





Merci d'avance




Cédric GERARD

4 réponses

cs_pledoux Messages postés 147 Date d'inscription mardi 12 octobre 2004 Statut Membre Dernière intervention 6 mars 2007
4 janv. 2005 à 18:50
Bonjour,

Ce n'est pas une base de donnée que tu souhaite ouvrir (fichier dbc) mais
une table externe (fichier dbf). Donc dans ta ligne avec OpenDataBase il faut
juste mettre le chemin d'accès à la table. Le recordsource lui vaut le nom de
ta table DBF.

Ensuite le fonctionnement est le même qu'avec une base Access.
L'astuce est donc de mettre uniquement le chemin d'accès sans le nom de
la table dans OpenDataBase.
0
cdrik59 Messages postés 9 Date d'inscription mardi 4 janvier 2005 Statut Membre Dernière intervention 5 juillet 2012
4 janv. 2005 à 19:09
J'avais effectivement mis au départ que le chemin:

Set BTF01 = DBEngine.Workspaces(0).OpenDatabase("c:\chemin\base.MDB")
et
Set RTF01 = BTF01.Recordset

Mais ce code ne fonctionne pas !

Soit je n'ai pas compris ta réponse ou alors il y a un probléme !

Peux-tu m'explique plus clairement avec un exemple.

Merci

Cédric GERARD
0
cdrik59 Messages postés 9 Date d'inscription mardi 4 janvier 2005 Statut Membre Dernière intervention 5 juillet 2012
5 janv. 2005 à 09:41
Voilà le code que j'ai mis d'aprés la premiére explication cependant
j'ai un probléme de'ouverture de base car apparament elle ne peut ps
être ouverte en mode exclusive car elle est déjà ouverte ! Le hic c'est
qu'elle n'est ouverte nulle par ?




Dim BTF01 As Database

Dim RSTF01 As Recordset



Set BTF01 = OpenDatabase("d:\dossier\data")

Set RSTF01 = BTF01.OpenRecordset("fichier.dbf")


Merci de m'aider !



Cédric GERARD
0
cs_pledoux Messages postés 147 Date d'inscription mardi 12 octobre 2004 Statut Membre Dernière intervention 6 mars 2007
5 janv. 2005 à 09:49
Bonjour,

Regarde du côté du RecordsetType. Mais je ne connais pas en VBA. De plus, j'ai eu pas mal de problèmes avec les tables dBF en DAO. J'ai préféré migrer en ADO avec le vfpoledb (voir sur le site Visual FoxPro) qui permet de fonctionner comme sous FoxPro.
0
Rejoignez-nous