Salut le Forum,
J'utilise ce code pour récupérer mes données.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 FunctionQuand il est exécuté à l'ouverture du fichier, aucun soucis.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 CONNSTR_DB = "PROVIDER=MICROSOFT.ACE.OLEDB.12.0;" & _ "DATA SOURCE=" & DataPath & DataFile & ";" & _ "Extended Properties=""Excel 12.0;HDR=YES;"";"
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 : Sélectionner tout - Visualiser dans une fenêtre à part oConn.Open CONNSTR_DB
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.
Partager