Jag har en rätt massiv fråga som jag vill ställa till vår accessdatabas! Jag vill hämta all data från tblOrders där tblOrders.payOK = TRUE hur ska jag lägga in det. Det är alltså en boolean jag vill använda mig av.
Accessfråga...
8 svar · 480 visningar · startad av CatZ
Försöker med följande men får meddelandet
sidan skrev:
# Error Type:
Microsoft JET Database Engine (0x80040E10)
No value given for one or more required parameters.
/payok.asp, line 14
" WHERE tblOrders.OrderID=" & intOrderID & " AND tblOrder.payOK = TRUE "
Exakt vad menas? Tar ajg bort True delen så fungerar allt perfekt förutom att jag inte vill skicka eller ens hämta några värden om det inte är sant :D
Vad är det för datatyp på fältet?
Det är Yes/No inställt på True/False
Det råkar inte vara så att du skrivit fel på tabellnamnet? Att tblOrder i själva verket ska vara tblOrders?
Det löste problemet så långt att nu när jag försöker plocka ut värdena så kan jag inte använda
tblOrders.paymentOK=True
Det fungerar i access när jag testar men inte i ASP. Koden jag försöker skriva ut är följande
Response.Write objRS("custFirst") & "<br>"
På något vis verkar inte Access vilja jämföra True som boolean när det kommer från asp...
Får nu följande felmeddelande eftersom asp sidan inte producerar några värden trots att det fungerar i access:
felmeddelande skrev:
Error Type:
ADODB.Recordset (0x800A0CC1)
Item cannot be found in the collection corresponding to the requested name or ordinal.
/email.asp, line 14
Hittade felet med hjälp av
Response.Write objRS("custFirst") & "<br>"
Response.Write objRS("custLast") & "<br>"
Response.Write objRS("custCompany") & "<br>"
Response.Write objRS("custEmail") & "<br>"
Response.Write objRS("custAdr1") & "<br>"
Response.Write objRS("custAdr2") & "<br>"
Response.Write objRS("custZip") & "<br>"
Response.Write objRS("custCity") & "<br>"
Response.Write objRS("countryTitle") & "<br>"
Response.Write objRS("orderDate") & "<br>"
Response.Write objRS("orderID") & "<br>"
Response.Write objRS("licenseUsers") & "<br>"
Response.Write objRS("licensePrice") & "<br>"
Response.Write objRS("downloadURL") & "<br>"
Response.Write objRS("licenseKey") & "<br>"
Response.Write objRS("productTitle") & "<br>"
Response.Write objRS("productDescr") & "<br>"
Höll på att bli tokig, men så har jag ju suttit vid skärmen i 8 timmar i ett kör nu :)
Kanske hade gått om du hade i din första SQL lagt in '-fnuttar vid intOrderID:
" WHERE tblOrders.OrderID='" & intOrderID & "' AND tblOrder.payOK = TRUE "
madhatter skrev:
Kanske hade gått om du hade i din första SQL lagt in '-fnuttar vid intOrderID:
" WHERE tblOrders.OrderID='" & intOrderID & "' AND tblOrder.payOK = TRUE "
Enkel fnuttar ' ska man använda tillsammans med dubbelfnuttar " när det är fälttypen i databasen är av typen text eller memo. När det är tal, autotal, valuta osv ska man bara ha dubbelfnuttar, när det är boolean (sant/falskt) ska du inte ha några fnuttar alls och när det gäller datum ska du ha staket #.
Om du gör en sökning på Item cannot be found in the collection corresponding to the requested name or ordinal. Så kommer du hitta att det betyder att man har en recordset referens till något som inte finns.