SannyWMedlem sedan jan. 2003438 inlägg Har problem att få rätt på nedanstående, får ett fellmedd:
Feltyp:
Körningsfel i Microsoft VBScript (0x800A01A8)
Objekt krävs.: ''
test.asp, line 99
Och den linjen är <%Do Until RecSet.EOF %>
Kan någon vara snäll och förklara.........För jag är förlorad, trodde att det skulle fungera med nedanstående och har gjort lite fram och tillbaka. Det som jag hittills har lyckats med är att ha
<% IF Request.QueryString = "Lag1 osv." THEN %>
Men det är ingen kul lösning..........
Hoppas någon kan hjälpa mig, tack på förhand.
Mvh Sanny
<OPTION VALUE="" SELECTED>Välj lag</OPTION>
<OPTION VALUE="test.asp">Lag1</OPTION>
<OPTION VALUE="test.asp?&lag=LAG2">Lag2</a></OPTION>
</SELECT></FORM>
<% IF Request.QueryString = "" THEN %>
<% Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ="& Server.MapPath("../../db/site.mdb")
Set RecSet = Server.CreateObject("ADODB.Recordset")
Visa = "SELECT * FROM tabell WHERE (lag = ' Lag1') ORDER BY namn ASC"
RecSet.Open Visa, Connect, adOpenStatic, adLockOptimistic %>
<%END IF%>
<%
strLag = request.querystring("lag")
If strLag = "" then
sortera = "ID"
else
sortera = strLag
%>
<%
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ="& Server.MapPath("../../db/site.mdb")
Set RecSet = Server.CreateObject("ADODB.Recordset")
Visa = "SELECT * FROM tabell WHERE " & sortera & " ORDER BY namn ASC"
RecSet.Open Visa, Connect, adOpenStatic, adLockOptimistic %>
<%END IF%>
<p>Klicka bara på Plus och Minus</p>
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td width="150">Namn</td>
<td></td>
<td width="20" align="center"></td>
<td>Antal</td>
<td width="20" align="center"></td>
<td></td>
</tr>
<%Do Until RecSet.EOF %>
CatZMedlem sedan jan. 20022 440 inlägg <% IF Request.QueryString = "" THEN %>
<% Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ="& Server.MapPath("../../db/site.mdb")
Set RecSet = Server.CreateObject("ADODB.Recordset")
Visa = "SELECT * FROM tabell WHERE (lag = ' Lag1') ORDER BY namn ASC"
RecSet.Open Visa, Connect, adOpenStatic, adLockOptimistic %>
[b]<% ELSE %>[/b]
<%
strLag = request.querystring("lag")
If strLag = "" then
sortera = "ID"
else
sortera = strLag
%>
<%
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ="& Server.MapPath("../../db/site.mdb")
Set RecSet = Server.CreateObject("ADODB.Recordset")
Visa = "SELECT * FROM tabell WHERE " & sortera & " ORDER BY namn ASC"
RecSet.Open Visa, Connect, adOpenStatic, adLockOptimistic %>
[b]<%END IF%>[/b]
<p>Klicka bara på Plus och Minus</p>
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td width="150">Namn</td>
<td></td>
<td width="20" align="center"></td>
<td>Antal</td>
<td width="20" align="center"></td>
<td></td>
</tr>
<%Do Until RecSet.EOF %>
CatZMedlem sedan jan. 20022 440 inlägg sådär tror jag ska bli rätt. Men varför alla dessa växlingar mella script och html läge ?
SannyWMedlem sedan jan. 2003438 inlägg Fick inte riktigt rätt på det, för den ville ha ett End IF och när jag slänger in det så skriker den på samma sak igen.
Här kommer hela dokumentet, jag har ett formulär:
Rullista där man kan välja lag.
<--
Här kommer spelare sorterat på lag efter update
-->
Sedan följer ett formulär som uppdaterar:
Namn
Lag
Mal
Just delen som uppdaterar nya spelare finns med hela tiden, medans informationen <-- mellan -->. Ändras efter Request.QuerySting
Hoppas detta svarar på din fråga, alldeles för ny för att kunna säga bu eller bä annars. :q
Se nedan på koden.
<html>
<!-- #include virtual="../adovbs.inc" -->
<SCRIPT LANGUAGE="JavaScript">
<!-- comment out JS
function select_item(name, value) {
this.name = name;
this.value = value;
}
function get_selection(select_object) {
// temporary holder
contents = new select_item();
// for every possible option in the SELECT field,
// find out which items are selected
for(var i=0;i<select_object.options.length; i++)
// if this item is selected, copy it's name and value to our
// temporary holder
if(select_object.options[i].selected == true) {
contents.name = select_object.options[i].text;
contents.value = select_object.options[i].value;
}
// return the temporary holder
return contents;
}
function update_frames(formfield) {
// figure out which item of snabbval is selected
selection = get_selection(formfield.snabbval)
// if item has no value, don't update the frame; otherwise update
// the frame with the document defined by selection value + ".htm"
if (selection.value != "" ) {
parent.location.href = selection.value;
}
}
function do_nothing() {
return true
}
// -->
</SCRIPT>
<link rel="stylesheet" type="text/css" href="../../css/leftmenu.css">
<b>Uppdatering skytteligan</b>
<FORM NAME=""><TD align="right" valign="middle"><SELECT valign="middle" NAME="snabbval" SIZE="1" onChange="update_frames(this.form);">
<OPTION VALUE="" SELECTED>Välj lag</OPTION>
<OPTION VALUE="skytteligan.asp">LAG1</OPTION>
<OPTION VALUE="skytteligan.asp?&lag=LAG2">LAG2</a></OPTION>
</SELECT></FORM>
<% IF Request.QueryString = "" THEN %>
<% Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ="& Server.MapPath("../../db/site.mdb")
Set RecSet = Server.CreateObject("ADODB.Recordset")
Visa = "SELECT * FROM skytteligan WHERE (lag = 'Utsiktens LAG1) ORDER BY namn ASC"
RecSet.Open Visa, Connect, adOpenStatic, adLockOptimistic %>
<% ELSE %>
<%
strLag = request.querystring("lag")
If strLag = "" then
sortera = "ID"
else
sortera = strLag
%>
<%
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ="& Server.MapPath("../../db/site.mdb")
Set RecSet = Server.CreateObject("ADODB.Recordset")
Visa = "SELECT * FROM skytteligan WHERE " & sortera & " ORDER BY namn ASC"
RecSet.Open Visa, Connect, adOpenStatic, adLockOptimistic %>
<%END IF%>
<p>Klicka bara på Plus och Minus</p>
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td width="150">Namn</td>
<td></td>
<td width="20" align="center"></td>
<td>Antal</td>
<td width="20" align="center"></td>
<td></td>
</tr>
<%Do Until RecSet.EOF %>
<tr>
<td width="150"><% =RecSet("namn") %></td>
<td> </td>
<td width="20" align="center"><a href="up_skytteligan.asp?ID=<% =RecSet("id") %>&kolumn=mal&value=-1"><img src="_.gif" border="0"></A></td>
<td align="center"><% =RecSet("mal") %></td>
<td width="20" align="center"><a href="up_skytteligan.asp?ID=<% =RecSet("id") %>&kolumn=mal&value=--1"><img src="+.gif" border="0"></A></td>
<td width="30" align="right"><a href="del_skytteligan.asp?delID=<%=RecSet("ID")%>"><img src="../bilder/trash.gif" border="0" alt="Ta bort"></a></td>
</tr>
<tr>
<td width="1" colspan="6" bgcolor="#E0EBF8"><img src="images/1x1_tom.gif" width="1" height="1" border="0" alt=""></td>
</tr>
<%
RecSet.MoveNext
Loop
RecSet.Close %>
</table>
<FORM METHOD="POST" ACTION="ny_skytteligan.asp">
<div align="left">
<table border="0" cellpadding="5" cellspacing="5" width="300">
<tr>
<td width="50%">Namn:</td>
<td width="50%"><INPUT TYPE="TEXT" NAME="namn"></td>
</tr>
<tr>
<td width="50%">Lag:</td>
<td width="50%"><SELECT valign="middle" NAME="Lag" SIZE="1">
<OPTION VALUE="" SELECTED>(Inget valt)</OPTION>
<OPTION type="text" name="lag">LAG1</OPTION>
<OPTION type="text" name="lag">LAG2</OPTION>
</select>
</tr>
<tr>
<td width="50%">Mål:</td>
<td width="50%"><INPUT TYPE="TEXT" NAME="mal"></td>
</tr>
</table>
</div>
<br>
<INPUT TYPE="submit" name="btn1" value="Skicka till databasen">
</FORM>
</body>
</html>
crisse6Medlem sedan dec. 20002 526 inlägg men da lagger du till en End IF till?!
/red
Raknar ihop 2 if-satser men du avslutar bara en?!
Sen varfor connectar du till samma databas flera ganger? Helt onodigt! Ska se om jag fixa till din kod lite battre....
SannyWMedlem sedan jan. 2003438 inlägg Behöver hjälp och förklara gärna varför och var jag tänkt fel.
Tack på förhand, uppskattar all hjälp.
Mvh Sanny
Nytt fel:
Feltyp:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E10)
[Microsoft][Drivrutin för ODBC Microsoft Access] För få parametrar angavs. 1 förväntades.
/ubk/admin/stat/skytteligan.asp, line 84
Och det är linjen:
RecSet.Open Visa, Connect, adOpenStatic, adLockOptimistic
i följande:
<%
strLag = request.querystring("lag")
If strLag = "" then
sortera = "ID"
else
sortera = strLag
%>
<%
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ="& Server.MapPath("../../db/site.mdb")
Set RecSet = Server.CreateObject("ADODB.Recordset")
Visa = "SELECT * FROM skytteligan WHERE " & sortera & " ORDER BY namn ASC"
RecSet.Open Visa, Connect, adOpenStatic, adLockOptimistic %>
<%END IF%>
crisse6Medlem sedan dec. 20002 526 inlägg Har du lagt till en extra End IF da alltsa?
det ar troligen felmess fran din "VISA" sats... skriv under "VISA = "....blablabla...."
response.write VISA
skriv sedan resultat har....
SannyWMedlem sedan jan. 2003438 inlägg Fick inte rätt på det du skrev ovan med response.write, men jag har ett exemple när det fungerar som det skall se nedan:
<html>
<!-- #include virtual="../adovbs.inc" -->
<SCRIPT LANGUAGE="JavaScript">
<!-- comment out JS
function select_item(name, value) {
this.name = name;
this.value = value;
}
function get_selection(select_object) {
// temporary holder
contents = new select_item();
// for every possible option in the SELECT field,
// find out which items are selected
for(var i=0;i<select_object.options.length; i++)
// if this item is selected, copy it's name and value to our
// temporary holder
if(select_object.options[i].selected == true) {
contents.name = select_object.options[i].text;
contents.value = select_object.options[i].value;
}
// return the temporary holder
return contents;
}
function update_frames(formfield) {
// figure out which item of snabbval is selected
selection = get_selection(formfield.snabbval)
// if item has no value, don't update the frame; otherwise update
// the frame with the document defined by selection value + ".htm"
if (selection.value != "" ) {
parent.location.href = selection.value;
}
}
function do_nothing() {
return true
}
// -->
</SCRIPT>
<link rel="stylesheet" type="text/css" href="../../css/leftmenu.css">
<b>Uppdatering skytteligan</b>
<FORM NAME=""><TD align="right" valign="middle"><SELECT valign="middle" NAME="snabbval" SIZE="1" onChange="update_frames(this.form);">
<OPTION VALUE="" SELECTED>Välj lag</OPTION>
<OPTION VALUE="skytteligan.asp">LAG1</OPTION>
<OPTION VALUE="skytteligan.asp?lag=lag2">lag2</a></OPTION>
</SELECT></FORM>
<% IF Request.QueryString = "" THEN %>
<% Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ="& Server.MapPath("../../db/site.mdb")
Set RecSet = Server.CreateObject("ADODB.Recordset")
Visa = "SELECT * FROM skytteligan WHERE (lag = lag1') ORDER BY namn ASC"
RecSet.Open Visa, Connect, adOpenStatic, adLockOptimistic %>
<% END IF %>
<% IF Request.QueryString ("lag") = "lag2" THEN %>
<%
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ="& Server.MapPath("../../db/site.mdb")
Set RecSet = Server.CreateObject("ADODB.Recordset")
Visa = "SELECT * FROM skytteligan WHERE (lag = 'lag2') ORDER BY namn ASC"
RecSet.Open Visa, Connect, adOpenStatic, adLockOptimistic %>
<%END IF%>
<p>Klicka bara på Plus och Minus</p>
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td width="150">Namn</td>
<td></td>
<td width="20" align="center"></td>
<td>Antal</td>
<td width="20" align="center"></td>
<td></td>
</tr>
<%
Do Until RecSet.EOF
%>
<tr>
<td width="150"><% =RecSet("namn") %></td>
<td> </td>
<td width="20" align="center"><a href="up_skytteligan.asp?ID=<% =RecSet("id") %>&kolumn=mal&value=-1"><img src="_.gif" border="0"></A></td>
<td align="center"><% =RecSet("mal") %></td>
<td width="20" align="center"><a href="up_skytteligan.asp?ID=<% =RecSet("id") %>&kolumn=mal&value=--1"><img src="+.gif" border="0"></A></td>
<td width="30" align="right"><a href="del_skytteligan.asp?delID=<%=RecSet("ID")%>"><img src="../bilder/trash.gif" border="0" alt="Ta bort"></a></td>
</tr>
<tr>
<td width="1" colspan="6" bgcolor="#E0EBF8"><img src="images/1x1_tom.gif" width="1" height="1" border="0" alt=""></td>
</tr>
<%
RecSet.MoveNext
Loop
RecSet.Close
%>
</table>
<FORM METHOD="POST" ACTION="ny_skytteligan.asp">
<div align="left">
<table border="0" cellpadding="5" cellspacing="5" width="300">
<tr>
<td width="50%">Namn:</td>
<td width="50%"><INPUT TYPE="TEXT" NAME="namn"></td>
</tr>
<tr>
<td width="50%">Lag:</td>
<td width="50%"><SELECT valign="middle" NAME="Lag" SIZE="1">
<OPTION VALUE="" SELECTED>(Inget valt)</OPTION>
<OPTION type="text" name="lag">Lag1</OPTION>
<OPTION type="text" name="lag">Lag2</OPTION>
</select>
</tr>
<tr>
<td width="50%">Mål:</td>
<td width="50%"><INPUT TYPE="TEXT" NAME="mal"></td>
</tr>
</table>
</div>
<br>
<INPUT TYPE="submit" name="btn1" value="Skicka till databasen">
</FORM>
</body>
</html>
Men när jag du skall ha ett par lag så vill jag ju inte använda
<% IF Request.QueryString ("lag") = "lag2" THEN %>
<% IF Request.QueryString ("lag") = "lag3" THEN %>
osv.
för då blir det långt, försökte då göra en lösning med &sortera&.
Jag hittar inte riktigt tråden, hoppas du förstår vad jag menar.
crisse6Medlem sedan dec. 20002 526 inlägg nej, tyvarr... forklara varfor du inte anvander den andra koden? vad blev "VISA" nar du skrev ut den?
solbulleMedlem sedan mars 20015 287 inlägg <%
strLag = request.querystring("lag")
If strLag = "" then
sortera = "ID"
else
sortera = strLag
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ="& Server.MapPath("../../db/site.mdb")
Set RecSet = Server.CreateObject("ADODB.Recordset")
Visa = "SELECT * FROM skytteligan WHERE [b]lag =[/b] " & sortera & " ORDER BY namn ASC"
RecSet.Open Visa, Connect, 3, 3
END IF%>
Se det fetmarkerade, stämmer det att kolumnnamnet är lag?
solbulleMedlem sedan mars 20015 287 inlägg Testa:
<html>
<SCRIPT LANGUAGE="JavaScript">
<!-- comment out JS
function select_item(name, value) {
this.name = name;
this.value = value;
}
function get_selection(select_object) {
// temporary holder
contents = new select_item();
// for every possible option in the SELECT field,
// find out which items are selected
for(var i=0;i<select_object.options.length; i++)
// if this item is selected, copy it's name and value to our
// temporary holder
if(select_object.options[i].selected == true) {
contents.name = select_object.options[i].text;
contents.value = select_object.options[i].value;
}
// return the temporary holder
return contents;
}
function update_frames(formfield) {
// figure out which item of snabbval is selected
selection = get_selection(formfield.snabbval)
// if item has no value, don't update the frame; otherwise update
// the frame with the document defined by selection value + ".htm"
if (selection.value != "" ) {
parent.location.href = selection.value;
}
}
function do_nothing() {
return true
}
// -->
</SCRIPT>
<link rel="stylesheet" type="text/css" href="../../css/leftmenu.css">
<b>Uppdatering skytteligan</b>
<FORM NAME=""><TD align="right" valign="middle"><SELECT valign="middle" NAME="snabbval" SIZE="1" onChange="update_frames(this.form);">
<OPTION VALUE="" SELECTED>Välj lag</OPTION>
<OPTION VALUE="skytteligan.asp">LAG1</OPTION>
<OPTION VALUE="skytteligan.asp?&lag=LAG2">LAG2</a></OPTION>
</SELECT></FORM>
<%
IF Request.QueryString = "" THEN
sortera = "Utsiktens LAG1"
else
strLag = request.querystring("lag")
If strLag = "" then
sortera = "ID"
else
sortera = strLag
END IF
END IF
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ="& Server.MapPath("../../db/site.mdb")
Set RecSet = Server.CreateObject("ADODB.Recordset")
Visa = "SELECT * FROM skytteligan WHERE lag = " & sortera & " ORDER BY namn ASC"
RecSet.Open Visa, Connect, 3, 3
%>
<p>Klicka bara på Plus och Minus</p>
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td width="150">Namn</td>
<td></td>
<td width="20" align="center"></td>
<td>Antal</td>
<td width="20" align="center"></td>
<td></td>
</tr>
<%Do Until RecSet.EOF %>
<tr>
<td width="150"><% =RecSet("namn") %></td>
<td> </td>
<td width="20" align="center"><a href="up_skytteligan.asp?ID=<% =RecSet("id") %>&kolumn=mal&value=-1"><img src="_.gif" border="0"></A></td>
<td align="center"><% =RecSet("mal") %></td>
<td width="20" align="center"><a href="up_skytteligan.asp?ID=<% =RecSet("id") %>&kolumn=mal&value=--1"><img src="+.gif" border="0"></A></td>
<td width="30" align="right"><a href="del_skytteligan.asp?delID=<%=RecSet("ID")%>"><img src="../bilder/trash.gif" border="0" alt="Ta bort"></a></td>
</tr>
<tr>
<td width="1" colspan="6" bgcolor="#E0EBF8"><img src="images/1x1_tom.gif" width="1" height="1" border="0" alt=""></td>
</tr>
<%
RecSet.MoveNext
Loop
RecSet.Close %>
</table>
<FORM METHOD="POST" ACTION="ny_skytteligan.asp">
<div align="left">
<table border="0" cellpadding="5" cellspacing="5" width="300">
<tr>
<td width="50%">Namn:</td>
<td width="50%"><INPUT TYPE="TEXT" NAME="namn"></td>
</tr>
<tr>
<td width="50%">Lag:</td>
<td width="50%"><SELECT valign="middle" NAME="Lag" SIZE="1">
<OPTION VALUE="" SELECTED>(Inget valt)</OPTION>
<OPTION type="text" name="lag">LAG1</OPTION>
<OPTION type="text" name="lag">LAG2</OPTION>
</select>
</tr>
<tr>
<td width="50%">Mål:</td>
<td width="50%"><INPUT TYPE="TEXT" NAME="mal"></td>
</tr>
</table>
</div>
<br>
<INPUT TYPE="submit" name="btn1" value="Skicka till databasen">
</FORM>
</body>
</html>
SannyWMedlem sedan jan. 2003438 inlägg Tack för att Ni tagit tid med mitt fel crisse6 och solbulle,
svar till crisse6:
När jag försöker få ut VISA så skriker den förfarande på tidigare fel, eller så satte jag in response.write på fel stället. Men jag tror att det var rätt, säger fortfarande:
Feltyp:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E10)
[Microsoft][Drivrutin för ODBC Microsoft Access] För få parametrar angavs. 1 förväntades.
skytteligan.asp, line 77
Och det är linjen:
RecSet.Open Visa, Connect, adOpenStatic, adLockOptimistic
Anledningen till min sista lösning crisse6, var bara för att få igång allt. Men jag vill heller få &sortera& till att fungera, mkt bättre lösningen om jag får det att funka.
Sedan solbulle, testade din variant också. Fick fortfarande samma fel, se ovan. Svaret på din fråga om kolumn namn, så JA. Det finns en kolumn som heter lag.
Hmm, får klura på detta en stund.....
@ndersMedlem sedan juni 200032 969 inlägg Möjligen har du en kolumn som heter lag, däremot saknar du en annan kolumn som du frågar efter, nämligen en kolumn som heter exempelvis LAG2. Felet beror alltså på att du har glömt apostrofer runt värdet, som är av sträng/texttyp.
Så här borde det se ut:
Visa = "SELECT * FROM skytteligan WHERE lag = '" & sortera & "' ORDER BY namn ASC"
Nu har jag visserligen inte mer än sneglat här i koden pga av tidsbrist, så det är mycket möjligt att jag har fel, och det är mycket möjligt jag har missuppfattat problemet.
Mvh,
SannyWMedlem sedan jan. 2003438 inlägg Där slog någon huvudet på spiken!!! :)
Tack @nders, tänk så enkelt det kan vara...........
Ha en fortsatt bra dag och tack än en gång för det snabba svaret, tack även till crisse6 och solbulle för all hjälp.:)
solbulleMedlem sedan mars 20015 287 inlägg "Ibland ser man inte skogen för alla träden."
Kanon att det löste sig.