Avatar billede olelar Nybegynder
13. august 2001 - 10:00 Der er 10 kommentarer og
1 løsning

Kort klokkeslætformat

Jeg har en Access-db, hvor jeg har nogle felter med kort klokkeslætformat. Der er nej i indexeret og i obligatorisk.
Når jeg indsætter fra en formularside virker det fint, selvom der ikke står noget i nogle af felterne.
Men når jeg så prøver at ændre/opdatere data og et af felterne er tomme, så får jeg en fejl med at datatyperne ikke er ens.
Hvad kan der være galt?
Avatar billede soenderup Nybegynder
13. august 2001 - 10:01 #1
Prøv at smide lidt af din kode...

/Sønderup
Avatar billede olelar Nybegynder
13. august 2001 - 10:02 #2
Her kommer  den:

<%
set tabel=dbobj.execute(\"UPDATE hold SET hold=\'\" & REQUEST.FORM(\"hold\") & \"\', argangfra=\'\" & REQUEST.FORM(\"argangfra\") & \"\', argangtil=\'\" & REQUEST.FORM(\"argangtil\") & \"\', navn=\'\" & REQUEST.FORM(\"navn\") & \"\', tlf=\'\" & REQUEST.FORM(\"tlf\") & \"\', bild=\'\" & REQUEST.FORM(\"bild\") & \"\', prioritering=\" & REQUEST.FORM(\"prioritering\")& \", afd=\" & REQUEST.FORM(\"afd\") & \" , mandagstart=\'\" & REQUEST.FORM(\"mandagstart\") & \"\' , mandagslut=\'\" & REQUEST.FORM(\"mandagslut\") & \"\' , tirsdagstart=\'\" & REQUEST.FORM(\"tirsdagstart\") & \"\',tirsdagslut=\'\" & REQUEST.FORM(\"tirsdagslut\") & \"\',onsdagstart=\'\" & REQUEST.FORM(\"onsdagstart\") & \"\', onsdagslut=\'\" & REQUEST.FORM(\"onsdagslut\") & \"\', torsdagstart=\'\" & REQUEST.FORM(\"torsdagstart\") & \"\', torsdagslut=\'\" & REQUEST.FORM(\"torsdagslut\") & \"\', fredagstart=\'\" & REQUEST.FORM(\"fredagstart\") & \"\', fredagslut=\'\" & REQUEST.FORM(\"fredagslut\") & \"\', bemaerk=\'\" & REQUEST.FORM(\"bemaerk\") & \"\' WHERE id=\" & request.form(\"id\"))
%>
Avatar billede soenderup Nybegynder
13. august 2001 - 10:07 #3
hvad hvis du bruger cdate()

/Sønderup
Avatar billede olelar Nybegynder
13. august 2001 - 10:10 #4
cdate(REQUEST.FORM(\"tirsdagstart\"))

Er det sådan?
Avatar billede soenderup Nybegynder
13. august 2001 - 10:10 #5
Avatar billede olelar Nybegynder
13. august 2001 - 10:16 #6
Det virker heller ikke - typerne stemmer ikke overens \"cdate\".

Problemet opstår først ved en nulværdi. Det er der det går galt.
Avatar billede soenderup Nybegynder
13. august 2001 - 10:21 #7
ok.... blank
Avatar billede carpediem Nybegynder
13. august 2001 - 10:30 #8
Så må du jo indsætte nogle if sætninger.
<%
sql = \"UPDATE hold SET\"
If NOT LEN(Trim(Request.Form(\"hold\"))) <= 0 Then
  sql = sql & \" hold=\'\" & Request.Form(\"hold\") & \"\'
End If
If NOT LEN(Trim(Request.Form(\"argangfra\"))) <= 0 Then
  sql = sql & \", argangfra=\'\" & Request.Form(\"argangfra\") & \"\'\"
End If

Osv
sql = sql & \" WHERE id=\" & request.form(\"id\")

set tabel=dbobj.execute(sql)
%>
Avatar billede olelar Nybegynder
13. august 2001 - 11:10 #9
carpediem>> Det kunne godt virke bortset fra at det jo er nødvendigt at indsætte en nulværdi.

Nedenstående kom også med datatypefejl:

If NOT LEN(Trim(Request.Form(\"mandagstart\"))) <= 0 Then
  sql = sql & \",mandagstart=\'\" & Request.Form(\"mandagstart\") & \"\'\"
else
sql = sql & \",mandagstart=\'\'\"
End If
Avatar billede carpediem Nybegynder
13. august 2001 - 11:58 #10
Hvis ikke man indsætter noget skulle den gerne selv indsætte null i databasen. Hvis ikke så prøv:

If NOT LEN(Trim(Request.Form(\"mandagstart\"))) <= 0 Then
  sql = sql & \",mandagstart=\'\" & Request.Form(\"mandagstart\") & \"\'\"
else
sql = sql & \",mandagstart=NULL\"
End If
Avatar billede olelar Nybegynder
13. august 2001 - 12:12 #11
carpediem>> det var lige det der skulle til
Tak for det - så virker det
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