webForumDet fria alternativet
Logga in / Bli medlem

Problem med multiplikation

ASP

6 svar · 325 visningar · startad av plelkes

Medlem sedan mars 2002823 inlägg
Trådstart#1

När jag i nedanstående kod

<%@LANGUAGE="VBSCRIPT" "%>
<%

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" & lngVolym))

For each formObj in Request.Form
     If left(formObj,9) = "leggatill" Then
            lngFluidID = Replace(Request.Form(formObj), "leggatill", "")

strSQL = "SELECT * FROM tblFluids WHERE FluidID = " & lngFluidID
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
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 &")"
    
	vatskeb.Execute strSQL, , 128
End if
 Next
            
vatskeb.close
Set vatskeb = Nothing

%>

vill med Response.Write kolla resultatet av multiplikation visar det sig att ALLA resultat = 0 fastän det skall vara skiljt från 0

För tblFluids.Naperml, tblFluids.Kperml osv gäller

  • Fältstorlek = 1
  • Format = fast
  • Decimaler = 4
  • Obligatorisk = Nej
  • Indexerat = nej
Medlem sedan juni 200032 967 inlägg
#2

Vid sådana här tillfällen börjar man med att skriva ut de värden man får, för att se var felet inträffar.

Skriv ut sngVolym, och alla andra värden som används.

Jag sätter en femma på att sngVolym blir 0, eftersom jag kan inte se var du definierar lngVolym, som du använder i ditt fältnamn:

sngVolym = CSng(Request.Form("volym" & lngVolym))

Borde inte denna kodrad ligga inne i loopen och se ut så här:

sngVolym = CSng(Request.Form("volym" & [b]lngFluidID[/b]))

?

Medlem sedan mars 2002823 inlägg
#3

sngVolym = 0
najoner = 0
kaliumjoner = 0
kloridjoner = 0
fosfatjoner =0
magnesiumjoner =0
energi = 0

Medlem sedan mars 2002823 inlägg
#4

Naturligtvis har du rätt om att kodraden ser fel ut..

Medlem sedan mars 2002823 inlägg
#5

@nders, du är en klippa :bire :bire
Hoppas att du får mååååååååååååååånga julklappar.
Verkar fungera med nedanstående kod

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 formObj in Request.Form
     If left(formObj,9) = "leggatill" Then
            lngFluidID = Replace(Request.Form(formObj), "leggatill", "")

strSQL = "SELECT * FROM tblFluids, tblVetskebalans WHERE tblVetskebalans.FluidID = tblFluids.FluidID AND tblFluids.FluidID = " & lngFluidID
Set tblFluids = vatskeb.Execute(strSQL)
	sngVolym = CSng(Request.Form("volym" & lngFluidID))
	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

 
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 &")"
    

	vatskeb.Execute strSQL, , 128
End if
 Next
            
vatskeb.close
Set vatskeb = Nothing
Medlem sedan juni 200032 967 inlägg
#6

plelkes skrev:

@nders, du är en klippa :bire :bire
Hoppas att du får mååååååååååååååånga julklappar.
Verkar fungera med nedanstående kod

Härligt! :)

Lycka till med fortsättningen! :)

Mvh

Medlem sedan mars 2002823 inlägg
#7

@nders skrev:

tack för det..

Har en stark kännsla att jag kommer att behöva din och wf´s hjälp även i framtiden :h
Och vet att jag kommer att få det oxå...

263 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91
127 ms — deklarationer (db)
0 ms — hämta statistik (cache)
133 ms — hämta tråd, inlägg och bilagor (db)
127 ms — ändringar (db)