webForumDet fria alternativet

error query expression

9 svar · 267 visningar · startad av jns

jnsMedlem sedan dec. 2001107 inlägg
#1

fel kod:

Microsoft JET Database Engine error '80040e07' 

Syntax error in date in query expression '#200301#'. 

/vallaskolan/admin/saveaktivitet.asp, line 108

koden:

Datum = aret & nummermanaden & dag

query = "insert into aktiviteter(Datum,Beskrivning,Rubrik,dag,manaden,aret) values(#" & Datum & "#,'" & Beskrivning & "','" & Rubrik & "',#" & dag & "#,#" & manaden & "#,#" & aret & "#)"
mincon.execute query,,128

mincon.close

jag har lite ont om tid så jag hinner inte lösa detta dilemma, jag skulle uppskatta om någon kunde hjälpa mig med detta problem. :l

JosefMedlem sedan mars 20023 123 inlägg
#2

Borde inte formatet vara yyyy-mm-dd?

CeeronMedlem sedan aug. 2000389 inlägg
#3

det är inte ett komplett datum

Datum = aret & nummermanaden & dag

dagen verkar försvinna...

jnsMedlem sedan dec. 2001107 inlägg
#4

jo det har du nog rätt i... hur har dagen försvunnit?
så här ser koden ut (lång):

set rubrik = request.Form("rubrik")
set beskrivning = request.Form("beskrivning")
set aret = request.Form("ar")
set manaden = request.Form("manad")
set dag = request.Form("dag")

if rubrik = "" then
%>
Nu gjorde du nått fel.
<%
end if

if beskrivning = "" then
%>
Nu gjorde du nått fel.
<%
end if

if aret = "" then
%>
Nu gjorde du nått fel.
<%
end if

if manaden = "" then
%>
Nu gjorde du nått fel.
<%
end if

if dag = "" then
%>
Nu gjorde du nått fel.
<%
end if

set nummermanad = manaden
if nummermanaden = "Januari" then 
set nummermanaden = "01"
end if
if nummermanaden = "Februari" then 
set nummermanaden = "02"
end if
if nummermanaden = "Mars" then 
set nummermanaden = "03"
end if
if nummermanaden = "April" then 
set nummermanaden = "04"
end if
if nummermanaden = "Maj" then 
set nummermanaden = "05"
end if
if nummermanaden = "Juni" then 
set nummermanaden = "06"
end if
if nummermanaden = "Juli" then 
set nummermanaden = "07"
end if
if nummermanaden = "Augusti" then 
set nummermanaden = "08"
end if
if nummermanaden = "September" then 
set nummermanaden = "09"
end if
if nummermanaden = "Oktober" then 
set nummermanaden = "10"
end if
if nummermanaden = "November" then 
set nummermanaden = "11"
end if
if nummermanaden = "December" then 
set nummermanaden = "12"
end if

Datum = aret & nummermanaden & dag

lite onödigt kanske, men endå...

SebbeMedlem sedan jan. 20031 603 inlägg
#5

Har städat upp i din kod lite, det kanske blir bättre såhär?

rubrik = request.Form("rubrik")
beskrivning = request.Form("beskrivning")
aret = request.Form("ar")
manaden = request.Form("manad")
dag = request.Form("dag")

if rubrik = "" then blnFel = True
if beskrivning = "" then blnFel = True
if aret = "" then blnFel = True
if manaden = "" then blnFel = True
if dag = "" then blnFel = True

If blnFel Then Response.Write("Nu gjorde du nått fel.")

Select Case manaden
  Case "Januari"
    intManad = "01"
  Case "Februari"
    intManad = "02"
  Case "Mars"
    intManad = "03"
  Case "April"
    intManad = "04"
  Case "Maj"
    intManad = "05"
  Case "Juni"
    intManad = "06"
  Case "Juli"
    intManad = "07"
  Case "Augusti"
    intManad = "08"
  Case "September"
    intManad = "09"
  Case "Oktober"
    intManad = "10"
  Case "November"
    intManad = "11"
  Case "December"
    intManad = "12"
  Case Else
    intManad = "01"
End Select

Datum = CDate(aret & "-" & intManad & "-" & dag)
jnsMedlem sedan dec. 2001107 inlägg
#6

nu blev felmedellandet:

Microsoft JET Database Engine error '80040e07' 

Syntax error in date in query expression '#01#'. 

/vallaskolan/admin/saveaktivitet.asp, line 77

line 77 är querien

@ndersMedlem sedan juni 200026 914 inlägg
#7

Vad är det för datatyp på fälten? Det är bara fält av datumtyp där värdena ska ha # runt sig.

jnsMedlem sedan dec. 2001107 inlägg
#8

aha!
tack allihopa, nu fungerar det fin fint!

solbulleMedlem sedan mars 20014 998 inlägg
#9

Om du har en form som skickar dig månaden, varför låter du den skicka namnet och inte numret direkt?

rubrik = request.Form("rubrik")
beskrivning = request.Form("beskrivning")
aret = request.Form("ar")
manaden = request.Form("manad")
dag = request.Form("dag")

if rubrik = "" then blnFel = True
if beskrivning = "" then blnFel = True
if aret = "" then blnFel = True
if manaden = "" then blnFel = True
if dag = "" then blnFel = True

If blnFel Then Response.Write("Nu gjorde du nått fel.")

Datum = CDate(aret & "-" & manaden & "-" & dag)
jnsMedlem sedan dec. 2001107 inlägg
#10

för att jag ska använda både namnet och nummret på olika ställen.

125 ms totalt · 3 externa anrop · cache AV · v20260731051352-full.56cc9887
0 ms — hämta statistik (cache)
0 ms — hämta forumlista (cache)
123 ms — hämta tråd, inlägg och bilagor (db)