Avatar billede surreal Nybegynder
01. august 2001 - 13:11 Der er 3 kommentarer

SQL string

Jeg vil gerne hente data ud af en db (Access).
lMemID er et Session object, som indeholder et medlemID.

SQL = \"SELECT COUNT(*) AS lAntal FROM reservationer WHERE (reservationer.resmedlemsnr = \'\" & lMemID & \"\') AND (reservationer.resdato BETWEEN #\" & nMonday & \"# AND #\" & nSunday  & \"#);\"

virker heller ikke:
SELECT COUNT(*) AS lAntal FROM reservationer WHERE (reservationer.resmedlemsnr = \'\" & lMemID & \"\') AND (reservationer.resdato >= #\" & nMonday & \"# AND reservationer.resdato <= #\" & nSunday  & \"#);\"

Jeg kan ikke får antalet ud. Det kan jeg kun når jeg dele stregen op i to, enten hente resmedlemsne eller resdato. Det vil bare ikke virke i en streng.

Er der nogen, der kan hjælp??

Mange tak
Avatar billede terry Ekspert
01. august 2001 - 13:18 #1
so you say
SQL = \"SELECT COUNT(*) AS lAntal FROM reservationer WHERE (reservationer.resmedlemsnr = \'\" & lMemID & \"\');\"
works, and

SQL = \"SELECT COUNT(*) AS lAntal FROM reservationer WHERE (reservationer.resdato BETWEEN #\" & nMonday & \"# AND #\" & nSunday  & \"#);\"
works also.

Are you sure that there is data in the database that matches

SQL = \"SELECT COUNT(*) AS lAntal FROM reservationer WHERE (reservationer.resmedlemsnr = \'\" & lMemID & \"\') AND (reservationer.resdato BETWEEN #\" & nMonday & \"# AND #\" & nSunday  & \"#);\"

?

Try writing SQL to the screen response.write ... or soemthing, then cut and paste this to a query in Access. If it deesnt work here then you dont have data matching the seelect





Avatar billede surreal Nybegynder
01. august 2001 - 13:53 #2
It was because that Access is American based and they are the only people on the planet that write the date starting with the month/day/year.
        nMonday = Month(nMonday) & \"-\" & Day(nMonday) & \"-\" & Year(nMonday)
    nSunday = Month(nSunday) & \"-\" & Day(nSunday) & \"-\" & Year(nSunday)
   
    SQL = \"SELECT COUNT(*) AS Antal FROM [reservationer] WHERE reservationer.resdato >= #\" & nMonday & \"# AND reservationer.resdato <= #\" & nSunday & \"# AND reservationer.resmedlemsnr = \'\" & lMemID & \"\';\"

It works anyway..
Avatar billede terry Ekspert
01. august 2001 - 14:00 #3
surreal> you said that

SQL = \"SELECT COUNT(*) AS lAntal FROM reservationer WHERE (reservationer.resdato BETWEEN #\" & nMonday & \"# AND #\" & nSunday  & \"#);\"

worked!

The dates are the same no matter if this is on its own or togther with the resmedlemsnr!!!
Your question was a bit misleading wasnt it!

Another thing, date formats should always be in US format  MMDDYYYY not just in Access but I would think ALL SQL databases.




Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester