Probleme de between

Résolu
ManuAntibes Messages postés 491 Date d'inscription mardi 24 octobre 2000 Statut Membre Dernière intervention 18 novembre 2021 - 22 mai 2005 à 22:26
ManuAntibes Messages postés 491 Date d'inscription mardi 24 octobre 2000 Statut Membre Dernière intervention 18 novembre 2021 - 23 mai 2005 à 09:49
http://www.phpcs.com/auteurdetail.aspx?ID=10937 Salut

Voici deux codes (1 Bleu + 1 rouge) qui normalement devraient données la meme chose, mais le code en rouge ne marche pas.

<%
Dim Re_facture__MMColParam
Re_facture__MMColParam = "1"
If (Request.form("select_client") <> "") Then
Re_facture__MMColParam = Request.form("select_client") 'liste déroulante'
End If
%>
<%
Dim Re_facture
Dim Re_facture_numRows
Set Re_facture = Server.CreateObject("ADODB.Recordset")
Re_facture.ActiveConnection = MM_Connexion_Riag_STRINGRe_facture.Source "SELECT NUMERO_FA, DATE_FA, RAI_SOC_FA, HT_1_FA, TVA_1_FA, TTC_1_FA, REGLEE_FA FROM FACTURES WHERE RAI_SOC_FA '" + Replace(Re_facture__MMColParam, "'", "''") + "' AND DATE_FA BETWEEN #01/01/2005# AND #01/30/2005# ORDER BY DATE_FA ASC"
Re_facture.CursorType = 0
Re_facture.CursorLocation = 2
Re_facture.LockType = 1
Re_facture.Open()
Re_facture_numRows = 0
%>

<%
Dim Re_facture__MMColParam
Re_facture__MMColParam = "1"
If (Request.form("select_client") <> "") Then
Re_facture__MMColParam = Request.form("select_client") ' liste déroulante
End If
%>
<%
Dim Re_facture__MMColParam1
Re_facture__MMColParam1 = "1"
If (Request.form("select_date") <> "") Then
Re_facture__MMColParam1 = Request.form("select_date") ' champ texte où j'ecrie la date 01/01/2005
End If
%>
<%
Dim Re_facture__MMColParam2
Re_facture__MMColParam2 = "99999"
If (Request.form("select_date1") <> "") Then
Re_facture__MMColParam2 = Request.form("select_date1") ' champ texte où j'ecrie la date 01/30/2005
End If
%>
<%
Dim Re_facture
Dim Re_facture_numRows
Set Re_facture = Server.CreateObject("ADODB.Recordset")
Re_facture.ActiveConnection = MM_Connexion_Riag_STRINGRe_facture.Source "SELECT NUMERO_FA, DATE_FA, RAI_SOC_FA, HT_1_FA, TVA_1_FA, TTC_1_FA, REGLEE_FA FROM FACTURES WHERE RAI_SOC_FA '" + Replace(Re_facture__MMColParam, "'", "''") + "' AND DATE_FA BETWEEN '" + Replace(Re_facture__MMColParam1, "'", "''") + "' AND '" + Replace(Re_facture__MMColParam2, "'", "''") + "' ORDER BY DATE_FA ASC"
Re_facture.CursorType = 0
Re_facture.CursorLocation = 2
Re_facture.LockType = 1
Re_facture.Open()
Re_facture_numRows = 0
%>

Pourquoi ça marche pas pouvez vous essayez de me corriger.

MANUANTIBES

4 réponses

Horfee Messages postés 188 Date d'inscription mercredi 9 avril 2003 Statut Membre Dernière intervention 10 août 2009
23 mai 2005 à 08:31
ouaou en fait j'avais pas fait gaffe : dans le premier tu utilise bien
la syntaxe access -->#JJ/MM/AAAA# alors que dans le deuxieme tu
genere un truc avec des " ' " donc c sûr que ca peut pas marcher !!!
3
Horfee Messages postés 188 Date d'inscription mercredi 9 avril 2003 Statut Membre Dernière intervention 10 août 2009
23 mai 2005 à 08:29
a premiere vu ca a l'air correct. Essaie de mettre la requete
"compilée" ( une fois tout les champs remplacés) pour voir si c pas un
probleme de guillemets ou un truc comme ca. Sinon après je pense que le
pb donc vient des dates comme tu l'as dit dans ton titre : la solution
en fait depend de ta bd : si tu utilise mysql, il faut que tu lui donne
le format 'AAAA-MM-JJ'. Si c access il faut mettre des # autour
(#JJ/MM/AAAA#).

Dans ton prog je vois que ca comme solution...
0
ManuAntibes Messages postés 491 Date d'inscription mardi 24 octobre 2000 Statut Membre Dernière intervention 18 novembre 2021 5
23 mai 2005 à 09:42
je mets quoi alors a la place des ' ' des # #.?

en fait le code est ecrie par Dreamweaver mx, le probleme de dream c'est qu'il n'ecrire pas comme tous le monde, (les bouquins ou autres).
Alors tintin apres pour corrigé les erreurs.

Je vais testé les # # et je reposte pour dire si ça va mieux ou pas.
en tout cas merci Horfee
A+
MANUANTIBES
0
ManuAntibes Messages postés 491 Date d'inscription mardi 24 octobre 2000 Statut Membre Dernière intervention 18 novembre 2021 5
23 mai 2005 à 09:49
Ok un grand merci Horfee

tu me sauves le conseil avec les guillemets ete la solution.

j'ai mis ça est ça marche :
Re_facture.Source "SELECT NUMERO_FA, DATE_FA, RAI_SOC_FA, HT_1_FA, TVA_1_FA, TTC_1_FA FROM FACTURES WHERE RAI_SOC_FA '" + Replace(Re_facture__MMColParam, "'", "''") + "' AND DATE_FA BETWEEN #" + Replace(Re_facture__MMColParam1, "'", "''") + "# AND #" + Replace(Re_facture__MMColParam2, "'", "''") + "# ORDER BY DATE_FA ASC"

A+
MANUANTIBES
0
Rejoignez-nous