Avatar billede bobbedude Nybegynder
29. marts 2009 - 13:15 Der er 10 kommentarer og
1 løsning

Fejl når dato er tom

Da man ikke altid udfylder et dato felt hvordan undgår man så at access fejler ??


SQL = SQL & "nyfdato= #"& nyfdato & "#, "

hvis nyfdato er tom får jeg fejlen:

Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

[Microsoft][ODBC Microsoft Access Driver] Syntax error in date in query expression '##'.
Avatar billede keysersoze Guru
29. marts 2009 - 16:44 #1
If nyfdato = "" Then
  nyfdato = "null"
Else
  nyfdato = "#"& nyfdato & "#"
End If

SQL = SQL & "nyfdato= "& nyfdato & ", "
Avatar billede softspot Forsker
29. marts 2009 - 19:30 #2
Så skal det vel nærmest være:

If not isdate(nyfdato) Then
  nyfdato = " is null"
Else
  nyfdato = " = #"& nyfdato & "#"
End If

SQL = SQL & "nyfdato "& nyfdato & ", "

...da jeg ikke mener null blot kan sammenlignes med lighedstegn...(?)

Jeg foretrækker at benytte funktionen isdate, da den også vil validere datoen, hvis nyfdato ikke er tom (hvor koden, ved check på indhold i strengen, ellers stadig fejle, hvis datoen ikke er gyldig).

Bort set fra det, vil jeg nok vælge at benytte et Command-objekt til at udføre handlingen...
Avatar billede keysersoze Guru
29. marts 2009 - 19:45 #3
korrekt - isdate er nok bedre i dette tilfælde, men det er også en (dog minimalt) tungere funktion og uden at vide hvad kilden er kunne det være at en simplere metode var bedre.

is date er også korrekt hvis det er til sammenligning - jeg antog det som en update :)
Avatar billede softspot Forsker
29. marts 2009 - 19:50 #4
Vedr. sammenligning kontra update: Ja, helt klart, den fik jeg ikke tænkt færdig - du har ret, keysersoze... :-)
Avatar billede bobbedude Nybegynder
29. marts 2009 - 21:25 #5
det er en update og efter at have skrevet:

If not isdate(nyfdato) Then
  nyfdato = " is null"
End If
   
    SQL = SQL & "nyfdato= #"& nyfdato & "#, "

får jeg stadig fejl:

[Microsoft][ODBC Microsoft Access Driver] Syntax error in date in query expression '# is null#'.
Avatar billede softspot Forsker
29. marts 2009 - 21:51 #6
Ja, det er det keysersoze nævner... :-)

Prøv lige at smide hele din SQL-sætning herind, så er det lidt lettere at se hvordan tingene hænger sammen (og komme med et konstruktivt foreslag til hvad du kan gøre).
Avatar billede softspot Forsker
29. marts 2009 - 22:11 #7
...eller bare brug det som keysersoze foreslår i sit svar :-)
Avatar billede bobbedude Nybegynder
30. marts 2009 - 14:34 #8
keysersoze smid et svar det spiller
Avatar billede bobbedude Nybegynder
31. marts 2009 - 11:08 #9
Sover keysersoze ??
Avatar billede keysersoze Guru
09. april 2009 - 00:32 #10
næh - tror bare jeg må have misset en mail, her mit svar :)
Avatar billede bobbedude Nybegynder
09. april 2009 - 10:51 #11
Og god påske
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