webForumDet fria alternativet

Kryssrutor igen

ASPur ASP

10 svar · 262 visningar · startad av evesve

evesveMedlem sedan sep. 2001163 inlägg
#1

Jag har sökt på dom flesta kryssfrågorna i forumet utan att bli mycket klokare.
Mitt problem:

Jag öppnar
===== http://localhost/databasen/redigera.asp?ID= 489
=======
I redigera.asp har jag bl.a.:
=======
Set RecSet = Server.CreateObject("ADODB.Recordset")
Uppdatera = "SELECT * FROM databas WHERE Nr = " &ID

<form method="POST" action="redigera.asp?ID=<% =ID %>" name="ad">
<input type="hidden" name="fil" value="<%=Fil%>.asp?ordning=<%=allt%>">

RecSet("Telefon") = Request.Form("tel")
RecSet("hemma") = Request.Form("hemf")

Telefon:<input type="text" class=bg3 size="40" name="tel" value="<% =RecSet("Telefon") %>">
Hemma:<input type="Checkbox" class=bg3 name="hemf" value="<% =RecSet("hemma") %>">

<input type="submit" name="knapp" value="Uppdatera">
=======
Jag vet inte om jag fick med allt väsentligt, men mitt problem är som alla andras:
1. Jag ser inte i formuläret att rutan är kryssad i Access-basen.
2. Den uppdateras inte med "Submit".
I övrigt är koderna rätt så t.ex "Telefon-alternativet" ovan fungerar utmärkt.
Kan någon vänlig själ lägga till det jag behöver?
Behöver jag göra något mer i Access-basen mer än att göra det till JA/Nej-fält?

emissionMedlem sedan dec. 19996 721 inlägg
#2

Välkommen till wF!

Det är mer en HTML-grej.

Huruvida en kryssruta blir ikryssad eller inte styrs inte av dess VALUE, utan om den är CHECKED eller inte.

<input type="Checkbox" class=bg3 name="hemf" value="x"<%if RecSet("hemma") then response.write " CHECKED"%>>

när nu sedan uppdaterar så sätter du värdet på hemma-kolumnen till len("hemf")

------------------
/emission
If you see someone without a smiley, give them your colon.

[Redigerat av emission den 26 sep 2001]

evesveMedlem sedan sep. 2001163 inlägg
#3

Då får jag detta felmeddelande:

ADODB.Fields fel '800a0cc1'

ADO kunde inte hitta objektet i mängden som överensstämmer med det begärda namnet eller numret.

LarsGMedlem sedan dec. 200012 464 inlägg
#4

Då anger du ett fältnamn som ej finns med i ditt recordset. T.ex. så skulle koden nedan ge upphov till ett sådant fel.

set rs = connect.execute("select a,b from t")
response.write rs("c")

------------------
essentitia preter non sans multiplicandum

evesveMedlem sedan sep. 2001163 inlägg
#5

Förlåt!
Fungerar!
Tack.

evesveMedlem sedan sep. 2001163 inlägg
#6

Upptäckte nu att det fungerar utmärkt att se om rutan är ikryssad eller inte.
Likaså att kryssa i en ruta och uppdatera.
Däremot inte att avmarkera rutan och uppdatera.
Vad saknas?

LarsGMedlem sedan dec. 200012 464 inlägg
#7

Använder du len(request.form("hemf")) som emission skrev?

En omarkerad kryssruta innehåller en tom sträng.

------------------
essentitia preter non sans multiplicandum

evesveMedlem sedan sep. 2001163 inlägg
#8

Nej, Jag har missat den lektionen.
Var ska jag skriva in det?

LarsGMedlem sedan dec. 200012 464 inlägg
#9

I samband med att du gör din update. Nu vet jag inte om du använder sql eller update-metoden för ett recordset.

Om det är det första så

sql = "update tabellen set janejkolumn = " & len(request.form("hemf")) & " where id = " & id

ungefär.

Om du inte använder SQL så gör det. Annars borde det se ut så här ungefär.

sql = "select * from tabellen where id = " & id
set rs = server.createobject("adodb.recordset")
rs.open sql,connect,3,3
rs("janejkolumn") = len(request.form("hemf"))
rs.update

------------------
essentitia preter non sans multiplicandum

evesveMedlem sedan sep. 2001163 inlägg
#10

Nu äntligen!
Ungefär så här blev det:
==============
If Request.Form("knapp")="Uppdatera" Then

Set RecSet = Server.CreateObject("ADODB.Recordset")
Uppdatera = "SELECT * FROM databas WHERE Nr = " &ID

RecSet.Open Uppdatera, Connect, 3, 3
RecSet("hemma") = len(request.form("hemf"))
<form method="POST" action="redigera.asp?ID=<% =ID %>" name="ad">
<input type="Checkbox" class=bg3 name="hemf" value="1"<% if RecSet("hemma") =True then response.write "CHECKED" End If %>>
<input type="submit" name="knapp" value="Uppdatera">

RecSet.Update
=============

Tackar!

evesveMedlem sedan sep. 2001163 inlägg
#11

Ny kryssrute-fråga!
På sidan har jag en kryssruta och en länk.

Går det på något sätt att ersätta SUBMIT-knappen med vanlig TEXT-länk enligt denna grundprincip?

<FORM>
<input type="checkbox">
</FORM>
<%
If Request.Form("sk")="True" Then
<A HREF="filen.asp?sortera=Efternamn" target="body">Filen</A>
Else
<A HREF="filen.asp?sortera=Personnummer" target="body">Filen</A>
End If
139 ms totalt · 3 externa anrop · v20260731065814-full.29ac60f6
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
136 ms — hämta tråd, inlägg och bilagor (db)