Gå til innhold

sql-string (query) med dato felt


Anbefalte innlegg

Hei !

Jeg har en VB applikasjon som er koblet mot en Access-database.

I den forbindelse kjører jeg mange sql-spørringer.

I databasen har jeg flere dato-felt som ligger definert som kort dato - format,

dvs. f.eks. 31.05.2005

 

Jeg forsøker å kjøre sql-query som følger :

 

SELECT * FROM tabell1 WHERE tabell1.dato = #" & inndato & "#"

 

Siden jeg kjører Norwegian som regional settings på min datamaskin

får jeg ikke kjørt spørringen. Definerer jeg regional settings til Engelsk

fungerer alt som det skal, da blir nemlig dato-felt i Access f.eks. 31/05/2005.

Hvordan skal jeg løse dette ?. Ønsker jo ha ha norsk reginal setting

på min pc. Gjør jeg om dato-feltene i tabellen om til Tekst-felt fungerer det

også utmerket, men da må jeg bytte ut # med ' i spørringen min.

Ulempen da er at jeg ikke får brukt sorteringsmulighet osv. på disse dato-feltene

slik som man får gjort hvis dem er definert som dato-felt.

Lenke til kommentar
Videoannonse
Annonse

Access krever at datoformatet som brukes i en spørring er i format "måned/dag/år hh:mm:ss". "hh:mm:ss" kan sløyfes.

 

Denne funksjonen tar en Date verdi som parameter og returnerer datoen som en streng i det formatet Access krever. IncludeTime parameteret forteller funskjonen om klokkeslettet skal returneres eller ikke.

 

Public Function SQLDate(dDate As Variant, Optional IncludeTime As Boolean = True) As Variant

If IsDate(dDate) Then
   If IncludeTime Then
       SQLDate = Month(dDate) & "/" & Day(dDate) & "/" & Year(dDate) & " " & Hour(dDate) & ":" & Minute(dDate) & ":" & Second(dDate)
   Else
       SQLDate = Month(dDate) & "/" & Day(dDate) & "/" & Year(dDate)
   End If
Else
   SQLDate = Null
End If

End Function

 

Ved å bruke denne funskjonen blir spørringen din slik:

 

SELECT * FROM tabell1 WHERE tabell1.dato = #" & SQLDate(inndato,false) & "#"

Lenke til kommentar
  • 2 uker senere...

Har funnet en grei måte å løse dette på som fungerer fint :

 

 

dagensdato = Date

dagensdato = Format(dagensdato, "mm/dd/yyyy")

dagensdato = Replace(dagensdato, ".", "/")

 

sql = "Select * From tblStemplinger " & _

"Where tblStemplinger!Ansattnummer = " & Innloggetnummer & _

" And tblStemplinger!Stemplinginn = #" & dagensdato & "#"

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...