Hej ...Request.QueryString("ID")" Du har en " i slutet av din SQL-variabel, ta bort den. Okej, mitt lika försök blev tydligen kvar där=) Men nu får jag också ett felmeddelande: Hej! Tack, men det var inte rätt den här gången=) Hittade problemet, i formuläret "action" var inte rätt skriven. Men nu har jag fått ett nytt problem. Det felet brukar komma om man stavar fel till något namn i SQL-satsen. För att "klistra in i Access" skapar du en ny fråga, växlar till SQL-läge, klistrar in och lägger till ; på slutet. Tryck sedan på utropstecknet i verktygsfältet. Tack så mycket för alla hjälp. Då har man lärt sig något nytt om access samt löst problemet.Hjälp med Update
Jag håller på att göra en ändra funktion till min hemsida. Det går bra att hämta upp informationen från databasen och så. Men när det gäller att uppdatera posten får jag problem.
Det är alltså Update frågan jag behöver hjälp med. Vet inte riktigt vad jag gör, men har gjort ett försök som inte fungerar. Koden nedan:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<%
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("kontakter.mdb")
%>
<html>
<head>
<title>Ändra kontakt</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<%
strNamn = Request.Form("Namn")
strKomitte = Request.Form("Komitte")
strBefattning = Request.Form("Befattning")
strEposthem = Request.Form("Eposthem")
strEpostarb = Request.Form("Epostarb")
strTelhem = Request.Form("Telhem")
strTelarb = Request.Form("Telarb")
strFax = Request.Form("Fax")
strMobil = Request.Form("Mobil")
%>
<%
IF Request.QueryString("do") = "change" THEN
SQL = "UPDATE kontakter SET Namn = '" & Request.Form("Namn") & "', Komitte = '" & Request.Form("Komitte") & "', Befattning = '" & Request.Form("Befattning") & "', Eposthem = '" & Request.Form("Eposthem") & "', Epostarbete = '" & Request.Form("Epostarbete") & "', Telhem = '" & Request.Form("Telhem") & "', Telarb = '" & Request.Form("Telarb") & "', Fax = '" & Request.Form("Fax") & "', Mobil = '" & Request.Form("Mobil") & "' WHERE ID = " & Request.QueryString("ID")"
Connect.Execute(SQL)
Response.redirect("visa.asp")
END IF
%>
</head>
<body>
<form method="post" action="?do=change&nid=<%Response.Write(Request.QueryString("ID"))%>" name="frm" onsubmit="return Validate(this);">
<%
SQL = "SELECT * FROM kontakter WHERE ID = " & clng(Request.QueryString("ID"))
Set RecSet = Connect.Execute(SQL)
IF NOT RecSet.EOF THEN
%>
<p> Namn:
<input value ="<%Response.Write(RecSet("Namn"))%>" type="text" name="Namn">
</p>
<p> Komitté:
<input value ="<%Response.Write(RecSet("Komitte"))%>" type="text" name="Komitte">
</p>
<p> Befattning:
<input value ="<%Response.Write(RecSet("Befattning"))%>" type="text" name="Befattning">
</p>
<p> E-post hem:
<input value ="<%Response.Write(RecSet("Eposthem"))%>" type="text" name="Eposthem">
</p>
<p> E-post arbete:
<input value ="<%Response.Write(RecSet("Epostarb"))%>" type="text" name="Epostarb">
</p>
<p> Telefon hem:
<input value ="<%Response.Write(RecSet("Telhem"))%>"type="text" name="Telhem">
</p>
<p> Telefon arbete:
<input value ="<%Response.Write(RecSet("Telarb"))%>" type="text" name="Telarb">
</p>
<p> Fax:
<input value ="<%Response.Write(RecSet("Fax"))%>" type="text" name="Fax">
</p>
<p> Mobil:
<input value ="<%Response.Write(RecSet("Mobil"))%>" type="text" name="Mobil">
</p>
<input name="Submit" type="submit" value="Ändra">
<%
END IF
RecSet.Close
Set RecSet = Nothing
%>
</body>
</html>
Jag får då följande fel
Unterminated string constant
på update raden.
Är jag helt ute och cyklar?
Sv: Hjälp med Update
Borde vara
...Request.QueryString("ID")
/JohanSv: Hjälp med Update
Så det ser ut så här:
<code>
SQL = "UPDATE kontakter SET Namn = '" & Request.Form("Namn") & "', Komitte = '" & Request.Form("Komitte") & "', Befattning = '" & Request.Form("Befattning") & "', Eposthem = '" & Request.Form("Eposthem") & "', Epostarbete = '" & Request.Form("Epostarbete") & "', Telhem = '" & Request.Form("Telhem") & "', Telarb = '" & Request.Form("Telarb") & "', Fax = '" & Request.Form("Fax") & "', Mobil = '" & Request.Form("Mobil") & "' WHERE ID = " & Request.QueryString("ID")
</code>Sv:Hjälp med Update
Microsoft JET Database Engine error '80040e14'
Syntax error (missing operator) in query expression 'ID ='.
Innebär det att ID inte innehåller något värde?Sv: Hjälp med Update
En chansning.
Det saknas en "enkelfnutt" efter likhetstecknet <b>"' WHERE ID = "</b>.
//HåkanSv:Hjälp med Update
Microsoft JET Database Engine error '80040e10'
No value given for one or more required parameters.
/upsalasim/kontakter/andra.asp, line 29
och på rad 29 finns: Connect.Execute(SQL)
Vad är det som inte får något värde? Är det ID som tappar sitt? Fast enligt querystring så ser det det rätt ut i adressfältet.
Kan någon hjälpa?Sv: Hjälp med Update
/JohanSv:Hjälp med Update
Fel låg som Johan sa i att det var fel på de fält jag skrivit. I detta fall stod det Telarbete och inte Telarb som det skulle stå.
Tack igen.