Avatar billede sorenmt84 Juniormester
31. juli 2014 - 15:17 Der er 1 løsning

Udtræk fra Access virker lokalt men ikke på server

Hej Eksperter

Har behov for hurtig hjælp!

Jeg har lavet en (eller forsøgt) at lave et udtræk fra min Access DB der skal hente bestemte poster alt efter hvad klokken er.
Når jeg kører min asp fil lokalt på min engen Windows 8 PC med IIS 8.5 kører det hele fint og jeg får de udtræk jeg har behov for, men når det bliver uploadet til den server i USA jeg har host på, virker det ikke og jeg kan ikke regne ud hvorfor :-s

mintServerToOrgHourOffset = 10 'Tilret til DK tidszone
mvarOrgCurDtTime = DateAdd("H", mintServerToOrgHourOffset, Now())
mvarOrgCurDt = DateValue(mvarOrgCurDtTime)
mvarOrgCurTime = TimeValue(mvarOrgCurDtTime)

tidspunkt = hour(mvarOrgCurTime)
if tidspunkt <= 9 then
tidspunkt = "0" & tidspunkt
end if
tidspunkt_sms = hour(DateAdd("h",2,mvarOrgCurDtTime))
if tidspunkt_sms <= 9 then
tidspunkt_sms = "0" & tidspunkt_sms
end if

    Set rs_tider =  Server.CreateObject("ADODB.Recordset")
    strSQL = "SELECT * FROM tider_tid where ref_dato = " & rs_dato("id") & " and " & " left(tid_start,2) " & " = '" & tidspunkt_sms & "'"
   
    Set rs_tider = Conn.Execute(strSQL)
    if rs_tider.eof or rs_tider.bof then
    else
    do until rs_tider.eof or rs_tider.bof

Jeg går udfra at det er noget i denne linje der driller mig:
strSQL = "SELECT * FROM tider_tid where ref_dato = " & rs_dato("id") & " and " & " left(tid_start,2) " & " = '" & tidspunkt_sms & "'"

Når jeg kører det lokalt virker det fint hvad enten jeg har '' omkring tidspunkt_sms eller ej på serveren i USA får jeg denne fejl, hvis jeg ikke har tidspunkt_sms omrkænset af ''
Microsoft Access Database Engine error '80040e07'

Data type mismatch in criteria expression.

Der er 10 timers forskel mellem DK tid og den tidszone serveren står i, det tager de øverste par linjers kode højde for. Derefter finder jeg den aktuelle time (fx 15) - jeg skal så have fundet alle de poster i databasen som ligger to timer fremme (i det her tilfælde så 17) - i min db har jeg et felt der heddder start_tid som indeholder et komplet tidspunkt (fx 17:00:00) - men da jeg kun er interesseret i timen, bruger jeg left(tid_start,2) til kun at få de tal frem...

Håber meget på hurtig hjælp
Avatar billede sorenmt84 Juniormester
31. juli 2014 - 15:21 #1
lige som jeg havde oprettet slog det mig at prøve med hour(tid_start) i stedet for left(tid_start,2) og det gjorde udslaget.. :)
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

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