Toon posts:

[sql cf] Between Date error

Pagina: 1
Acties:

Verwijderd

Topicstarter
Wat is er mis aan deze QUERY ? Ik snap niet wat er verkeerd gaat. (het veld datumgepubliceerd is een datumveld in de MDB.)

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<CFSET fotoselectie = "2002-11">
<!--- var wordt in origineel doorgegeven uit vorige pagina -->


<CFQUERY DATASOURCE="egpn" NAME="fotolijstklein">

SELECT datumgepubliceerd, bestandsnaam, plaatjeID from egpnfoto 

WHERE categorie='groot' 

AND datumgepubliceerd 
BETWEEN DATE '#DATEFORMAT(CREATEDATE(dateformat(fotoselectie,'yyyy'), dateformat(fotoselectie,'m'), 1), 'yyyy-mm-dd')#'
AND DATE '#DATEFORMAT(CREATEDATE(year(NOW()), month(NOW()), day(NOW())), 'yyyy-mm-dd')#' 

ORDER BY Bestandsnaam

</CFQUERY>


de ERROR:

ODBC Error Code = 37000 (Syntax error or access violation)

[Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression 'datumgepubliceerd BETWEEN DATE '2002-11-01' AND DATE '2002-05-12''.

  • mulder
  • Registratie: Augustus 2001
  • Laatst online: 22-08 10:45

mulder

ik spuug op het trottoir

single quote vergeten, beter kijken dus

oogjes open, snaveltjes dicht


Verwijderd

Topicstarter
ik zie niet wat je bedoelt en kijk op mn best... :)
er staat: er is een fout in 'blablabla 'datum' and 'datum' blablabla'
dat klopt qua syntax toch?

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-08 11:40

gorgi_19

Kruimeltjes zijn weer op :9

Zet je query eens op het scherm en plaats deze hier. Ws zie je dan zelf je fout ook wel.. :)

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Verwijderd

Topicstarter
offtopic:
...begint zich al dom te voelen


het moet toch zeker niet zo??


<CFQUERY DATASOURCE="egpn" NAME="fotolijstklein">

SELECT datumgepubliceerd, bestandsnaam, plaatjeID from egpnfoto

WHERE categorie='groot'

AND (datumgepubliceerd
BETWEEN DATE '#DATEFORMAT(CREATEDATE(dateformat(fotoselectie,'yyyy'), dateformat(fotoselectie,'m'), 1), 'yyyy-mm-dd')#'
AND DATE '#DATEFORMAT(CREATEDATE(year(NOW()), month(NOW()), day(NOW())), 'yyyy-mm-dd')#')

ORDER BY Bestandsnaam

</CFQUERY>


(Kan het niet checken hier want thuis is thuis en school is school)

  • InZane
  • Registratie: Oktober 2000
  • Laatst online: 22-08 22:34
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<CFSET fotoselectie = "2002-11">
<!--- var wordt in origineel doorgegeven uit vorige pagina -->

<CFQUERY DATASOURCE="egpn" NAME="fotolijstklein">

SELECT datumgepubliceerd, bestandsnaam, plaatjeID from egpnfoto 

WHERE categorie='groot' 

AND datumgepubliceerd 
BETWEEN '#DATEFORMAT(CREATEDATE(dateformat(fotoselectie,'yyyy'), dateformat(fotoselectie,'m'), 1), 'yyyy-mm-dd')#'
AND '#DATEFORMAT(CREATEDATE(year(NOW()), month(NOW()), day(NOW())), 'yyyy-mm-dd')#' 

ORDER BY Bestandsnaam

</CFQUERY>


Zo misschien?

[ Voor 92% gewijzigd door InZane op 12-05-2003 17:15 ]


Verwijderd

Topicstarter
nee, dat werkt ook niet. ik zie echt geen fout met die singel quote...

[ Voor 6% gewijzigd door Verwijderd op 13-05-2003 16:45 ]


  • jochemd
  • Registratie: November 2000
  • Laatst online: 08-08 15:51
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<CFSET fotoselectie = "2002-11">
<!--- var wordt in origineel doorgegeven uit vorige pagina -->

<CFQUERY DATASOURCE="egpn" NAME="fotolijstklein">
SELECT
    datumgepubliceerd,
    bestandsnaam,
    plaatjeID
FROM
    egpnfoto 
WHERE
    categorie='groot' 
    AND
    datumgepubliceerd BETWEEN
        <cfqueryparam cfsqltype="cf_sql_date" value="#fotoselectie#-1">
        AND
        <cfqueryparam cfsqltype="cf_sql_date" value="#Now()#">
ORDER BY
    Bestandsnaam
</CFQUERY>

Verwijderd

Topicstarter
ga ik proberen

Verwijderd

Topicstarter
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<CFSET fotoselectie = "2002-11">
<!--- var wordt in origineel doorgegeven uit vorige pagina -->

<CFQUERY DATASOURCE="egpn" NAME="fotolijstklein">
SELECT 
    datumgepubliceerd,
    bestandsnaam,
    plaatjeID
FROM
    egpnfoto 
WHERE
    categorie='groot' 
    AND
    datumgepubliceerd BETWEEN
        <cfqueryparam cfsqltype="cf_sql_date" value="#fotoselectie#-1">
        AND
        <cfqueryparam cfsqltype="cf_sql_date" value="#Now()#">
ORDER BY
    Bestandsnaam
</CFQUERY>


geeft de error: CFQUERYPARAM data conversion error
There is a data conversion error for CFQUERYPARAM #2.

en bij het onderstaande kom er geen foutmelding, maar geeft hij 0 recordcounts, terwijl dat er tig zouden moeten zijn:

code:
1
2
3
4
datumgepubliceerd BETWEEN
  <cfqueryparam cfsqltype="cf_sql_date" value="#dateformat(fotoselectie, 'yyyy-m-d')#">
AND
  <cfqueryparam cfsqltype="cf_sql_date" value="#dateformat(Now(),'yyyy-m-d')#">


volgens mijn boek kan het zo: <cfqueryparam cfsqltype="cf_sql_date" value="#CreateODBCDate(Now())#"> maar daar geeft hij bovengenoemde foutmelding.

  • jochemd
  • Registratie: November 2000
  • Laatst online: 08-08 15:51
Verwijderd schreef op 15 May 2003 @ 13:16:
en bij het onderstaande kom er geen foutmelding, maar geeft hij 0 recordcounts, terwijl dat er tig zouden moeten zijn:

code:
1
2
3
4
datumgepubliceerd BETWEEN
  <cfqueryparam cfsqltype="cf_sql_date" value="#dateformat(fotoselectie, 'yyyy-m-d')#">
AND
  <cfqueryparam cfsqltype="cf_sql_date" value="#dateformat(Now(),'yyyy-m-d')#">
Dan moet je even met de debug output mee gaan kijken wat er precies naar de database wordt gestuurd en dat even in Access zelf draaien.
Pagina: 1