Hej ! Du kan ju förstås lägga en ifsats som kollar om varje Request.Form("fältnamn") är en tom sträng ("") eller ingenting alls (NULL). isf kan du ju låta bli att lägga till den infon. Det är fegt att var anonym. ;o) Man Tackar !! Det är en Access databas och jag hade inte tillåtit "null" värden i den (hade ingen aning om att man kunde göra det i den !) , men jag hittade det och nu funkar det att lägga till hur man vill.Form till databas, utan att behöva fylla i varenda fält ??
Jag undrar om man kan sätta någon if sats som säger att man får lägga till om man vill och lämna det tomt om man vill ? Som det är nu så måste jag lägga till nåt på varje rad, annars går det inte igenom, nån som vet vad jag gör för fel ??
Har lagt till kodsnutten under : // Johnny
<form method="POST" action="default.asp?what=adera">
<table border="0">
<tr align="top"><td width"250" height="100%" valign="top">
<b>Mottagning</b><p>
<b>Adress</b><p>
<b>Postnummer</b><p>
<b>Tel / Fax</b><p>
<b>E-Post</b><p>
<b>IT Kontakt</b><p>
<b>IP Scope</b><p>
<b>Anslutning</b><p>
<b>Datorer</b><p>
<b>Switch</b><p>
<b>Övrigt</b><p>
</td>
<td width="300" height="100%" valign="top">
<input type="text" size="30" name="klinik"><p>
<input type="text" size="30" name="adress"><p>
<input type="text" size="30" name="postnr"><p>
<input type="text" size="30" name="tel"><p>
<input type="text" size="30" name="epost"><p>
<input type="text" size="30" name="itkontakt"><p>
<input type="text" size="30" name="ip"><p>
<input type="text" size="30" name="anslutning"><p>
<input type="text" size="30" name="datorer"><p>
<input type="text" size="30" name="switch"><p>
<input type="text" size="30" name="ovrigt"><p>
<input type="submit" value="Lägg Till">
</td>
</form>
</tr></table>
<% End If %>
<%'---------------------%>
<%' lägger till i DB:n %>
<%'---------------------%>
<% If Request.QueryString("what") = "adera" Then
ADD = "SELECT * FROM mottagningar"
RecSet.Open ADD, Connect, 3, 3
RecSet.AddNew
RecSet("Klinik") = Request.Form("klinik")
RecSet("Adress") = Request.Form("adress")
RecSet("Postnr") = Request.Form("postnr")
RecSet("Tel") = Request.Form("tel")
RecSet("Epost") = Request.Form("epost")
RecSet("Itkontakt") = Request.Form("itkontakt")
RecSet("Ip") = Request.Form("ip")
RecSet("Anslutning") = Request.Form("anslutning")
RecSet("Datorer") = Request.Form("datorer")
RecSet("Switch") = Request.Form("switch")
RecSet("Ovrigt") = Request.Form("ovrigt")
RecSet.Update
RecSet.Close
Response.Redirect "default.asp"
End If %>Sv: Form till databas, utan att behöva fylla i varenda fält ??
En annan tanke bara. Har du tänkt på att tillåta NULL-värden i fälten i databasen? annars måste du stoppa in nåt i dem.Sv: Form till databas, utan att behöva fylla i varenda fält ??
Antar at du använde Access vilket i som standard inte tillåter toma strängar utan endast null.
Du skulle jag skrivit:
<code>
Function SQLText(Value)
If Len(Value) Then
SQLText = "'" & Replace(Value,"'","''") & "'"
Else
SQLText = "Null"
End If
End If
ADD = "INSERT INTO mottagningar (Klinik, Adress, Postnr, Tel, Epost, Itkontakt, Ip, Anslutning, Datorer, Switch, Ovrigt)" & vbCrLf & _
"VALUES (" & SQLText(Request.Form("klinik")) & ", " & _
SQLText(Request.Form("adress")) & ", " & _
SQLText(Request.Form("postnr")) & ", " & _
SQLText(Request.Form("tel")) & ", " & _
SQLText(Request.Form("epost")) & ", " & _
SQLText(Request.Form("itkontakt")) & ", " & _
SQLText(Request.Form("ip")) & ", " & _
SQLText(Request.Form("anslutning")) & ", " & _
SQLText(Request.Form("datorer")) & ", " & _
SQLText(Request.Form("switch")) & ", " & _
SQLText(Request.Form("ovrigt")) & ")"
Connect.Execute ADD
</code>
Alternativt:
<code>
RecSet.AddNew
If Len(Request.Form("klinik")) Then
RecSet("Klinik") = Request.Form("klinik")
End If
If Len(Request.Form("adress")) Then
RecSet("Adress") = Request.Form("adress")
End If
'osv...
RecSet.Update
</code>Sv: Form till databas, utan att behöva fylla i varenda fält ??
// Johnny
PS, Nu är jag inte längre anonym ...