Question pour les Pros D'excell / SQL et date

TMMXONE

XLDnaute Nouveau
Peut on à partir d'excell accéder à une source de données sql avec un champ date comme variable ?

ex :

Une feuille X.
A partir de la feuille X, appeler des données par une requette SQL genre

select * from table where dateoperation between date1 and date2

sachant que date1 et date2 sont des cellules sur excell
date1=A1 (sur excell) = 01/06/2008 et
date2=B1 =15/06/2008

MErci à vous et bonne soirée
 

BOISGONTIER

XLDnaute Barbatruc
Repose en paix
Re : Question pour les Pros D'excell / SQL et date

Bonsoir,

Il faut connaître le format attendu par le serveur SQL.
Pour Access par exemple,il faut inverser le jour et le mois et placer les dates entre #

Code:
Function ConvDate(MaDate As Date) As String
  ConvDate = "#" & Month(MaDate) & "/" & Day(MaDate) & "/" & Year(MaDate) & "#"
End Function

JB
 

TMMXONE

XLDnaute Nouveau
Re : Question pour les Pros D'excell / SQL et date

Bonsoir,

Il faut connaître le format attendu par le serveur SQL.
Pour Access par exemple,il faut inverser le jour et le mois et placer les dates entre #

Code:
Function ConvDate(MaDate As Date) As String
  ConvDate = "#" & Month(MaDate) & "/" & Day(MaDate) & "/" & Year(MaDate) & "#"
End Function

JB

Bonjour JB
Merci pour ta réponse.
effectivement pour MSSQL les dates sont placés entre ' avec le format YMD.
peux tu me dire la marche à suivre ?
comment relier ma cellule excel (Madate) et la requette SQL.
MErci encore et bonne journée
 

BOISGONTIER

XLDnaute Barbatruc
Repose en paix
Re : Question pour les Pros D'excell / SQL et date

Bonjour,

Code:
Sub essai()
  Sql = "select * from table where dateoperation between " & ConvDate([A1]) & " and " & ConvDate([A2])
  MsgBox Sql
End Sub
Function ConvDate(MaDate As Date) As String
  ConvDate = "'" & Month(MaDate) & "/" & Day(MaDate) & "/" & Year(MaDate) & "'"
End Function

JB
 

TMMXONE

XLDnaute Nouveau
Re : Question pour les Pros D'excell / SQL et date

Bonjour,

Code:
Sub essai()
  Sql = "select * from table where dateoperation between " & ConvDate([A1]) & " and " & ConvDate([A2])
  MsgBox Sql
End Sub
Function ConvDate(MaDate As Date) As String
  ConvDate = "'" & Month(MaDate) & "/" & Day(MaDate) & "/" & Year(MaDate) & "'"
End Function

JB

Merci .
je joins un fichier exemple pour illustrer ce que je voudrais pouvoir faire avec votre aimable aide.
merci encore
 

Pièces jointes

  • test.zip
    8.9 KB · Affichages: 51
  • test.zip
    8.9 KB · Affichages: 40
  • test.zip
    8.9 KB · Affichages: 36

ChTi160

XLDnaute Barbatruc
Re : Question pour les Pros D'excell / SQL et date

Salut
Bonjour le fil
Bonjour le forum

pourquoi ne pas formater tes deux cellules A1:B1 "aaaa/mm/jj"
ainsi tu obtiens le format souhaité

puis tu mets un truc du genre ....
Code:
Sub essai()
 DteDebut = Range("A1")
  Dtefin = Range("B1")
  Sql = "SELECT * FROM DEPENSEHAS where date_sys between " _
  & DteDebut & " and " & Dtefin
  MsgBox Sql
End Sub
je n'y connais pas grand chose pour ainsi dire rien des Sql
Ps : effectivement les dates sont reformatées dd/mm/yyyy dans la Sql
Bonne fin de journée
 
Dernière édition:

Statistiques des forums

Discussions
314 088
Messages
2 105 675
Membres
109 413
dernier inscrit
s.amine