1 pièce(s) jointe(s)
La Table externe n'est pas dans le format attendu
Salut le Forum,
J'utilise ce code pour récupérer mes données.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| Public Function PickData(oConn As Object, oRec As Object, sSQL As String) As Integer
'connect to the DB, apply Query, (paste result in sheet Search), return #result
'connection DB----------------------------------------------------------------------------------
oConn.Open CONNSTR_DB
On Error Resume Next
If oConn.State <> adStateOpen Then
MsgBox "Error connecting to Database!"
Exit Function
End If
On Error GoTo 0
oRec.Open sSQL, oConn, adOpenStatic, adLockOptimistic, adCmdText
PickData = oRec.RecordCount '#result
'ClearSearch
If PickData <> 0 Then shRecup.Range("M2").CopyFromRecordset oRec
oRec.Close
oConn.Close
'deconnection-----------------------------------------------------------------------------------
End Function |
Code:
1 2 3 4
|
CONNSTR_DB = "PROVIDER=MICROSOFT.ACE.OLEDB.12.0;" & _
"DATA SOURCE=" & DataPath & DataFile & ";" & _
"Extended Properties=""Excel 12.0;HDR=YES;"";" |
Quand il est exécuté à l'ouverture du fichier, aucun soucis.
Par contre, après avoir inséré une donnée (quand je fais un UPDATE, no problemo), j'ai un joli message d'erreur 'La Table externe n'est pas dans le format attendu'.
À quel moment :
Code:
oConn.Open CONNSTR_DB
Pièce jointe 643505
Bon, j'ai cherché un peu sans trouver. J'ai vérifié le fichier et tout semble correcte au niveau des données, même format etc.
Infos complémentaires :
- Si je prends le code à l'erreur et que je continue via F8, cela passe crème.
- Si par après, je repasse dans cette function, pas de soucis.
Encore une info :
Le fichier avec la db est au format .xlsx.
Si vous avez une piste, je suis évidemment preneur. Merci d'avance.