Avatar billede kobolt Nybegynder
12. juli 2002 - 22:28 Der er 7 kommentarer og
1 løsning

Update statement....too few parameters.

Hejsa

I mit adminsystem har jeg muligheden for at oprette kampe til en spilleplan. Disse kampe skal tildeles en turneringstype (Premier League, FA Cup etc.). Informationerne hentes i en Access database. I tabellen tblplan som er den jeg opdaterer har jeg en kolonne som hedder turneringid, som refererer til en anden tabel som hedder tblturnering, hvor der også er kolonnen turneringid.

I tabellen tblturnering er der udover turneringid også en kolonne der hedder turnavn som er navnet på turneringen (Premier League, FA Cup etc.).

Når jeg nu vil oprette en ny kamp til at blive proppet i tblplan så vil jeg gerne have at jeg kan vælge turnering via en combobox istedet for at skrive 1,2,3 osv. I denne combobox skal turneringsnavnet stå fremfor turneringid'et.

den combobox har jeg kaldt således:
Set Con = Server.CreateObject( "ADODB.Connection" )
Con.Open strDSNstats

strSQL = "SELECT * FROM tblturnering"
Set rs = Con.Execute(strSQL)

Do While Not rs.EOF

strtur = strtur & "<option "value=" & rs("turneringid") & ">" & rs("turnavn") & "</option>"

rs.MoveNext
Loop

Set rs = Nothing

så står alle turneringsnavnene i combo boxen...så det er sådan set fint nok...MEN

når jeg nu sal opdatere til tblplan, så skal jeg jo opdatere turneringid, men hvordan pokker gør jeg det.

jeg har prøvet med:

SQLstmt = "UPDATE tblplan set turneringid = '" & DBFix(request.form("turneringid")) & "' WHERE tblplan.turneringid=tblturnering.turneringid AND planid = " & Request("id")
Con.Execute (SQLstmt)

for at sige at den skal opdatere turneringid i tblplan = turneringid i tblturnering, men det går ikke godt fordi den mangler et parameter. Og jeg kan også godt se at den er gal....

hvordan gør jeg det her??? Jeg har kæmpet med det i flere dage nu, og jeg er sq ved at gå bananas...jeg håber en eller anden kan hjælpe...250 point er på højkant!

Kobolt
Avatar billede kobolt Nybegynder
12. juli 2002 - 22:29 #1
ja, det blev så kun til 200....mere var ikke tilladt.

Men alligevel..HJÆLP MIG!!!
Avatar billede kobolt Nybegynder
12. juli 2002 - 22:33 #2
Her er al min kode hvis det kan hjælpe jer!

case "edit"

Set Con = Server.CreateObject( "ADODB.Connection" )
Con.Open strDSNstats

strSQL = "SELECT * FROM tblturnering"
Set rs = Con.Execute(strSQL)

Do While Not rs.EOF

strtur = strtur & "<option " & "value=" & rs("turneringid") & ">" & rs("turnavn") & "</option>"

rs.MoveNext
Loop

Set rs = Nothing

strSQL = "SELECT * FROM tblklub"
Set rs = Con.Execute(strSQL)

Do While Not rs.EOF

strhjemme = strhjemme & "<option " & "value=" & rs("klubid") & ">" & rs("klubnavn") & "</option>"

rs.MoveNext
Loop

Set rs = Nothing

strSQL = "SELECT * FROM tblklubaway"
Set rs = Con.Execute(strSQL)

Do While Not rs.EOF

strude = strude & "<option " & "value=" & rs("klubid") & ">" & rs("klubnavnaway") & "</option>"

rs.MoveNext
Loop

Set rs = Nothing

