I tabellen finns kolumnen summa, den tillåter inte null. Skriv istället: Men det är konstigheter i koden här, du avslutar med att skriva summa=summa,(En liten missad kvarleva från ett försök att formatera till valuta. Amerikansk server gav mig ett $) Om något av värdena är null kommer resultatet bli null... Snyggare kod men samma fel. Första en fråga. Ska den läga till en ny post. Eller uppdatera befintlig? Nu blir jag lite förvirrad Testa att ta bort <code>Rs.AddNew</code>. HAr för mig att ADO inte har någon EDIT metod. Och du skulle ju uppdatera formeln. Där satt den! Sånt som får en att känna sig duktig... :O)Varför uppdateras inte kolumnen?
-------------------------------------------------------------------
<code>
<%
Dim Con, Rs, Fast, Fastavgift,Antal,Forbrukning,Besparing, Summa, sSumma, ssSumma
Set Con = Server.CreateObject("ADODB.Connection")
Con.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("/cyklonline/db/analys.mdb")
Set Rs = Server.CreateObject("ADODB.RecordSet")
Addera = "SELECT*FROM infotab WHERE Fastighet='" & Request.Querystring("ID") &"'"
Rs.Open Addera,Con,adLockOptimistic, adOpenStatic
Fast= Rs("fastighet")
'Kalkylera besparing
Fastavgift = Rs("fastav")
'iFastavgift = CInt("Fastavgift")
Antal = Rs("levad")
'iAntal = CInt("Antal")
Forbrukning = Rs("forbr")
'iForbrukning = CInt("Forbrukning")
Besparing = 0.05
'dBesparing = CBbl("Besparing")
Summa = Fastavgift*Antal
sSumma = Forbrukning*Antal
ssSumma = sSumma*Besparing
Summa = Summa+ssSumma
Summa = Summa
'Spara summan i databasen
Rs.AddNew
Rs("summa") = Summa
On Error Resume Next
Rs.Update
%>
<font face="Verdana, Arial, Helvetica, sans-serif">Din vinst/förtjänst
på <%=Fast%> blir <%=Summa%> kr/år exkl.moms,
om du elkonverterar.
<%
Rs.Close
Con.Close
Set Rs = Nothing
Set Con = Nothing
%>
</font></font>
</body>
</html>
</code>
Varför uppdateras inte kolumnen summa?
/MikaelSv: Varför uppdateras inte kolumnen?
Addera = "update infotab set summa = fastad*levad WHERE Fastighet='" & Request.Querystring("ID") &"'"
con.execute addera
Men det är konstigheter i koden här, du avslutar med att skriva summa=summa, fast du räknat ut värdet ovanför - vilket jag inte förstår.. Du hämtar även värdena och räknar ut dom utan att hämta någon parameter som användaren skrivit, så koden ovan gör att summan blir fastad*levad precis som du angett i asp-koden
Om nu inte jag är helt vrickad...
/PelleSv: Varför uppdateras inte kolumnen?
fast du räknat ut värdet ovanför - vilket jag inte förstår.. Du hämtar även värdena och räknar ut dom utan att hämta någon parameter som användaren skrivit,(Värdena hämtas ju ur en databas, och har i ett tidigare skede matats in där av användaren.)så koden ovan gör att summan blir fastad*levad precis som du angett i asp-koden
Koden fungerar som jag vill, förutom att att den eländes kolumnen summa inte vill uppdatera sig.
Felmeddelandet blir att fältet inte tillåter null
/MikaelSv: Varför uppdateras inte kolumnen?
Så om Fastavgift, Antal, Forbrukning eller Besparing är null kommer resultatet bli null.
Testa värdena:
<code>
Fast= Rs("fastighet")
'Kalkylera besparing
If IsNull(Rs("fastav")) Then
Response.Write "Fastighetsavgift saknas!"
ElseIf IsNull(Rs("levad")) Then
Response.Write "Antal boende saknas!"
ElseIf IsNull(Rs("forbr")) Then
Response.Write "Förbrukning saknas!"
Else
Fastavgift = CDbl(Rs("fastav"))
Antal = CDbl(Rs("levad"))
Forbrukning = CDbl(Rs("forbr"))
Besparing = 0.05
Summa = (Fastavgift*Antal)+((Forbrukning*Antal)*Besparing)
End If
</code>Sv: Varför uppdateras inte kolumnen?
Microsoft JET Database Engine error '80040e21'
Index or primary key cannot contain a Null value.
/cyklonline/analysen/resultat.asp, line 58
Line 58 är just Rs.update
/MikaelSv: Varför uppdateras inte kolumnen?
Om den ska uppdatera befintlig så är det:
<code> Rs.AddNew</code>
Som skall tas bort eller bytas mot:
<code> Rs.Edit</code>
Om du ska lägga till en ny post med summan:
Låt oss titta på felmeddelandet:
Index or primary key cannot contain a Null value
Du råkar inte ha några andra kolumner i tabelen. Så som en primärnyckel? Tror risken är stor att det är det som strular...Sv: Varför uppdateras inte kolumnen?
Måste försöka tänka lite....
På föregående sida matar användaren in alla uppgifter, utom just summa, som räknas ut med hjälp av den tidigare inmatade info:n
Koden som jag skickat in har i uppgift att räkna ut summa visa den för användaren och spara den i databasen. Om användaren återkommer vid ett annat tillfälle för att göra en ny beräkning på samma fastighet, så kommer han att dirigeras till en annan sida där alla tidigare, inkl summa visas upp.
Jag får lura lite till på det här
/MikaelSv: Varför uppdateras inte kolumnen?
Sv: Varför uppdateras inte kolumnen?
Hillqvist har gjort det igen.
Tack oändligt mycket
/MikaelSv: Varför uppdateras inte kolumnen?
Bara glad att jag är till hjälp...