webForumDet fria alternativet

vilkor på dropdown selected

ASPur ASP

5 svar · 273 visningar · startad av drain

Medlem sedan apr. 200165 inlägg
Frågan#1

Hm detta fungerar inte särskilt bra. Är det någon som vet varför vilkoret i if-satsen (fetstil) aldrig blir sant? Om jag struntar i och ha något värde på value i OPTION och istället jämnför med recSet(Benamning) i vilkoret så fungerar det. OBS att värdet i request.form("PrisGrp") är ett avtalsnr då man skriver ut det precis innan vilkoret som strular och inte en benämning.
Om jag skriver ut (se nedan) precis innan vilkoret får jag detta resultat
Detta är skriv-ut koden:
response.write(recset("AvtalsNr"))%>,<%
response.write(request.form("PrisGrp"))
Resultat:
något sånt här 1,4 2,4 3,4 4,4 5,4 osv..

<TR>
<%
if Request.form("PrisGrp")<>"" then
%>
<TD><font face=arial,verdana size=2><B>Prisgrupp:</font></TD><TD>
<SELECT name=PrisGrp style="HEIGHT: 22px; WIDTH: 140px">
<%
set connect = Server.CreateObject("ADODB.Connection")
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=c:\inetpub\wwwroot\Prototyp1\data\dataredo.mdb"
set RecSet = Server.CreateObject("ADODB.Recordset")
Fnr = "SELECT DISTINCT AvtalsNr, Benamning FROM Avtal"
RecSet.Open Fnr, Connect, adOpenStatic, adLockOptimistic

Do Until RecSet.EOF
	**if RecSet("AvtalsNr")=Request.Form("PrisGrp") then**
		%\>
		\<OPTION selected value=\<%=RecSet("AvtalsNr")%\>\>\<%=RecSet("Benamning")%\>\</OPTION\>
		\<%
	else
		%\>
		\<OPTION value=\<%=RecSet("AvtalsNr")%\>\>\<%=RecSet("Benamning")%\>\</OPTION\>
		\<%
	end if
	recSet.MoveNext
loop

recSet.Close
connect.Close
%\>
\</SELECT\>
\<%

else
%>
<TD><font face=arial,verdana size=2><B>Prisgrupp:</font></TD><TD>
<SELECT name=PrisGrp style="HEIGHT: 22px; WIDTH: 140px">
<%
set connect = Server.CreateObject("ADODB.Connection")
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=c:\inetpub\wwwroot\Prototyp1\data\dataredo.mdb"
set RecSet = Server.CreateObject("ADODB.Recordset")
Fnr = "SELECT DISTINCT AvtalsNr, Benamning FROM Avtal"
RecSet.Open Fnr, Connect, adOpenStatic, adLockOptimistic

Do Until RecSet.EOF
	%\>
	\<OPTION value=\<%=RecSet("AvtalsNr")%\>\>\<%=RecSet("Benamning")%\>\</OPTION\>
	\<%
	recSet.MoveNext
loop
	
recSet.Close
connect.Close
%\>
\</SELECT\>
\<%

end if
%>
</TR>

------------------
crack the liar´s smile

[Redigerat av drain den 12 apr 2001]

Medlem sedan juni 200032 967 inlägg
#2

det är förmodligen ett subtypsproblem.

prova att konvertera båda värdena till strängar i jämförelsen:

if cstr(RecSet("AvtalsNr"))=cstr(Request.Form("PrisGrp")) then

strängen "1" kan aldrig vara lika med heltalet 1 nämligen.

mvh,

------------------
<A HREF="http://cartman.nu" TARGET=_blank>
all your base are belong to us!</A>

Medlem sedan dec. 19998 577 inlägg
#3

Data som kommer ifrån formulär är alltid av typen text, data som kommer ifrån ett recordset/databas kan var olika typer... se till så att det är samma datatyp på värdena du försöker att jämnföra... förslagsvis med funktionen Cdate()

------------------
webEye.nu SweQuake.com

Medlem sedan dec. 19998 577 inlägg
#4

Nu får du sluta upp med denna hastighetspostning snabel-anders... :e

------------------
webEye.nu SweQuake.com

Medlem sedan apr. 200165 inlägg
#5

Jag bockar och buggar till er båda :). Fast @nders var ju först ;). Det verkar troligt med något subtyp problem skall kolla upp om det funkar!!

------------------
crack the liar´s smile

Medlem sedan apr. 200165 inlägg
#6

Nu är det provat och fungerar gör det ju självfallet. Med facit i hand så skäms jag lite borde kollat det där med sträng och tal.

Drain säger tack tack tack tack tack tack och tack till båda två.

------------------
crack the liar´s smile

136 ms totalt · 3 externa anrop · v20260731065814-full.4bcf49fe
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
133 ms — hämta tråd, inlägg och bilagor (db)