strSQL = "SELECT tblplan.planid, tblplan.sdag, tblplan.smaaned, tblplan.saar, tblplan.tidspunkt, tblturnering.turkortnavn, tblturnering.turnavn, tblturnering.turneringid, tblklub.klubid, tblklub.klubnavn, tblklubaway.klubid, tblklubaway.klubnavnaway, tblplan.hmaal, tblplan.p_hmaal, tblplan.p_umaal, tblplan.umaal, tblkamp.tilskuertal, tblkamp.dommer, tblaar.seson FROM tblaar INNER JOIN (tblkamp INNER JOIN (tblklubaway INNER JOIN ((tblturnering INNER JOIN tblplan ON tblturnering.turneringid=tblplan.turneringid) INNER JOIN tblklub ON tblplan.klubid1=tblklub.klubid) ON tblklubaway.klubid=tblplan.klubid2) ON tblkamp.planid=tblplan.planid) ON tblaar.aarid=tblplan.aarid WHERE tblplan.planid = " & Request("id")

Set rs = Con.Execute(strSQL)

editid = rs("planid")
editseson = rs("seson")
editsdag = rs("sdag")
editsmaaned = rs("smaaned")
edittidspunkt = rs("tidspunkt")
editsaar = rs("saar")
edithmaal = rs("hmaal")
editumaal = rs("umaal")
editp_hmaal = rs("p_hmaal")
editp_umaal = rs("p_umaal")
edittilskuertal = rs("tilskuertal")
editdommer = rs("dommer")
editturid = rs("turneringid")
editturnavn = rs("turnavn")

Con.Close
Set Con = Nothing
Set rs = Nothing
%>

