Excel ODBC & .dbf

Bonjour à tous,

à ce jour, j'ai toujours utilisé VBA avec les fichiers Excel.

Je dois maintenant utiliser Excel pour analyser des données provenant de fichiers au format .dbf

Après quelques heures de recherches, j'ai produit le code ci-dessous... qui retourne un message d'erreur à l'instruction

rs.Open "[sData]", cnn de la procédure LireDBF.

Parce que le message d'erreur s'affiche à cette ligne, je prends pour acquis, peut-être à tort, que les instructions précédentes sont OK.

L'un d'entre vous peut-il m'indiquer où je fais erreur ?

Merci.

Public cnn As ADODB.Connection

'--------------------------------------

Sub TEST_Connexion()

Call ConnectDBF

Call LireDBF

End Sub

'--------------------------------------

Public Sub ConnectDBF()

'2017-07-08

Set cnn = New ADODB.Connection

dbPath = Path

Dim ch As String

ch = ActiveWorkbook.Path & "\2017\Avantage\Ava01"

cnn.ConnectionString = "Driver={Microsoft dBASE Driver (*.dbf)};DriverID=277};SourceType=DBF;SourceDB=ch;Exclusive=No;"

cnn.Open

End Sub

'--------------------------------------

Private Sub LireDBF()

'2017-07-08

Dim ch As String

ch = ActiveWorkbook.Path & "\2017\Avantage\Ava01"

Dim sData As String

Dim sCH As String

sCH = ch & "\Saisie.dbf"

sData = "Select scont,semp from " & sCH

Set rs = New ADODB.Recordset

'

rs.Open "[sData]", cnn

'''''' MESSAGE : INSTRUCTION SQL NON VALIDE ; Delete, Insert, Procedure, Select ou Update attendus

'

i = 1

While Not rs.EOF

For j = 1 To rs.Fields.Count - 1

Feuil2.Cells(i, j) = rs(j - 1)

Next

i = i + 1

rs.MoveNext

Wend

End Sub

bonjour

il est plus simple d'ouvrir le .dbf (dans le menu ouvrir, choisir format dbf)

et c'est enregistrable en macro sans doute

Bonjour,

Pour ce type d'import, je me suis fait cet outil.

Un bouton pour choisir le dossier contenant les .dbf, et le code crée un onglet par table avec son contenu.

J'ai un outil similaire pour les .accdb ou .mdb si besoin.

Pierre

137import-dbf.xlsm (34.03 Ko)
Rechercher des sujets similaires à "odbc dbf"