SSebbeMedlem sedan jan. 20032 285 inlägg Jag tycker mig känna igen den där koden. 
Testa att skriva SQL-satsen så här istället:
strSQL = "SELECT f.FluidNamn, ft.TypeNamn, ft.TypeID, f.FluidID FROM tblFluidRelat AS fr, tblFluids AS f, tblFluidTypes AS ft WHERE" & _
"fr.FluidID = f.FluidID AND fr.typeID = ft.typeID AND ft.TypeID = " & intType & " ORDER by ft.typeID"
Nej, det är inte samma sak. Du använder objekt.egenskap till t.ex. objConn*.Execute*, objConn*.Open "...", men med recordset använder du som sagt objRS("kolumn")*.
Är inte så bra på att förklara.
/red Ah, @nders har huvudet på skaft. 
@ndersMedlem sedan juni 200032 967 inläggAng. felmeddelandet: släng in ett mellanslag efter WHERE.
Sen kan jag inte säga tillräckligt många gånger: har man problem med en SQL-fråga, skriv ut den med response.write istället för att exekvera. Mycket lättare att felsöka då.
PplelkesMedlem sedan mars 2002823 inlägg Oki, fat konstiga är att det fungerade förrut - men klart ett mellanslag kommer ju bort rätt lätt..
Dock fungerar inte Sebbes kod - för det sker ingen "INSERT" i i tblVetskebalans.Na -> tblVetskebalans.Energi
SSebbeMedlem sedan jan. 20032 285 inlägg Va? Funkar det inte med den här koden?
Session.LCID = 1053
Set vatskeb = Server.CreateObject( "Adodb.Connection" )
vatskeb.Provider = "Microsoft.Jet.OLEDB.4.0"
MdbFilePath = Server.MapPath("\vatskebalans\db\vbalans.mdb")
vatskeb.ConnectionString = "Data Source='" & MdbFilePath & "'"
vatskeb.open
pnr= Request.Form("personnr")
d = FormatDateTime(Date, 2)
sngVolym = CSng(Request.Form("volym" & lngFluidID))
For Each Value In Request.Form
If Left(Value, 9) = "leggatill" Then
intID = Mid(Value, 10)
Exit For
End If
Next
strSQL = "SELECT * FROM tblFluids WHERE FluidID = " & intID
Set tblFluids = vatskeb.Execute(strSQL)
najoner = sngVolym * tblFluids("Naperml")
kaliumjoner = sngVolym * tblFluids("Kperml")
kloridjoner = sngVolym * tblFluids("Clperml")
fosfatjoner = sngVolym * tblFluids("Pperml")
magnesiumjoner = sngVolym * tblFluids("Mgperml")
energi = sngVolym * tblFluids("Eperml")
Set tblFluids = Nothing
For each formObj in Request.Form
If left(formObj,9) = "leggatill" Then
lngFluidID = Replace(Request.Form(formObj), "leggatill", "")
strSQL = "INSERT INTO tblVetskebalans(Dag, FluidID, Volym, PatID, Na, K, Clorid, Fosfat, Magnesium, Energi ) VALUES(#" & d & "#,'" & lngFluidID & "'," & Request.Form("volym" & lngFluidID) & ", '" & pnr & "', " & najoner & ", " & kaliumjoner & ", " & kloridjoner & ", " & fosfatjoner & ", " & magnesiumjoner &", " & energi &")"
Response.Write strSQL
vatskeb.Execute strSQL, , 128
End if
Next
vatskeb.close
Set vatskeb = Nothing
Response.Redirect "101.asp"
PplelkesMedlem sedan mars 2002823 inlägg
Sebbe skrev:
Va? Funkar det inte med den här koden
Dess värre inte...
Sker ingen tillskrivning i fälten
tblVetskebalans.Na
tblVetskebalans.K
tblVetskebalans.Clorid
tblVetskebalans.Fosfat
tblVetskebalans.Magnesium
tblVetskebalans.Energi
SSebbeMedlem sedan jan. 20032 285 inlägg Hur ser det ut om du skriver ut SQL-satsen då?
For each formObj in Request.Form
If left(formObj,9) = "leggatill" Then
lngFluidID = Replace(Request.Form(formObj), "leggatill", "")
strSQL = "INSERT INTO tblVetskebalans(Dag, FluidID, Volym, PatID, Na, K, Clorid, Fosfat, Magnesium, Energi ) VALUES(#" & d & "#,'" & lngFluidID & "'," & Request.Form("volym" & lngFluidID) & ", '" & pnr & "', " & najoner & ", " & kaliumjoner & ", " & kloridjoner & ", " & fosfatjoner & ", " & magnesiumjoner &", " & energi &")"
Response.Write strSQL : Response.End
vatskeb.Execute strSQL, , 128
End if
Next
PplelkesMedlem sedan mars 2002823 inlägg Kan felet vara att det borde stå:
najoner = sngVolym * tblFluids.Naperml
SSebbeMedlem sedan jan. 20032 285 inlägg Hm... Så här då?
Session.LCID = 1053
Set vatskeb = Server.CreateObject( "Adodb.Connection" )
vatskeb.Provider = "Microsoft.Jet.OLEDB.4.0"
MdbFilePath = Server.MapPath("\vatskebalans\db\vbalans.mdb")
vatskeb.ConnectionString = "Data Source='" & MdbFilePath & "'"
vatskeb.open
For Each Value In Request.Form
If Left(Value, 9) = "leggatill" Then
intID = Mid(Value, 10)
ElseIf Left(Value, 5) = "volym" Then
lngVolym = CLng(Mid(Value, 6))
End If
Next
pnr= Request.Form("personnr")
d = FormatDateTime(Date, 2)
sngVolym = CSng(Request.Form("volym" & lngVolym))
strSQL = "SELECT * FROM tblFluids WHERE FluidID = " & intID
Set tblFluids = vatskeb.Execute(strSQL)
najoner = sngVolym * tblFluids("Naperml")
kaliumjoner = sngVolym * tblFluids("Kperml")
kloridjoner = sngVolym * tblFluids("Clperml")
fosfatjoner = sngVolym * tblFluids("Pperml")
magnesiumjoner = sngVolym * tblFluids("Mgperml")
energi = sngVolym * tblFluids("Eperml")
Set tblFluids = Nothing
For each formObj in Request.Form
If left(formObj,9) = "leggatill" Then
lngFluidID = Replace(Request.Form(formObj), "leggatill", "")
strSQL = "INSERT INTO tblVetskebalans(Dag, FluidID, Volym, PatID, Na, K, Clorid, Fosfat, Magnesium, Energi ) VALUES(#" & d & "#,'" & lngFluidID & "'," & Request.Form("volym" & lngFluidID) & ", '" & pnr & "', " & najoner & ", " & kaliumjoner & ", " & kloridjoner & ", " & fosfatjoner & ", " & magnesiumjoner &", " & energi &")"
Response.Write strSQL
vatskeb.Execute strSQL, , 128
End if
Next
vatskeb.close
Set vatskeb = Nothing
Response.Redirect "101.asp"
PplelkesMedlem sedan mars 2002823 inlägg Fortfarande inget*snyft*
Utskrift av strSQL:
INSERT INTO tblVetskebalans(Dag, FluidID, Volym, PatID, Na, K, Clorid, Fosfat, Magnesium, Energi ) VALUES(#2003-12-20#,'14',123456, '5803199453', 0, 0, 0, 0, 0, 0)
SSebbeMedlem sedan jan. 20032 285 inlägg Nu har jag kollat lite på formuläret, och det här tror jag nog funkar:
Session.LCID = 1053
Set vatskeb = Server.CreateObject( "Adodb.Connection" )
vatskeb.Provider = "Microsoft.Jet.OLEDB.4.0"
MdbFilePath = Server.MapPath("\vatskebalans\db\vbalans.mdb")
vatskeb.ConnectionString = "Data Source='" & MdbFilePath & "'"
vatskeb.open
pnr= Request.Form("personnr")
d = FormatDateTime(Date, 2)
For Each Value In Request.Form
If Left(Value, 9) = "leggatill" Then
intID = Mid(Value, 10)
ElseIf Left(Value, 5) = "volym" Then
sngVolym = CSng(Request.Form(Value))
End If
strSQL = "SELECT * FROM tblFluids WHERE FluidID = " & intID
Set tblFluids = vatskeb.Execute(strSQL)
najoner = sngVolym * tblFluids("Naperml")
kaliumjoner = sngVolym * tblFluids("Kperml")
kloridjoner = sngVolym * tblFluids("Clperml")
fosfatjoner = sngVolym * tblFluids("Pperml")
magnesiumjoner = sngVolym * tblFluids("Mgperml")
energi = sngVolym * tblFluids("Eperml")
Set tblFluids = Nothing
If left(formObj,9) = "leggatill" Then
lngFluidID = Replace(Request.Form(formObj), "leggatill", "")
strSQL = "INSERT INTO tblVetskebalans(Dag, FluidID, Volym, PatID, Na, K, Clorid, Fosfat, Magnesium, Energi ) VALUES(#" & d & "#,'" & intID & "'," & sngVolym & ", '" & pnr & "', " & najoner & ", " & kaliumjoner & ", " & kloridjoner & ", " & fosfatjoner & ", " & magnesiumjoner &", " & energi &")"
vatskeb.Execute strSQL, , 128
End if
Next
vatskeb.close
Set vatskeb = Nothing
Response.Redirect "101.asp"
Om det inte funkar har jag tänkt ut ett annat möjligt sätt att lösa det på. 
PplelkesMedlem sedan mars 2002823 inlägg Tyvärr så fungerar inte nu heller
Microsoft JET Database Engine error '80040e14'
Syntax error (missing operator) in query expression 'FluidID ='.
/vatskebalans/201.asp, line 22
201.asp, line 22
Set tblFluids = vatskeb.Execute(strSQL)
PplelkesMedlem sedan mars 2002823 inlägg Kan inte felet ligga i sättet att plocka ut FluidID?
Jag menar det sättet som @nders hjälpte mig med:
@nders skrev:
If left(formObj,9) = "leggatill" Then
lngFluidID = Replace(Request.Form**(formObj**), "leggatill", "")
och ditt sätt:
Sebbe skrev:
For Each Value In Request.Form
If Left(Value, 9) = "leggatill
PplelkesMedlem sedan mars 2002823 inlägg Har inte hunnit testa än, men vad sägs om:
<%
Session.LCID = 1053
Set vatskeb = Server.CreateObject( "Adodb.Connection" )
vatskeb.Provider = "Microsoft.Jet.OLEDB.4.0"
MdbFilePath = Server.MapPath("\vatskebalans\db\vbalans.mdb")
vatskeb.ConnectionString = "Data Source='" & MdbFilePath & "'"
vatskeb.open
pnr= Request.Form("personnr")
d = FormatDateTime(Date, 2)
strSQL = "SELECT * FROM tblFluids WHERE FluidID = " & lngFluidID
Set tblFluids = vatskeb.Execute(strSQL)
najoner = CSng(Request.Form("volym" & lngFluidID)) * tblFluids.Naperml
kaliumjoner = CSng(Request.Form("volym" & lngFluidID)) * tblFluids.Kperml
kloridjoner = CSng(Request.Form("volym" & lngFluidID)) * tblFluids.Clperml
fosfatjoner = CSng(Request.Form("volym" & lngFluidID)) * tblFluids.Pperml
magnesiumjoner = CSng(Request.Form("volym" & lngFluidID)) * tblFluids.Mgperml
energi = CSng(Request.Form("volym" & lngFluidID)) * tblFluids.Eperml
Set tblFluids = Nothing
If left(formObj,9) = "leggatill" Then
lngFluidID = Replace(Request.Form(formObj), "leggatill", "")
strSQL = "INSERT INTO tblVetskebalans(Dag, FluidID, Volym, PatID, Na, K, Clorid, Fosfat, Magnesium, Energi ) VALUES(#" & d & "#,'" & intID & "'," & sngVolym & ", '" & pnr & "', " & najoner & ", " & kaliumjoner & ", " & kloridjoner & ", " & fosfatjoner & ", " & magnesiumjoner &", " & energi &")"
Response.Write strSQL : Response.End
vatskeb.Execute strSQL, , 128
End if
Next
vatskeb.close
Set vatskeb = Nothing
Response.Redirect "101.asp"
SSebbeMedlem sedan jan. 20032 285 inlägg Nu blir jag snart sur på mig själv!
Testa det här:
Session.LCID = 1053
Set vatskeb = Server.CreateObject( "Adodb.Connection" )
vatskeb.Provider = "Microsoft.Jet.OLEDB.4.0"
MdbFilePath = Server.MapPath("\vatskebalans\db\vbalans.mdb")
vatskeb.ConnectionString = "Data Source='" & MdbFilePath & "'"
vatskeb.open
pnr= Request.Form("personnr")
d = FormatDateTime(Date, 2)
For Each Value In Request.Form
If Left(Value, 9) = "leggatill" Then
intID = Mid(Value, 10)
ElseIf Left(Value, 5) = "volym" Then
sngVolym = CSng(Request.Form(Value))
End If
If CStr(intID & "") <> "" AND CStr(sngVolym & "") <> "" Then
strSQL = "SELECT * FROM tblFluids WHERE FluidID = " & intID
Set tblFluids = vatskeb.Execute(strSQL)
najoner = sngVolym * tblFluids("Naperml")
kaliumjoner = sngVolym * tblFluids("Kperml")
kloridjoner = sngVolym * tblFluids("Clperml")
fosfatjoner = sngVolym * tblFluids("Pperml")
magnesiumjoner = sngVolym * tblFluids("Mgperml")
energi = sngVolym * tblFluids("Eperml")
Set tblFluids = Nothing
If left(formObj,9) = "leggatill" Then
lngFluidID = Replace(Request.Form(formObj), "leggatill", "")
strSQL = "INSERT INTO tblVetskebalans(Dag, FluidID, Volym, PatID, Na, K, Clorid, Fosfat, Magnesium, Energi ) VALUES(#" & d & "#,'" & intID & "'," & sngVolym & ", '" & pnr & "', " & najoner & ", " & kaliumjoner & ", " & kloridjoner & ", " & fosfatjoner & ", " & magnesiumjoner &", " & energi &")"
vatskeb.Execute strSQL, , 128
End if
intID = ""
sngVolym = ""
End If
Next
vatskeb.close
Set vatskeb = Nothing
Response.Redirect "101.asp"
PplelkesMedlem sedan mars 2002823 inlägg Tappa inte humöret nu Sebbe, men:
Microsoft VBScript runtime error '800a000d'
Type mismatch: 'CSng'
SSebbeMedlem sedan jan. 20032 285 inlägg Du måste skriva in ett numeriskt värde i textrutan. Men vi kan lägga in en säkerhetscheck:
Session.LCID = 1053
Set vatskeb = Server.CreateObject( "Adodb.Connection" )
vatskeb.Provider = "Microsoft.Jet.OLEDB.4.0"
MdbFilePath = Server.MapPath("\vatskebalans\db\vbalans.mdb")
vatskeb.ConnectionString = "Data Source='" & MdbFilePath & "'"
vatskeb.open
pnr= Request.Form("personnr")
d = FormatDateTime(Date, 2)
For Each Value In Request.Form
If Left(Value, 9) = "leggatill" Then
intID = Mid(Value, 10)
ElseIf Left(Value, 5) = "volym" Then
If IsNumeric(Trim(Request.Form(Value))) Then
sngVolym = CSng(Trim(Request.Form(Value)))
Else
sngVolym = 1
End If
End If
If CStr(intID & "") <> "" AND CStr(sngVolym & "") <> "" Then
strSQL = "SELECT * FROM tblFluids WHERE FluidID = " & intID
Set tblFluids = vatskeb.Execute(strSQL)
najoner = sngVolym * tblFluids("Naperml")
kaliumjoner = sngVolym * tblFluids("Kperml")
kloridjoner = sngVolym * tblFluids("Clperml")
fosfatjoner = sngVolym * tblFluids("Pperml")
magnesiumjoner = sngVolym * tblFluids("Mgperml")
energi = sngVolym * tblFluids("Eperml")
Set tblFluids = Nothing
If left(formObj,9) = "leggatill" Then
lngFluidID = Replace(Request.Form(formObj), "leggatill", "")
strSQL = "INSERT INTO tblVetskebalans(Dag, FluidID, Volym, PatID, Na, K, Clorid, Fosfat, Magnesium, Energi ) VALUES(#" & d & "#,'" & intID & "'," & sngVolym & ", '" & pnr & "', " & najoner & ", " & kaliumjoner & ", " & kloridjoner & ", " & fosfatjoner & ", " & magnesiumjoner &", " & energi &")"
vatskeb.Execute strSQL, , 128
End if
intID = ""
sngVolym = ""
End If
Next
vatskeb.close
Set vatskeb = Nothing
Response.Redirect "101.asp"
plelkes skrev:
Tappa inte humöret nu Sebbe
Aldrig! 
PplelkesMedlem sedan mars 2002823 inlägg
Sebbe skrev:
Du måste skriva in ett numeriskt värde i textrutan
Det är det jag alltid skriver..
MEN hur som helst, de ända fält som uppdateras (dvs där värde skrivs är:
tblVetskebalans.Dag
tblVetskebalans.PatID
tblVetskebalans.FluidID
tblVetskebalans.Volym
SSebbeMedlem sedan jan. 20032 285 inlägg Vi lägger in en liten koll på volymen då. 
For Each Value In Request.Form
If Left(Value, 9) = "leggatill" Then
intID = Mid(Value, 10)
ElseIf Left(Value, 5) = "volym" Then
If IsNumeric(Trim(Request.Form(Value))) Then
sngVolym = CSng(Trim(Request.Form(Value)))
Else
sngVolym = 1
End If
End If
If CStr(intID & "") <> "" AND CStr(sngVolym & "") <> "" Then
If sngVolym =< 0 Then
Response.Write(sngVolym) : Response.End
Else
Response.Write("Nu är jag väldigt förvirrad!") : Response.End
End If
strSQL = "SELECT * FROM tblFluids WHERE FluidID = " & intID
Set tblFluids = vatskeb.Execute(strSQL)
najoner = sngVolym * tblFluids("Naperml")
kaliumjoner = sngVolym * tblFluids("Kperml")
kloridjoner = sngVolym * tblFluids("Clperml")
fosfatjoner = sngVolym * tblFluids("Pperml")
magnesiumjoner = sngVolym * tblFluids("Mgperml")
energi = sngVolym * tblFluids("Eperml")
Set tblFluids = Nothing
If left(formObj,9) = "leggatill" Then
lngFluidID = Replace(Request.Form(formObj), "leggatill", "")
strSQL = "INSERT INTO tblVetskebalans(Dag, FluidID, Volym, PatID, Na, K, Clorid, Fosfat, Magnesium, Energi ) VALUES(#" & d & "#,'" & intID & "'," & sngVolym & ", '" & pnr & "', " & najoner & ", " & kaliumjoner & ", " & kloridjoner & ", " & fosfatjoner & ", " & magnesiumjoner &", " & energi &")"
vatskeb.Execute strSQL, , 128
End if
intID = ""
sngVolym = ""
End If
Next
Hoppas inte att jag är förvirrad nu! 