Bonjour à tous,
J'ai un problème sur une de mes fonctions:
Cette fonction qui est un recordSet associé à une commande SQL ne récupère pas toutes les informations:
- Par exemple les entêtes ne sont pas récupérés et ont pour valeur "Null" dans les enregistrments
- Certaines colonnes, notamment celles en extrémités ont le même problème, du texte est renseigné mais dans l'enregistrement, les valeurs sont " Null".
J'ai essayé de changer de ".Provider = " mais le résultat est le même, j'ai regardé du coté de la commande SQL mais je ne vois pas ce qui pourrait convertir "certaines" cellules texte en "Null".
Avez vous une solution pour ce problème ? Merci à vous
Function Import_data(Lst)
Dim Rst As ADODB.Recordset
Dim intTblCnt As Integer
Set Cn = New ADODB.Connection
With Cn
'.Provider = "MSDASQL"
'.ConnectionString = "Driver={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)};" & _
"DBQ=" & Lst & ";"
.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & Lst & ";Extended Properties='Excel 12.0;HDR=No'"
End With
Set Rst = Cn.OpenSchema(adSchemaTables)
intTblCnt = Rst.RecordCount
If intTblCnt > 1 Then MsgBox "Le fichier ne peut contenir qu'un onglet Raw": Test_error = True: Exit Function
strTbl = Rst.Fields("TABLE_NAME").Value
Set Rst = New ADODB.Recordset
Set Rst = Cn.Execute("SELECT * FROM [" & strTbl & "] ")
Import_data = Rst.GetRows
'Libération de la mémoire
Cn.Close
Set Cn = Nothing: Set Rst = Nothing
End Function