<script language="JavaScript" type="text/javascript"> 
<!-- Activate hide // 
function DeleteRecord() { 
if (confirm('Er du sikker på at du vil slette?')){location.href = "planadmin.asp?mode=delete&id=<%=editid%>";} 

// Deactivate hide --> 
</script>

<div align="center">
<table width="550" cellpadding="0" cellspacing="0" align="center">
  <tr style="line-height: 110%">
    <td class="normal" align="left" colspan="2" width="450">Admin system <img src=../images/bcpil.gif> Statistik <img src=../images/bcpil.gif> <span class="fed">Rediger Kamp</span></td>
  </tr>
  <tr>
    <td colspan="3"><br></td>
  </tr>
</table>
</div>

<div align="center">
<%Response.Write LV_Menuplan%>
<table border="0" width="550">

<tr>
<td class="faktaos" align="center">.: Rediger Kamp :.</td>
</tr>

<tr>
<td height="10"></td>
</tr>

<tr>
<td align="center">

<form action="planadmin.asp?mode=update" method="POST">
<table border="0" width="350">

    <tr>
        <td class="normal" align="left">Sæson</td>
        <td class="normal" align="left"><%=editseson%></td>
    </tr>
    <tr>
        <td class="normal" align="left">Dato</td>
        <td class="normal" align="left"><input type="text" name="sdag" value="<%=editsdag%>" rows="8" cols="75" onfocus="select()" style="font-size: 10px; font-family: Verdana; color: #323232; background-color: #c8c8c8; border-style: solid; border-color: #646464; width: 20px">&nbsp;<input type="text" name="smaaned" value="<%=editsmaaned%>" rows="8" cols="75" onfocus="select()" style="font-size: 10px; font-family: Verdana; color: #323232; background-color: #c8c8c8; border-style: solid; border-color: #646464; width: 20px">&nbsp;<input type="text" name="saar" value="<%=editsaar%>" rows="8" cols="75" onfocus="select()" style="font-size: 10px; font-family: Verdana; color: #323232; background-color: #c8c8c8; border-style: solid; border-color: #646464; width: 20px">&nbsp;&nbsp;&nbsp;[Max. 2 tegn]</td>
    </tr>
    <tr>
        <td class="normal" align="left">Tidspunkt</td>
        <td class="normal" align="left"><input type="text" name="tidspunkt" value="<%=edittidspunkt%>" rows="8" cols="75" onfocus="select()" style="font-size: 10px; font-family: Verdana; color: #323232; background-color: #c8c8c8; border-style: solid; border-color: #646464; width: 40px">&nbsp;&nbsp;&nbsp;[Max. 5 tegn]</td>
    </tr>
    <tr>
        <td class="normal" align="left">Turnering</td>
        <td class="normal" align="left"><select size="1" name="turnavn" style="font-size: 10px; font-family: Verdana; color: #323232; background-color: #c8c8c8; border-style: solid; border-color: #646464; width:200px" onFocus="this.blur();"><%=strtur%><%=strtur2%></select></td>
    </tr>
    <tr>
        <td class="normal" align="left">Hjemmehold</td>
        <td class="normal" align="left"><select size="1" name="klubnavn" style="font-size: 10px; font-family: Verdana; color: #323232; background-color: #c8c8c8; border-style: solid; border-color: #646464; width:200px" onFocus="this.blur();"><%=strhjemme%><%=strhjemme2%></select></td>
    </tr>
    <tr>
        <td class="normal" align="left">Udehold</td>
        <td class="normal" align="left"><select size="1" name="klubnavn" style="font-size: 10px; font-family: Verdana; color: #323232; background-color: #c8c8c8; border-style: solid; border-color: #646464; width:200px" onFocus="this.blur();"><%=strude%><%=strude2%></select></td>
    </tr>
    <tr>
        <td class="normal" align="left" height="10" colspan="2"><img src="../images/priklys.gif" width="100%" height="1"></td>
    </tr>
    <tr>
        <td class="normal" align="left">Mål hjemme</td>
        <td class="normal" align="left"><input type="text" name="hmaal" value="<%=edithmaal%>" rows="8" cols="75" onfocus="select()" style="font-size: 10px; font-family: Verdana; color: #323232; background-color: #c8c8c8; border-style: solid; border-color: #646464; width: 20px">&nbsp;&nbsp;&nbsp;[Max. 2 tegn]</td>
    </tr>
    <tr>
        <td class="normal" align="left">Mål ude</td>
        <td class="normal" align="left"><input type="text" name="umaal" value="<%=editumaal%>" rows="8" cols="75" onfocus="select()" style="font-size: 10px; font-family: Verdana; color: #323232; background-color: #c8c8c8; border-style: solid; border-color: #646464; width: 20px">&nbsp;&nbsp;&nbsp;[Max. 2 tegn]</td>
    </tr>
    <tr>
        <td class="normal" align="left">Mål hjemme [pause]</td>
        <td class="normal" align="left"><input type="text" name="p_hmaal" value="<%=editp_hmaal%>" rows="8" cols="75" onfocus="select()" style="font-size: 10px; font-family: Verdana; color: #323232; background-color: #c8c8c8; border-style: solid; border-color: #646464; width: 20px">&nbsp;&nbsp;&nbsp;[Max. 2 tegn]</td>
    </tr>
    <tr>
        <td class="normal" align="left">Mål ude [pause]</td>
        <td class="normal" align="left"><input type="text" name="p_umaal" value="<%=editp_umaal%>" rows="8" cols="75" onfocus="select()" style="font-size: 10px; font-family: Verdana; color: #323232; background-color: #c8c8c8; border-style: solid; border-color: #646464; width: 20px">&nbsp;&nbsp;&nbsp;[Max. 2 tegn]</td>
    </tr>
    <tr>
        <td class="normal" align="left">Tilskuere</td>
        <td class="normal" align="left"><input type="text" name="tilskuertal" value="<%=edittilskuertal%>" rows="8" cols="75" onfocus="select()" style="font-size: 10px; font-family: Verdana; color: #323232; background-color: #c8c8c8; border-style: solid; border-color: #646464; width: 45px"></td>
    </tr>
    <tr>
        <td class="normal" align="left">Dommer</td>
        <td class="normal" align="left"><input type="text" name="dommer" value="<%=editdommer%>" rows="8" cols="75" onfocus="select()" style="font-size: 10px; font-family: Verdana; color: #323232; background-color: #c8c8c8; border-style: solid; border-color: #646464; width: 200px"></td>
    </tr>
    <tr>
        <td class="normal" align="left" height="10" colspan="2"></td>
    </tr>
    <tr>
        <td colspan="2" align="center">
        <input type="hidden" name="id" value="<%=editid%>">
        <input value=" - Opdater - " type="image" src="../images/opdater.gif" style="cursor:hand;" onFocus="this.blur();" name="submit1">
        </td>
    </tr>
   
</table>
</form>

</td>
</tr>

</table>
</div>

<%
case "update"

response.buffer = true

' Connection til database.    
Set Con = Server.CreateObject("ADODB.Connection")
Con.Open strDSNstats

SQLstmt = "UPDATE tblplan set sdag = '" & DBFix(request.form("sdag")) & "', smaaned = '" & DBFix(request("smaaned")) & "', saar = '" & DBFix(request("saar")) & "', tidspunkt = '" & DBFix(request("tidspunkt")) & "', hmaal = '" & DBFix(request("hmaal")) & "', umaal = '" & DBFix(request("umaal")) & "', p_hmaal = '" & DBFix(request("p_hmaal")) & "', p_umaal = '" & DBFix(request("p_umaal")) & "' WHERE planid = " & Request("id")
Con.Execute (SQLstmt)

SQLstmt = "UPDATE tblkamp set dommer = '" & DBFix(request.form("dommer")) & "', tilskuertal = '" & DBFix(request("tilskuertal")) & "' WHERE planid = " & Request("id")
Con.Execute (SQLstmt)

SQLstmt = "UPDATE tblplan set turneringid = '" & DBFix(request.form("turneringid")) & "' WHERE tblplan.turneringid=tblturnering.turneringid AND planid = " & Request("id")
Con.Execute (SQLstmt)

con.Close
Set con = nothing
Set SQLstmt = nothing

response.redirect ("planadmin.asp?mode=oversigt")
Avatar billede nih Novice
13. juli 2002 - 09:25 #3
UPDATE tblplan INNER JOIN tblTurnering ON tblplan.turneringid=tblturnering.turneringid SET tblplan.turneringid  = 6
WHERE planid = 8

Da dette er Access kategori, kan jeg 'kun' hjælpe med SQL'en.
Ovenstående er den korrekte syntaks for UPDATE - du skal være opmærksom på felttyperne hvis det er tal skal dine variabler IKKE omsluttes af apostroffer.

eks:
set turneringid = " & DBFix(request.form("turneringid")) & "

Niels
Avatar billede nih Novice
13. juli 2002 - 09:27 #4
PS. prøv at lave din SQL i Access først (uden variabler), når den virker der putter du den ind i dit script og tilføjer variablerne.

Niels
Avatar billede terry Ekspert
13. juli 2002 - 09:30 #5
what is the question? Are you having problems updating "Update statement....too few parameters." OR do you want a combo box made? "så vil jeg gerne have at jeg kan vælge turnering via en combobox istedet for at skrive 1,2,3 osv. I denne combobox skal turneringsnavnet stå fremfor turneringid'et." !

If this is an ASP question then it maybe an ide ato move it to ASP (THIS IS ACCESS)
But if it is concerning an error in an UPDATE statement then WHICH UPDATE is giving errors?
Avatar billede nih Novice
13. juli 2002 - 09:30 #6
UPDATE tblplan INNER JOIN tblTurnering ON tblplan.turneringid=tblturnering.turneringid SET tblplan.turneringid  = 6
WHERE tblTurnering.planid = 8
Avatar billede kobolt Nybegynder
29. august 2002 - 12:04 #7
Hov den havde jeg da glemt...nåh men jeg løste problemet på en helt anden måde da jeg ikke kunne få noget af det her til at virke, så pointene tager jeg lige til mig igen.

undskyld det tog lidt lang tid

kobolt
Avatar billede terry Ekspert
29. august 2002 - 12:17 #8
kobolt>can you publish your solution here so that we all can learn something, also to make sure that you did actually solve the problem yourself.
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
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

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