Bonjour,
J'applique une requête SQL trouvée sur le forum.
Elle marche bien MAIS pour certains champs, les résultats obtenus sont étranges.
Exemple : dans ma BDD SQL j'ai un champ SMALLINTEGER où il n'y a que des 0. Dans Excel, j'obtiens 00/01/1900
un autre champ SMALLINTEGER, côté SQL SERVEUR, il y a des 1 --> excel récupère 01/01/1900
un autre champ en INTEGER, côté SQL SERVEUR, il y a 5463 --> excel récupère 15/12/1914
un autre champ typé DATETIME côté SQL SERVEUR, il y a 2020-06-22 00:00:00.000 (date format anglais) --> Dans Excel, j'obtiens 22/06/2020
Auriez-vous une idée de ce que je dois améliorer pour que ce soit les mêmes valeurs qui arrivent dans Excel ?
Merci
Thibauly
J'applique une requête SQL trouvée sur le forum.
Elle marche bien MAIS pour certains champs, les résultats obtenus sont étranges.
Exemple : dans ma BDD SQL j'ai un champ SMALLINTEGER où il n'y a que des 0. Dans Excel, j'obtiens 00/01/1900
un autre champ SMALLINTEGER, côté SQL SERVEUR, il y a des 1 --> excel récupère 01/01/1900
un autre champ en INTEGER, côté SQL SERVEUR, il y a 5463 --> excel récupère 15/12/1914
un autre champ typé DATETIME côté SQL SERVEUR, il y a 2020-06-22 00:00:00.000 (date format anglais) --> Dans Excel, j'obtiens 22/06/2020
Auriez-vous une idée de ce que je dois améliorer pour que ce soit les mêmes valeurs qui arrivent dans Excel ?
Merci
Thibauly
VB:
Dim Cn As ADODB.Connection
Dim Server_Name As String
Dim Database_Name As String
Dim User_ID As String
Dim Password As String
Dim SQLStr As String
Dim rs As ADODB.Recordset
Set rs = New ADODB.Recordset
Dim NUMEROBL As String
Server_Name = "TFR-PORT\instance"
Database_Name = "bdd"
User_ID = "sa"
Password = "xxxxxxxxx"
NUMEROBL = "BL1900852"
SQLStr = "SELECT * FROM [Z_VUE2] WHERE [NUMDOC]= '" & NUMEROBL & "'"
Set Cn = New ADODB.Connection
Cn.Open "Driver={SQL Server};Server=" & Server_Name & ";Database=" & Database_Name & ";Uid=" & User_ID & ";Pwd=" & Password & ";"
rs.Open SQLStr, Cn, adOpenStatic
' Cn.Open "Driver={SQL Server};Server=" & Server_Name & ";Database=" & Database_Name & _
' ";Uid=" & User_ID & ";Pwd=" & Password & ";"
With Worksheets("FEUILSQL").Range("a1:z500")
.ClearContents
.CopyFromRecordset rs
End With
rs.Close
Set rs = Nothing
Cn.Close
Set Cn = Nothing