Comment ouvrir une table dbase en vb6 [Résolu]

Signaler
Messages postés
2
Date d'inscription
lundi 11 août 2003
Statut
Membre
Dernière intervention
13 décembre 2005
-
Messages postés
3757
Date d'inscription
mardi 23 septembre 2003
Statut
Modérateur
Dernière intervention
13 mars 2006
-
Bonjour,
Je cherche à lire les enregistrements d'une table Dbase avec VB6
Après avoir crée un DSN ODBC appelé "monDsn"
Je me connecte a ma table de la façon suivante (ça marche)
----------

Dim ConnexionDbase As ADODB.Connection
Dim rst As ADODB.Recordset
Set ConnexionDbase = New ADODB.Connection
ConnexionDbase.CursorLocation = adUseClient
ConnexionDbase.Provider = "MSDASQL;dsn=mondsn;uid=;pwd="
ConnexionDbase.Open "DataBase=c:\monfichierdbase.dbf"
Set rst = New ADODB.Recordset 'declaration d'un recordset pour lire la table
-----------

Comment exprime t'on le nom de la table à lire en fn du nom du fichier dbf
car aucune des instructions suivantes ne marchent

----------
rst.Open "SELECT * FROM monfichierdbase.dbf", ConnexionDbase, adOpenStatic, adLockOptimistic
rst.Open "SELECT * FROM monfichierdbase", ConnexionDbase, adOpenStatic, adLockOptimistic
rst.Open " monfichierdbase.dbf", ConnexionDbase, adOpenStatic, adLockOptimistic
rst.Open " monfichierdbase", ConnexionDbase, adOpenStatic, adLockOptimistic
---------

Comment exprimer l'ouverture du recordset SVP
Merci

4 réponses

Messages postés
3757
Date d'inscription
mardi 23 septembre 2003
Statut
Modérateur
Dernière intervention
13 mars 2006
14
Salut,

Je n'ai pas de fichier dbf sous la main mais essaie ça :

cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=chemin_du_dossier;" & _
"Extended Properties=DBASE III;"

à la place de DBASE III, tu peux mettre : DBASE IV ou DBASE 5.0

par ex, chemin_du_dossier est du genre c:\dossierdbase (sans le nom de la table)

et ta première syntaxe devrait fonctionner :
rst.Open "SELECT * FROM monfichierdbase.dbf", ConnexionDbase, adOpenStatic, adLockOptimistic

-------------------------------------------------
Dresseur de puces, .... normal pour un loup !?
3
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 111 internautes nous ont dit merci ce mois-ci

Messages postés
3757
Date d'inscription
mardi 23 septembre 2003
Statut
Modérateur
Dernière intervention
13 mars 2006
14
Si ça ne marche toujours pas, ajoute ,adcmdtext à la fin du rst.open

-------------------------------------------------
Dresseur de puces, .... normal pour un loup !?
Messages postés
2
Date d'inscription
lundi 11 août 2003
Statut
Membre
Dernière intervention
13 décembre 2005

Bien que la demande originale concerne une connexion avec un DSN ODBC ,
je m'en suis sorti avec le code qui suit:
-----------------
Dim ConnexionDbase As New ADODB.Connection
Dim rstsource As New ADODB.Recordset
ConnexionDbase.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\monrepertoire ;Extended Properties=DBASE IV"


rstsource.Open "select * from NomDuFichierDbf", ConnexionDbase, 1, 3

'puis la lecture (sequentielle)
Do While Not rstsource.EOF
toto= rstsource!NomDuChampDbase
etc...
---------------

LE POINT IMPORTANT EST EN EFFET DE NE DONNER QUE LE REPERTOIRE DES FICHIERS DBF ET NON PAS LE NOM D UN FICHIER COMME Data Source. LE REPERTOIRE EST CONSIDERE COMME BASE DE DONNEES ET LES FICHIERS DBASE COMME LES TABLES DE CETTE BD.

Merci, et si quelqu'un sait comment on fait avec un DSN, je suis toujours preneur !

Vincent RIGOULOT

question originale
Messages postés
3757
Date d'inscription
mardi 23 septembre 2003
Statut
Modérateur
Dernière intervention
13 mars 2006
14
Je ne traite que très rarement des bases dBase. Encore moins par ODBC, mais, promis je regarde ça demain car ce soir je n'ai pas tout ce qu'il faut pour tester.
Mais, je pense que le principe est le même : database = repertoiredbf.

-------------------------------------------------
Dresseur de puces, .... normal pour un loup !?