Toon posts:

[ASP] Selecteren van records tussen 2 datums met between?

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb een asp file die o.a de volgende code bevat:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<%  
    Dim Connection
    Dim Recordset
    Dim SQL
    Dim Begindatum
    Dim Einddatum
    
    Set Recordset = Server.CreateObject("ADODB.Recordset")
    Set Connection = Server.CreateObject("ADODB.Connection")    
    Begindatum = Request("edtBegindag") + "-" + Request("edtBeginmaand") + "-" + Request("edtBeginjaar")
    Einddatum = Request("edtEinddag") + "-" + Request("edtEindmaand") + "-" + Request("edtEindjaar")    

        Call Connection.Open("DRIVER={Microsoft Access Driver (*.mdb)};" & _
            "DBQ=" & Server.MapPath("HelpdeskI&A.mdb"))

    SQL = "SELECT * FROM HDTicket WHERE Datum BETWEEN '" & DateAdd("d",1,Begindatum) & "' AND '" & DateAdd("d",1,Einddatum) & "'"   
    
    Call Recordset.Open(SQL, Connection)
%>

ik krijg vervolgens de volgende error:

Soort fout:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E07)
[Microsoft][ODBC Microsoft Access-stuurprogramma] Gegevenstypen komen niet overeen in criteriumexpressie.

POST Data:
edtBegindag=12&edtbeginmaand=01&edtbeginjaar=1998&edteinddag=
12&edteindmaand=09&edteindjaar=2001&Verzenden=Zoeken

In mijn database staat het veld op Datum/tijd met het volgende invoermasker: 99-99-0000;0;_
Wat gaat er fout? Het lijkt wel alsof hij het datum format niet kan vergelijken met die van de database, maar waarom?

[ Voor 27% gewijzigd door Verwijderd op 24-12-2004 13:21 ]


  • P_de_B
  • Registratie: Juli 2003
  • Niet online
Je moet # gebruiken om een datumwaarde in Access.,


WHERE ble between #01-01-2005#

Oops! Google Chrome could not find www.rijks%20museum.nl


Verwijderd

Topicstarter
P_de_B schreef op vrijdag 24 december 2004 @ 13:22:
Je moet # gebruiken om een datumwaarde in Access.,


WHERE ble between #01-01-2005#
Als ik em op deze manier doe:

Begindatum = Request "#" + ("edtBegindag") + "-" + Request("edtBeginmaand") + "-" + Request("edtBeginjaar") + "#"
Einddatum = Request "#" + ("edtEinddag") + "-" + Request("edtEindmaand") + "-" + Request("edtEindjaar") + "#"

dat zegt ie, einde van instructie wordt verwacht?
wat doe ik fout?

[ Voor 50% gewijzigd door Verwijderd op 24-12-2004 13:31 ]


  • André
  • Registratie: Maart 2002
  • Laatst online: 18-05 16:30

André

Analytics dude

Nee, zo:

code:
1
SQL = "SELECT * FROM HDTicket WHERE Datum BETWEEN #" & DateAdd("d",1,Begindatum) & "# AND #" & DateAdd("d",1,Einddatum) & "#"

Verwijderd

Topicstarter
André schreef op vrijdag 24 december 2004 @ 13:29:
Nee, zo:

code:
1
SQL = "SELECT * FROM HDTicket WHERE Datum BETWEEN #" & DateAdd("d",1,Begindatum) & "# AND #" & DateAdd("d",1,Einddatum) & "#"
Krijg nu de volgende fout:

Compilatiefout Microsoft VBScript (0x800A0401)
Einde van de instructie wordt verwacht
/website/zoeken_datum.asp, line 22, column 21
Begindatum = Request "#" + ("edtBegindag") + "-" + Request("edtBeginmaand") + "-" + Request("edtBeginjaar") + "#"
--------------------^

oeps, moet nog ef de variabelen aanpassen ;]

[ Voor 56% gewijzigd door Verwijderd op 24-12-2004 13:38 ]


  • faabman
  • Registratie: Januari 2001
  • Laatst online: 08-08-2024
waarom werk je niet met parameterized queries?? dan ben je gelijk van het gezeur met datumnotitaties en datum-tekens af...

Op zoek naar een baan als Coldfusion webdeveloper? Mail me!


Verwijderd

Topicstarter
hij werkt, danku :D
Pagina: 1