Avatar billede jobless Nybegynder
15. april 2002 - 12:39 Der er 8 kommentarer og
1 løsning

Hmmm..... hvad er der galt med min sql.?

Hej.

Jeg kører en sql forespørgsel fra vba. Den er opbygget af nogle kreterier, bla. datofelter.

I min fejlsøgning har jeg reduceret den til følgende:

SELECT Planlægning.[plan-ID], Planlægning.[Planlagt start]
FROM Planlægning
WHERE (((Planlægning.[Planlagt start])=#4/15/2002 18:1:0#))
ORDER BY Planlægning.[Planlagt start];

Jeg har én post i tabellen 'planlægning' som har [Planlagt start] 15-04-2002 18:01:00, men den kommer ikke med i min forespørgsel.... wierd??

Plz Help....
15. april 2002 - 12:46 #1
Jeg har selv brugt lang tid på det problem:

Prøv med:
SELECT [plan-ID], [Planlagt start]
FROM Planlægning
WHERE month([Planlagt start])=4 and Day([Planlagt start]) = 15 and Year([Planlagt start]) = 2002 and Hour([Planlagt start]) = 18 and Minute([Planlagt start]) = 1 and Second([Planlagt start]) = 0
ORDER BY [Planlagt start];
Avatar billede terry Ekspert
15. april 2002 - 12:47 #2
maybe #4/15/2002 18:1:0# should be #04/15/2002 18:01:00#
Avatar billede terry Ekspert
15. april 2002 - 12:47 #3
or even #2002-04-15 18:01:00#))
Avatar billede jobless Nybegynder
15. april 2002 - 13:30 #4
I omvendt rækkefølge:

Terry:
Jeg har forsøgt med at ændre datoen som du beskriver, dog uden held. Min dato kommer fra et datofelt over i en variabel på følgende måde:
Format$(DLookup("[Planlagt start]", "[planlægning]", "[plan-id]=" & FirstID), "mm-dd-yyyy hh:nn:ss")

Thomas:
Min 'rigtige' sql ser ud i retning af denne:

UPDATE Planlægning SET Planlægning.[Planlagt start] = DateAdd("h",-24,[planlagt start]) WHERE (((Planlægning.[Planlagt start])>=#04-16-2002 02:31:00# And (Planlægning.[Planlagt start])<=#04-16-2002 12:01:00#));

Fejlen er at '=' før fra-datoen bliver ignoreret. Hvis jeg sætter kriteriet til et sekund tidligere kommer posten med, men ikke når det er samme tidspunkt.
Måske er det en fejl i Access??

Jeg vil prøve med dit forslag, selvom jeg troer at vi begge ikke mener at dette bør være nødvendigt.... ;=((

Jeg vender tilbage.

MVH

JoBless
Avatar billede jobless Nybegynder
15. april 2002 - 13:54 #5
Thomas:
Den går jo ikke rigtigt når jeg vil bruge '>=' udtrykket.
Jeg prøver at kombinere min første streng med dit forslag, med en 'OR' sætning.

ps.: dit forslag finder rigtignok posten hvis man ønsker funktionen '='

MVH

JoBless
15. april 2002 - 14:00 #6
du har helt ret - i dit spm brugte du bare '=' og da ved jeg at det virker. Men hvis du skal bruge > eller < er det straks lidt mere tricky at bruge min løsning.
Avatar billede jobless Nybegynder
16. april 2002 - 10:25 #7
Jeg har brugt følgende for at opbygge min sql:
1: Din (Thomas) løsning for at få første post med (=)1:
2: Din (Thomas) løsning for at få sidste post med (=)
3: Min løsning for at få alle poster som ligger derimellem.

Er dette ikke en fejlfortolkning af Access, når den skal sammenligne datoer?

MVH

JoBless
16. april 2002 - 23:00 #8
Jo, jeg forstår det heller ikke! Jeg har ikke oplevet det tidligere...!??
Avatar billede jobless Nybegynder
17. april 2002 - 09:17 #9
Det er utroligt omstændeligt at bygge en vba-streng op på denne måde, da der jo let kan indgå mange variabler.
:=((
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
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

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