Microsoft OLE DB Provider for ODBC Drivers error '80040e14' Du hade en parentes för mycket efter värdet för pris. får följande fel mess då Alltså: får felet Det felmeddelandet beror på att du antingen försöker sätta in ett tal i ett textfält, eller tvärtom i databasen. JAg skulle skrivit koden på ettanorlunda sätt. Vilket jag desutm,o tror är effektivare:fel antal fält
[Microsoft][ODBC Microsoft Access Driver] Number of query values and destination fields are not the same.
/TeleMedia/Privat/bestall_ok.asp, line 40
---------------------------------------------------------------------------------------------
här är kodsnutten det gäller
strSQL = "SELECT "&_
"temptab.AID, temptab.antal, temptab.pris, temptab.namn, kunder.enamn, "&_
"kunder.fnamn, kunder.adress, kunder.postnr, kunder.postort, kunder.kid, "&_
"temptab.fraktsatt, temptab.betalsatt, temptab.medelande, kunder.epost "&_
"FROM kunder INNER JOIN temptab ON kunder.KID = temptab.UID "&_
"where kunder.kid = " & strInlogg
call openConn(objConn)
objConn.execute("UPDATE tempTab SET uid = "& strInlogg &" WHERE sid = "& kid &""),,128
Set Recset = objConn.Execute(strSQL)
If RecSet.EOF = True Then
Response.Redirect "error.asp?fel=6"
Else
arrInfo = recset.getRows()
dtmNow = now()
For cCount = 0 to uBound(arrInfo,2)
intSumma = intSumma + (arrInfo(1,cCount) * arrInfo(2,cCount))
mess = mess &"<tr><th scope=""row"">|<b>"& arrInfo(0,cCount) &"</b>|</th><td>"& arrInfo(3,cCount) & "</td><td>|<font color=""blue""><b>" & arrInfo(1,cCount) &" st</b></font>|</td><td> |"& arrInfo(2,cCount) &" kr | </td></th></tr>"
Rad 40 -----> objConn.Execute("INSERT INTO privatbestallning (orderDate,antal,aid,kid,fraktsatt,betalsatt,medelande,pris,namn) VALUES('"& dtmNow & "'," & arrInfo(1,cCount) & "," & arrInfo(0,cCount) & ", " & arrInfo(9,cCount) & ",'" & frakt_typ & "','" & betal_typ & "','" & strMess & "',"& (arrInfo(1,cCount) * arrInfo(2,cCount)) + frakt &")," & arrInfo(4,cCount) & "")
objConn.Execute("Delete from temptab Where SID = " & KID)Sv: fel antal fält
objConn.Execute "INSERT INTO privatbestallning (orderDate,antal,aid,kid,fraktsatt,betalsatt,medelande,pris,namn) VALUES('"& dtmNow & "'," & arrInfo(1,cCount) & "," & arrInfo(0,cCount) & ", " & arrInfo(9,cCount) & ",'" & frakt_typ & "','" & betal_typ & "','" & strMess & "',"& (arrInfo(1,cCount) * arrInfo(2,cCount)) + frakt &"," & arrInfo(4,cCount),,128
(128 är en flagga som betyder att anropet inte ska skapa något recordset.)Sv: fel antal fält
Microsoft OLE DB Provider for ODBC Drivers error '80040e14'
[Microsoft][ODBC Microsoft Access Driver] Syntax error in INSERT INTO statement.
/TeleMedia/Privat/bestall_ok.asp, line 36 Sv: fel antal fält
objConn.Execute "INSERT INTO privatbestallning (orderDate,antal,aid,kid,fraktsatt,betalsatt,medelande,pris,namn) VALUES('"& dtmNow & "'," & arrInfo(1,cCount) & "," & arrInfo(0,cCount) & ", " & arrInfo(9,cCount) & ",'" & frakt_typ & "','" & betal_typ & "','" & strMess & "',"& (arrInfo(1,cCount) * arrInfo(2,cCount)) + frakt &"," & arrInfo(4,cCount) & ")",,128 Sv: fel antal fält
Microsoft OLE DB Provider for ODBC Drivers error '80040e10'
[Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 1.
/TeleMedia/Privat/bestall_ok.asp, line 40 Sv: fel antal fält
Gå igenom din kod och som sagts förut, skriv ut din SQL sats så att du ser vilka värden som du får med.
//Anna-KarinSv: fel antal fält
<code>
openConn objConn
objConn.execute("UPDATE tempTab SET uid = "& strInlogg &" WHERE sid = "& kid &""),,128
'**
'* Slår upp kundinformation
'**
strSQL = "SELECT *" & vbCrLf & _
"FROM kunder" & vbCrLf & _
"WHERE kunder.kid = " & strInlogg
Set Recset = objConn.Execute(strSQL)
If Recset.EOF Then
Else
strEName = Recset("enamn")
strFNamn = Recset("fnamn")
strAdress = Recset("adress")
strPostNr = Recset("postnr")
strPostOrt = Recset("postort")
strEPost = Recset("epost")
Recset.Close
'**
'* Summerar beställningen
'**
strSQL = "SELECT SUM(temptab.Antal * temptab.Pris) As Totalt " & vbCrLf & _
"FROM temptab ON kunder.KID = " & vbCrLf & _
"WHERE temptab.UID = " & strInlogg
Recset.Open strSQL, objConn
iSumme = Recset("Totalt")
Recset.Close
'**
'* Ingen summa = Ingen beställning
'**
If iSumme Then
dtmNow = now()
'**
'* Öppnar recordset för att skapa medelande
'**
strSQL = "SELECT temptab.*" & vbCrLf & _
"FROM temptab ON kunder.KID = " & vbCrLf & _
"WHERE temptab.UID = " & strInlogg
Recset.Open strSQL, objConn
Do Until Recset.EOF
mess = mess &"<tr><th scope=""row"">|"& arrInfo(0,cCount) &"|</th><td>"& arrInfo(3,cCount) & "</td><td>|<font color=""blue"">" & arrInfo(1,cCount) &" st</font>|</td><td> |"& arrInfo(2,cCount) &" kr | </td></th></tr>"
Recset.MoveNext
Loop
'**
'* Överför poster till privatbestallning
'**
strSQL = "INSERT INTO privatbestallning (orderDate, kid, aid, antal, fraktsatt, betalsatt, medelande, pris, namn)" & vbCrLf & _
"SELECT #" & dtmNow & "#, temptab.UID, temptab.AID, temptab.antal, temptab.fraktsatt, temptab.betalsatt, temptab.medelande, temptab.pris, temptab.namn" & vbCrLf & _
"FROM temptab" & vbCrLf & _
"WHERE temptab.UID = " & strInlogg
objConn.Execute, strSQL
'**
'* Tömmer temp-tabell
'**
strSQL = "DELETE FROM temptab" & vbCrLf & _
"WHERE temptab.UID = " & strInlogg
objConn.Execute, strSQL
Else
Response.Redirect "error.asp?fel=6"
End If
Else
'Kund saknas! Skall det vara på detta viset?
End If
</code>
Har inte "orkat" översätta din array för mess. Ditt problem. ;o)