webForumDet fria alternativet

Problem med multiplikation

6 svar · 325 visningar · startad av plelkes

plelkesMedlem sedan mars 2002823 inlägg
#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
@ndersMedlem sedan juni 200032 969 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]))

?

plelkesMedlem sedan mars 2002823 inlägg
#3

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

plelkesMedlem sedan mars 2002823 inlägg
#4

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

plelkesMedlem 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
@ndersMedlem sedan juni 200032 969 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

plelkesMedlem 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å...

136 ms totalt · 3 externa anrop · v20260731065814-full.fb544a5a
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
133 ms — hämta tråd, inlägg och bilagor (db)