Avatar billede ultimezia Nybegynder
12. oktober 2002 - 16:50 Der er 6 kommentarer og
1 løsning

Problem med at skrive en form til DB, hvis nogle felter er tomme.

Jeg bruger følgende kode :

Dim sSQL,conn,rs
Set conn = Server.CreateObject("ADODB.Connection")
set rs = server.CreateObject("ADODB.Recordset")
conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" &_
"Data Source=" & Server.Mappath("maxdb/maxdb.mdb")

conn.open

sSQL = "INSERT INTO login (" &_
"brugernavn, adgangskode, fornavn, efternavn" &_
", adresse, postnr, [by], tlf, mobil, email" &_
") Values (" &_
"'"& Ucase(Request("brugernavn")) & "'" &_
", '"& Request("adgangskode") & "'" &_
", '"& Request("fornavn") & "'" &_
", '" & Request("efternavn") & "'" &_
", '" & Request("adresse") & "'" &_
", '" & Request("postnr") & "'" &_
", '" & Request("by") & "'" &_
", '" & Request("tlf") & "'" &_
", '" & Request("mobil") & "'" &_
", '" & Request("email") & "')"

conn.Execute sSQL,adCmdText

set rs = nothing

conn.close
set conn = nothing

Jeg har nu et problem med, hvis folk ikke udfylder "tlf" og/eller "mobil" feltet, melder mit script fejl. Hvordan kan jeg gøre så hvis folk ikke skriver noget i et eller begge af de 2 felter, vil der bliver skrevet et "0" isteddet til databasen i det/de felt(er) ?
Avatar billede Søren Bech Morsing Praktikant
12. oktober 2002 - 16:54 #1
du kan i access specifiecer at du tillader nullængde.
du kan også vælge at din stadard værdi er ""
Avatar billede medions Nybegynder
12. oktober 2002 - 16:54 #2
If Request.QueryString("tlf") = "" Then
    lngTlf = 0
Else
    lngTlf = Request.QueryString("tlf")
End If


sSQL = "INSERT INTO login (" &_
"brugernavn, adgangskode, fornavn, efternavn" &_
", adresse, postnr, [by], tlf, mobil, email" &_
") Values (" &_
"'"& Ucase(Request("brugernavn")) & "'" &_
", '"& Request("adgangskode") & "'" &_
", '"& Request("fornavn") & "'" &_
", '" & Request("efternavn") & "'" &_
", '" & Request("adresse") & "'" &_
", '" & Request("postnr") & "'" &_
", '" & Request("by") & "'" &_
", '" & lngTlf & "'" &_
", '" & Request("mobil") & "'" &_
", '" & Request("email") & "')"

//>Rune
Avatar billede Søren Bech Morsing Praktikant
12. oktober 2002 - 17:00 #3
du bør endvidere lave dit telefonnummer og mobil som tekstfelter
ellers skal du lave al for meget validering på dine felter.
fx: xxxx xxxx
+45 xxxx xxxx
Avatar billede ultimezia Nybegynder
12. oktober 2002 - 17:05 #4
Koden fungere helt fint, men hvad nu hvis begge felter er tomme?

Jeg har prøvet at skrive :

If Request.QueryString("tlf") = "" and Request.QueryString("mobil") = ""
    lngTlf = 0
    lngMobil = 0
Else
    lngTlf = Request.QueryString("tlf")
    lngMobil = Request.QueryString("mobil")
End If

Men det virker ikke, hvordan skal jeg skriver det?
Avatar billede ultimezia Nybegynder
12. oktober 2002 - 17:06 #5
Jeg har skrevet noget validering til de 2 felter :

If len(Form_Tlf)>8 Then
    Validated_Form = false
    strTlf = "<font color=red>Fejl i telefon nr'eret. Et telefon nr. består af otte tal, og kan <i>ikke</i> bestå af andet!</font><BR><BR>"
End If

If len(Form_Mobil)>8 Then
    Validated_Form = false
    strMobil = "<font color=red>Fejl i mobil nr'eret. Et mobil nr. består af otte tal, og kan <i>ikke</i> bestå af andet!</font><BR><BR>"
End If

Kan jeg gøre noget bedre da?
Avatar billede ultimezia Nybegynder
12. oktober 2002 - 17:12 #6
Ok, jeg har fundet ud af det, mange tak for hjælpen!
Avatar billede medions Nybegynder
12. oktober 2002 - 18:15 #7
-er lige blevet færdig med at spise, så jeg har først set dine indlæg nu, sorry...

men du fandt jo selv ud af det ;o)

Thx 4 Poinz

//>Rune
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