tapaniMedlem sedan apr. 200093 inlägg Får det här felmeddelandet:
Microsoft OLE DB Provider for ODBC Drivers error '80040e07'
[Microsoft][ODBC Microsoft Access Driver] Data type mismatch in criteria expression.
/bokn/editkal_fm.asp, line 6
editkal_fm.asp ser ut så här:
Line 6 =
Connect.Execute(SQL)
<%
Set objKal = Server.CreateObject("ADODB.Connection")
objKal.Open "driver={Microsoft Access Driver (*.mdb)};dbq=xxxxx.mdb"
SQL = "Update Kalender SET "
SQL = SQL & "Fm = '" & Request.Form("fm") & "' Where Datum = " & Request.Form("AD")
Connect.Execute(SQL)
%>
<font face="verdana" size="2">
Ändringen är genomförd!!!<br>
Raderna som den hämtar värdena ifrån ser
ut så här:
visa_apr.asp
%
Set objKal = CreateObject("ADODB.Connection")
objKal.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=xxxxx")
SQL = ""
Set rsDa = CreateObject("ADODB.Recordset")
Set rsDa.ActiveConnection = objKal
rsDa.Open "SELECT * from Kalender"
%>
<br>
<form method="POST" action="editkal_fm.asp">
<input type="hidden" name="AD" value="<%=dag%>">
<font size="2" face="Arial, Helvetica, sans-serif">
FM:</font>
<Select name="fm">
<option>Välj färg</option>
<option value="WHITE">Vit</option>
<option value="GREEN">Grön</option>
<option value="YELLOW">Gul</option>
<option value="ORANGE">Orange</option>
<option value="LIGHTGREY">Grå</option>
<option value="RED">Röd</option>
</Select>
<input type="submit" value="Uppdatera">
</form>
+ slutsträngarna
Någon ?
Det är inte bara det att du skall specificera (svårt ord :( ) att det är ett datum du lägger in... använd # framför och efter Request.Form("AD") isåfall...
------------------
"I have to return some video tapes" - Patrick Bateman, American Psycho
[Redigerat av Rossifumi den 07 jan 2001]
tapaniMedlem sedan apr. 200093 inlägg Ska prova det ikväll men jag tror att det är något annat som är fel..
Kan man uppdatera en post med hjälp av
en rullningslist?
Har för mig att jag har haft ett liknande problem tidigare.
@ndersMedlem sedan juni 200032 969 inlägg det är klart att man kan uppdatera saker med hjälp av rullningslister och andra html-formulärelement.
html är html, asp är asp.
------------------
<A HREF="http://cartman.nu" TARGET=_blank>
if i'm not back in five minutes, just wait longer.</A>
tapaniMedlem sedan apr. 200093 inlägg Okej, har nu testat med följande:
SQL = SQL & "Fm = '" & Request.Form("fm") & "' Where Datum = '20000401'"
Och det fungerar utmärkt....
Men jag får inte till det med:
SQL = SQL & "Fm = '" & Request.Form("fm") & "' Where Datum = " & Request.Form("AD")
AD hämtar ett datum från föregående sida. Det är det datumet jag vill ha in istället för att behöva skriva '20000401'..
Någon?
@ndersMedlem sedan juni 200032 969 inlägg apostrofer i sql-frågor har betydelse. du måste ha apostrofer runt ett värde om det är en sträng, och du skall inte ha apostrofer om det är ett tal. är fältet av datumtyp i access skall däremot värdet omslutas av brädgårdar (#).
därför undrar jag: varför har du apostrofer runt värdet i din första fråga men inte i den andra?
SQL = SQL & "Fm = '" & Request.Form("fm") & "' Where Datum = '20000401'"
SQL = SQL & "Fm = '" & Request.Form("fm") & "' Where Datum = " & Request.Form("AD")
för det första: vad är datum för fälttyp i tabellen?
om jag utgår ifrån att:
- datum är av texttyp (eftersom det är så du skrivit din första fråga)
- request.form("AD") verkligen har ett värde,
så borde din sql-fråga se ut som följer:
SQL = SQL & "Fm = '" & Request.Form("fm") & "' Where Datum = '" & Request.Form("AD") & "'"
mvh,
------------------
<A HREF="http://cartman.nu" TARGET=_blank>
if i'm not back in five minutes, just wait longer.</A>
[Redigerat av @nders den 08 jan 2001]
tapaniMedlem sedan apr. 200093 inlägg Som sagt. Nybörjare *hehe*
Det var fnuttarna som saknades.
Tack igen @nders
Det funkar utmärkt nu. :)