Avatar billede phineas_phreak Nybegynder
18. juli 2004 - 16:46 Der er 2 kommentarer og
1 løsning

Datoformat helvede

Hejsa. kan simpelthen ikke forstå hvorefter nedenstående ikke virker.

min tabel datatyper:
ydelsesdato = dato/klokke
foedselsdato = dato/klokke

Hvis jeg indtaster * i feltet virker SQLen som den skal og jeg får returneret de poster der ligger inden for 3 dage.

Taster jeg en dato ind i feltet får jeg ikke returneret noget.

Jeg har både prøvet med #" & data & "# og " & data & " og '" & data & "'. (den sidste giver selvfølgelig fejl).

Jeg kan godt konvertere cellerne til databasekolonnerne ydelsesdato og foedselsdato til tekst, men problemet er at jeg senere har lavet mulighed for at sortere dem efter ydelsesdato eller foedselsdato, og så er det at det går galt.

Det går jo ikke at 25-06-1983 er højere end 17-07-1983.

Håber nogen kan hjælpe mig. jeg forstår det ikke. det er en ACCESS database jeg arbejder med.

på forhånd tak 

<%
' vi henter det indtastede søgeord
data = Trim(Request.form("soegeord"))

' checker om feltet er <> fra ""
If data = "" Then
  response.write("<table align=center border=0 width=740>")
  response.write("<tr><td>")
  response.write("</td></tr></table>")
Else
%>



<table align="center" border="0" width="740" id="table3">
    <tr>
        <td class="stdtext">Din søgning efter <b><%= data %></b> gav følgende resultat:<br><br></td></tr>
</table>


<%
If data = "*" then
  strSQL = "SELECT * FROM T_AdmData WHERE (ydelsesdato >= date()-3) ORDER BY Foedselsdato"
Else
  strSQL = "SELECT * FROM T_AdmData WHERE overflytning='Opvågning' AND Foedselsdato=#" & data & "# ORDER BY Foedselsdato"

End if

Set rs = conn.Execute(strSQL)
Avatar billede eagleeye Praktikant
18. juli 2004 - 17:11 #1
"Fejlen" skyldes for Access at den bruger US eller UK dato format som er yyyy-mm-dd eller mm-dd-yyyy via SQL. Når man så indsætter en dato i dansk dato format, hvor dagen er først så bytter den rundt på månede og dag i datoen.

Der er en løsning og der er at bruge dato funktionerne Year, Month og Day til at formatere din dato.

Kode eksemple for Access, bemærk Access bruger # omkring datoen:

<%
dato = "04-06-2003"
strDato = Year(dato) & "-" & Month(dato) & "-" & Day(dato)
SQL = "INSERT INTO tablenavn (datokol) VALUES (#" & strDato & "#)"
%>
Avatar billede phineas_phreak Nybegynder
18. juli 2004 - 17:30 #2
jamen det var da fornemt. Hvor fanden skulle man dog også vide det fra. det virker jo også dumt eftersom at datoformatet ser rigtigt ud når man ser i tabellerne i access.

Men lortet virker ihvertfald, så smid et svar så får du dine fortjente point.
Avatar billede eagleeye Praktikant
18. juli 2004 - 17:42 #3
Ok :)

Det står rent faktisk i hjælpe filen, dog godt gemt og man skal læse Visual Basic som ASP:
Du skal bruge engelske (amerikanske) datoformater i SQL-sætninger i Visual Basic. Du kan dog bruge internationale datoformater i forespørgselsgitteret.
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