j'utilise un ordre SQL dans un Objet Querydef sous DAO. Jusque là ça
va.
voici le code:
chaine_sql = "select cab_num from cb, cp where cab_dat >= # " &
main_screen.txt_date_debut.Text & _
" # and cab_dat <= # " & main_screen.txt_date_fin.Text & " # and
cab_num = cap_num"
On Error GoTo querry_error
Set qd = db.CreateQueryDef("", chaine_sql)
On Error GoTo 0
Set rc_qf = qd.OpenRecordset(dbOpenDynaset, dbconcitent)
Do While rc_qf.EOF = False
...
loop
qd ma variable main_screen.txt_date_debut.Text vaut 01/01/04 et ma
variable main_screen.txt_date_fin.text vaut 31/01/04, je n'obtiens
aucune ligne, alors qu'il y en a au moins 4000.
Si je mets la valeur 10/01/04, là j'obtients des valeurs. J'ai bien
l'impression que Access traite les dates sous la forme mois/
jour/année, alors que je lui présente sous le forme jour/mois/année.
Ors j'ai regardé dans les paramètres régionaux, et je suis bien en
français avec un format de date du style 17/05/04
j'utilise un ordre SQL dans un Objet Querydef sous DAO. Jusque là ça va.
voici le code:
chaine_sql = "select cab_num from cb, cp where cab_dat >= # " & main_screen.txt_date_debut.Text & _ " # and cab_dat <= # " & main_screen.txt_date_fin.Text & " # and cab_num = cap_num"
On Error GoTo querry_error Set qd = db.CreateQueryDef("", chaine_sql) On Error GoTo 0
Set rc_qf = qd.OpenRecordset(dbOpenDynaset, dbconcitent)
Do While rc_qf.EOF = False ...
loop
qd ma variable main_screen.txt_date_debut.Text vaut 01/01/04 et ma variable main_screen.txt_date_fin.text vaut 31/01/04, je n'obtiens aucune ligne, alors qu'il y en a au moins 4000.
Si je mets la valeur 10/01/04, là j'obtients des valeurs. J'ai bien l'impression que Access traite les dates sous la forme mois/ jour/année, alors que je lui présente sous le forme jour/mois/année. Ors j'ai regardé dans les paramètres régionaux, et je suis bien en français avec un format de date du style 17/05/04
Auriez vous une idée?
Cordialement
Thierry
Pourquoi ne pas utiliser la fonction format dans ce cas.
Comme ceci (non testé) :
chaine_sql = "select cab_num from cb, cp where cab_dat >= # " &
"thierry" <thierry.marcel@laposte.net> a écrit dans le message de
news:9dhha0lv8t3ftcg0mubeluaesgqupq8lo1@4ax.com...
Bonjour,
j'utilise un ordre SQL dans un Objet Querydef sous DAO. Jusque là ça
va.
voici le code:
chaine_sql = "select cab_num from cb, cp where cab_dat >= # " &
main_screen.txt_date_debut.Text & _
" # and cab_dat <= # " & main_screen.txt_date_fin.Text & " # and
cab_num = cap_num"
On Error GoTo querry_error
Set qd = db.CreateQueryDef("", chaine_sql)
On Error GoTo 0
Set rc_qf = qd.OpenRecordset(dbOpenDynaset, dbconcitent)
Do While rc_qf.EOF = False
...
loop
qd ma variable main_screen.txt_date_debut.Text vaut 01/01/04 et ma
variable main_screen.txt_date_fin.text vaut 31/01/04, je n'obtiens
aucune ligne, alors qu'il y en a au moins 4000.
Si je mets la valeur 10/01/04, là j'obtients des valeurs. J'ai bien
l'impression que Access traite les dates sous la forme mois/
jour/année, alors que je lui présente sous le forme jour/mois/année.
Ors j'ai regardé dans les paramètres régionaux, et je suis bien en
français avec un format de date du style 17/05/04
j'utilise un ordre SQL dans un Objet Querydef sous DAO. Jusque là ça va.
voici le code:
chaine_sql = "select cab_num from cb, cp where cab_dat >= # " & main_screen.txt_date_debut.Text & _ " # and cab_dat <= # " & main_screen.txt_date_fin.Text & " # and cab_num = cap_num"
On Error GoTo querry_error Set qd = db.CreateQueryDef("", chaine_sql) On Error GoTo 0
Set rc_qf = qd.OpenRecordset(dbOpenDynaset, dbconcitent)
Do While rc_qf.EOF = False ...
loop
qd ma variable main_screen.txt_date_debut.Text vaut 01/01/04 et ma variable main_screen.txt_date_fin.text vaut 31/01/04, je n'obtiens aucune ligne, alors qu'il y en a au moins 4000.
Si je mets la valeur 10/01/04, là j'obtients des valeurs. J'ai bien l'impression que Access traite les dates sous la forme mois/ jour/année, alors que je lui présente sous le forme jour/mois/année. Ors j'ai regardé dans les paramètres régionaux, et je suis bien en français avec un format de date du style 17/05/04
Auriez vous une idée?
Cordialement
Thierry
Zoury
Salut!
C'est un peu dur sans pouvoir débuguer... as-tu essayé avec CDate() ?
chaine_sql = "select cab_num from cb, cp where cab_dat >= # " & CDate(main_screen.txt_date_debut.Text) & _ " # and cab_dat <= # " & CDate(main_screen.txt_date_fin.Text) & " # and cab_num = cap_num"