Avatar billede para7 Nybegynder
23. april 2003 - 22:07 Der er 9 kommentarer og
1 løsning

Left og Mid i SQL sproget

Jeg har følgende:

strSQLopt = " update Booking set Optaget = 0 "
strSQLopt = strSQLopt & " where Lokalitet = '" & request.querystring("Lokalitet") & "' and Dato < '" & cstr(date) & "' "
objConn.execute(strSQLopt)

Men jeg har også et felt i Access databasen der hedder Tid, som indeholder fx strengen: 15:15-15:30 Bord 3. Systemet virker udemærket ellers med en streng med tid og emne.
Men for også at få Tid med i sammenligningen med den aktuelle tid Now, kan jeg vel ikke bare sige left(Tid,5) i SQL kriteriet, men hvad hedder det mon i SQL sproget?
Avatar billede arne_v Ekspert
23. april 2003 - 22:13 #1
Den slags funktioner er database specifikke.
Avatar billede -master-d- Nybegynder
23. april 2003 - 22:15 #2
jo det tror jeg da...

strSQLopt = " update Booking set Optaget = 0 "
strSQLopt = strSQLopt & " where Lokalitet = '" & request.querystring("Lokalitet") & "' and Dato < '" & cstr(date) & left(now(),5)"' "
objConn.execute(strSQLopt)
Avatar billede -master-d- Nybegynder
23. april 2003 - 22:16 #3
Men ellers burde det være sådan her.




strSQLopt = " update Booking set Optaget = 0 "
strSQLopt = strSQLopt & " where Lokalitet = '" & request.querystring("Lokalitet") & "' and Dato < '"& FormatDateTime(now, vbShortTime) &" " & cstr(date) & "' "
objConn.execute(strSQLopt)
Avatar billede hiks Nybegynder
23. april 2003 - 22:20 #4
Har du både klokkeslæt og et bordnummer med i din attribut der hedder Tid?
Avatar billede para7 Nybegynder
23. april 2003 - 23:07 #5
-master-d- >
Kan ikke det til at virke du foreslog. Jeg må hellere forklare lidt bedre.
Avatar billede para7 Nybegynder
23. april 2003 - 23:13 #6
I feltet Tid har jeg fx "15:15-15:30 Bord 3". Jeg vil så gerne pille bare de første 5 karakterer ud og sammenligne med den aktuelle tid. Hvis mindre sætte tiden ledig for en ny booking på denne tid.
Avatar billede para7 Nybegynder
23. april 2003 - 23:22 #7
Altså noget lignende:
strSQLopt = " update Booking set Optaget = 0 "
strSQLopt = strSQLopt & " where Lokalitet = '" & request.querystring("Lokalitet") & "' "
strSQLopt = strSQLopt & " and Dato < '" & cstr(date) & "' "
strSQLopt = strSQLopt & " and left(Tid,5) < '" & cstr(FormatDateTime(now, vbShortTime))& "' "
objConn.execute(strSQLopt)
Avatar billede para7 Nybegynder
23. april 2003 - 23:50 #8
OK -master-d- opret lige et svar >
Du har ret, at man kan skrive left(Tid,5). Det var en svær gang testning med opdateringsproblemer, hvor tabellen skulle åbnes mere end een gang (dobbeltklikke tabellen i programmet Access). Men med det her virker det tilsyneladende:
strSQLopt = " update Booking set Optaget = 0 "
strSQLopt = strSQLopt & " where Lokalitet = '" & request.querystring("Lokalitet") & "' "
strSQLopt = strSQLopt & " and Dato <= '" & cstr(date) & "' "
strSQLopt = strSQLopt & " and left(Tid,5) < '" & FormatDateTime(now, vbShortTime) & "' "
objConn.execute(strSQLopt)
Avatar billede para7 Nybegynder
24. april 2003 - 00:32 #9
Nå, nu virker det slet ikke. Det er nok blevet lidt sent. Jeg vender tilbage i morgen og fortæller, hvordan det går.
Avatar billede para7 Nybegynder
24. april 2003 - 15:41 #10
Det ser ud til at virke alligevel.
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