Problème de champ date avec requête SQL sous Excel

cs_Bruno25 Messages postés 2 Date d'inscription lundi 19 janvier 2004 Statut Membre Dernière intervention 19 février 2007 - 13 févr. 2007 à 23:07
romagny13 Messages postés 687 Date d'inscription lundi 10 janvier 2005 Statut Membre Dernière intervention 27 août 2014 - 14 févr. 2007 à 20:54
Bonjour,


  J'ai un problème avec l'écriture d'un champ date "DATSP" dans une base de données sous excel que j'alimente avec une connection OLE DB pour pilotes ODBC. En fait les dates jusqu'au 12éme jour du mois s'inscrivent dans la base au format MM/DD/YYYY puis à partir du 13ème jour s'incrivent au format DD/MM/YYYY. Ensuite losrque je fais des requêtes avec une clause WHERE sur le champ date, je ne récupère pas les enregistrements correspondant à ma requête.

Si quelqu'un avait une information me permettant de palier à ce problème.........

Par avance merci

Ci dessous le code pour écrire dans la base

Dim Feuille As String, strSQL As String
 Dim DATSP As Date
 Dim CADMN, TTHP, QTPHR As Single
 Dim TDOUV, TCYCR, TCYCS, QTE, RRET As Integer
 Dim REFPROD, EQP, NLOTBRUT, HRNLOT, OPSAISIE As String



 
 Feuille = "Prod"



 Call Connect_ADO 'Procédure de connexion


       strSQL = "INSERT INTO [" & Feuille & "$] " _
           & "VALUES (#" & DATSP & "#, " & _
           "'" & REFPROD & "', " & _
           "'" & EQP & "', " & _
           "'" & TDOUV & "', " & _
           "'" & TCYCR & "', " & _
           "'" & TCYCS & "', " & _
           "'" & CADMN & "', " & _
           "'" & QTE & "', " & _
           "'" & TTHP & "', " & _
           "'" & RRET & "', " & _
           "'" & QTPHR & "', " & _
           "'" & NLOTBRUT & "', " & _
           "'" & HRNLOT & "', " & _
           "'" & OPSAISIE & "')"



  Cnx.Execute strSQL



 Next i



 Cnx.Close
 Set Cnx = Nothing

Ci dessous un exemple de requête que j'utilise

Dim NomFeuille As String, Req_SQL As String
 Dim Rst As ADODB.Recordset
 
Call Connect_ADO 'Procédure de connexion



 'Nom de la feuille dans le classeur fermé
 NomFeuille = "Prod"
 'Lecture du temps d'ouverture, de la quantité pièces, du temps théorique de production et des rebuts pour une période donnée

   Req_SQL = "SELECT SUM(TDOUV),SUM(QTE) ,SUM(TTHP),SUM(RRET)FROM [" & NomFeuille & "$]WHERE " _
   & "DATSP >= #" & DateDebIndic & "# AND DATSP <= #" & DateFinIndic & "#"

 Set Rst = New ADODB.Recordset
 Set Rst = Cnx.Execute(Req_SQL)
 Sheets("TempIndic").Range("A2").CopyFromRecordset Rst
 '--- Fermeture connection ---
 Cnx.Close
 Set Cnx = Nothing
A voir également:

1 réponse

romagny13 Messages postés 687 Date d'inscription lundi 10 janvier 2005 Statut Membre Dernière intervention 27 août 2014 3
14 févr. 2007 à 20:54
erf personnellement j'ai abandonné l'idée d'utiliser excel comme on le ferait avec une base de données, il vaut mieux rester a des requetes vraiment basiques, d'ailleurs meme les requetes delete ne sont pas pris en charge donc on ne va pas bien loin
0
Rejoignez-nous