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

Messages postés
2
Date d'inscription
lundi 11 août 2003
Dernière intervention
13 décembre 2005
- 9 déc. 2005 à 16:18 - Dernière réponse :
Messages postés
3758
Date d'inscription
mardi 23 septembre 2003
Dernière intervention
13 mars 2006
- 13 déc. 2005 à 22:36
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
Afficher la suite 

4 réponses

Meilleure réponse
Messages postés
3758
Date d'inscription
mardi 23 septembre 2003
Dernière intervention
13 mars 2006
- 9 déc. 2005 à 17:38
3
Merci
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 !?

Merci cs_CanisLupus 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 88 internautes ce mois-ci

Messages postés
3758
Date d'inscription
mardi 23 septembre 2003
Dernière intervention
13 mars 2006
- 9 déc. 2005 à 17:41
0
Merci
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
Dernière intervention
13 décembre 2005
- 13 déc. 2005 à 21:06
0
Merci
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
3758
Date d'inscription
mardi 23 septembre 2003
Dernière intervention
13 mars 2006
- 13 déc. 2005 à 22:36
0
Merci
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 !?

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.