Avatar billede rasmusr Nybegynder
12. august 2002 - 16:42 Der er 31 kommentarer og
2 løsninger

dato < " & date ?

Jeg kører med en acces database og siderne programmeres i ASP.

Det jeg forsøger i nedenstående SQL sætning fungere ikke (dato er et dato felt i databasen). Er det slet ikke muligt at lave noget datosammenligning i SQL'en?

SQL = "SELECT id, dage FROM webshop WHERE aktiv = true AND dato < " & date
set rs = conn.execute(SQL)

Den skal gøre det at den tjekker om der findes en dato der er mindre end (<) d.d.

Jeg spørger for at undgå at lave uden for SQL sætningen ved at tjekke hver dato i en loop.
Avatar billede rasmusr Nybegynder
12. august 2002 - 16:43 #1
By the way jeg har heller ikke haft noget held med datediff.
Avatar billede soes Nybegynder
12. august 2002 - 16:44 #2
SQL = "SELECT id, dage FROM webshop WHERE aktiv = true AND dato < #" & date & "#"

vil være mit forslag
Avatar billede rasmusr Nybegynder
12. august 2002 - 16:47 #3
Nope det fungere heller ikke :o(
Avatar billede dalbjerg Nybegynder
12. august 2002 - 16:48 #4
SQL = "SELECT id, dage FROM webshop WHERE aktiv = true AND dato < '" & date & "'"
set rs = conn.execute(SQL
Avatar billede rasmusr Nybegynder
12. august 2002 - 16:48 #5
Når det står uden # så finder den slet ikke nogen og når det står med # så tager den bare alle aktive også dem hvor datoen er større end d.d.
Avatar billede dalbjerg Nybegynder
12. august 2002 - 16:48 #6
dato, skal self står som en rigtig dato variabel..
Avatar billede rasmusr Nybegynder
12. august 2002 - 16:49 #7
dalbjerg > Det går slet ikke så kommer der en fejl:
Data type mismatch in criteria expression.
Avatar billede dalbjerg Nybegynder
12. august 2002 - 16:50 #8
rasmusr: også det du beder den om...

Skriv hvad du vil havde frem istedet for
Avatar billede rasmusr Nybegynder
12. august 2002 - 16:51 #9
Dato er et dato felt i db'en.
Ved response.write(rs("dato") < date) giver den også true hvor det passer. Det er kun i SQL'en det ikke funker.
Avatar billede dalbjerg Nybegynder
12. august 2002 - 16:52 #10
her siger du jo netop også at du vil havde den til at være true. nå rs("dato") er mindre end date
Avatar billede rasmusr Nybegynder
12. august 2002 - 16:55 #11
Det her:
SQL = "SELECT id, dage FROM webshop WHERE aktiv = true AND dato < '" & date & "'"
set rs = conn.execute(SQL)
Giver fejlen:
Data type mismatch in criteria expression.
Og det vil da sige at det slet ikke fungere når der sættes ' rundt om.
Avatar billede dalbjerg Nybegynder
12. august 2002 - 16:57 #12
Når det står uden # så finder den slet ikke nogen og når det står med # så tager den bare alle aktive også dem hvor datoen er større end d.d.

også det du beder den om. Altså at tage alle som aktive og dem hvor dato er større end d.d
Avatar billede rasmusr Nybegynder
12. august 2002 - 16:59 #13
Jeg beder den da ikke om tager noget der er større end d.d.?
dato = felt i databasen
date = d.d.
dato < date
felt i database < d.d.
Tegnet < betyder mindre end.
Avatar billede dalbjerg Nybegynder
12. august 2002 - 17:01 #14
så bytter du vel bare < ud med > ?
Avatar billede rasmusr Nybegynder
12. august 2002 - 17:02 #15
Altså skal den f.eks. kun reagere på:
10-08-2002 < 12-08-2002
og ikke på
13-08-2002 < 12-08-2002 (hvilket er noget sludder), men det gør den når der er # rundt om date.
Avatar billede dalbjerg Nybegynder
12. august 2002 - 17:08 #16
Rasmusr: du vil ?
Jeg har forståret det sådan.
Du vil havde
felter hvor aktiv = true & felter hvor dato skal være mindre end date
Avatar billede rasmusr Nybegynder
12. august 2002 - 17:09 #17
Kan du ikke se hvad jeg mener dalbjerg?
Det er altså ikke et spørgsmål om at skifte < ud, eftersom den er "ligeglad" med det tegn.
Avatar billede dalbjerg Nybegynder
12. august 2002 - 17:11 #18
ARHHH, svar mig om det jeg har forståret er rigtigt på dig?
Rasmusr: du vil ?
Jeg har forståret det sådan.
Du vil havde
felter hvor aktiv = true & felter hvor dato skal være mindre end date
Avatar billede rasmusr Nybegynder
12. august 2002 - 17:11 #19
Ja den skal tage alle felter hvor:
aktiv = true og hvor dato er mindre end d.d.
Men med # rundt om date så tager den alle poster hvor aktiv = true og er total ligeglad med om dato feltet er større eller mindre end d.d. og det er jo IKKE det jeg vil have.
Avatar billede dalbjerg Nybegynder
12. august 2002 - 17:14 #20
SQL = "SELECT id, dage FROM webshop WHERE (aktiv = true) AND (dato < " & date & ")"
set rs = conn.execute(SQL)

dette virker heller ikke vel ?
Fuckt det er langt tid siden jeg har arbejdet med asp :)
Avatar billede rasmusr Nybegynder
12. august 2002 - 17:15 #21
Det er "bare" et spørgsmål om at finde noget SQL kode der fungere, eftersom nedenstående ikke fungere. (altså er det en ubrulig kode når man bruger access databaser!)

SQL = "SELECT id, dage FROM webshop WHERE aktiv = true AND dato < #" & date & "#"
Avatar billede rasmusr Nybegynder
12. august 2002 - 17:18 #22
Hverken (aktiv = true) AND (dato < " & date & ")"
eller (aktiv = true) AND (dato < #" & date & "#)"
fungere.
Avatar billede dalbjerg Nybegynder
12. august 2002 - 17:31 #23
SQL = "SELECT id, dage FROM webshop WHERE aktiv = true AND dato < date"
Avatar billede rasmusr Nybegynder
12. august 2002 - 17:32 #24
Så kommer denne fejl:
Too few parameters. Expected 1.
Fordi den ikke kan finde det felt i databasen der hedder date (logisk nok)
Avatar billede rasmusr Nybegynder
12. august 2002 - 17:33 #25
Husk det er en access database, hvis det var MSSQL så kunne jeg jo bare have lavet sådan en dato < getdate().
Men så nemt skal det åbenbart ikke være med access (iriterende).
Avatar billede rasmusr Nybegynder
12. august 2002 - 17:40 #26
Ok jeg har sat den til at loope. Det er bare trælst mht. performance. Men det er der åbenbart nogle stykker bekendt at der ikke er noget at gøre ved. Eller hvad?
Jeg lukker.
Avatar billede rasmusr Nybegynder
12. august 2002 - 17:41 #27
Lidt points for det ihærdige forsøg, dalbjerg.
Takker.
Avatar billede soes Nybegynder
12. august 2002 - 17:46 #28
rasmusr > hvis du ikke har noget imod det så send mig lige databasen, så vil jeg gerne lige lave det sql så det kommer til at virke, det kan da ikke passe. min mail er Soes@mail.dk

Det skal lige siges at point er jeg fuldstændig ligeglad med
Avatar billede dalbjerg Nybegynder
12. august 2002 - 17:49 #29
SQL = "SELECT * FROM webshop where aktiv = true and dato > date()"
Avatar billede dalbjerg Nybegynder
12. august 2002 - 17:50 #30
Det der virker for mig: code & min database:
http://www.ecpparty.dk/www/2/dato/dato.zip
Avatar billede rasmusr Nybegynder
12. august 2002 - 18:06 #31
Jubel det fungerer med date().
Kanon dalbjerg
Jeg opretter lige en ny så du kan få dine pounts :o)
Avatar billede dalbjerg Nybegynder
12. august 2002 - 18:08 #32
:)
Har ikke tabt det asp helt aligevel så :)
Avatar billede rasmusr Nybegynder
12. august 2002 - 18:09 #33
dalbjerg svar på > http://www.eksperten.dk/spm/245496
Ellers tak soes :o)
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
Kurser inden for grundlæggende programmering

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