webForumDet fria alternativet

Multiplikation av tabelfält och textruta

11 svar · 331 visningar · startad av plelkes

plelkesMedlem sedan mars 2002823 inlägg
#1

Hej igen ni ASP-gurus..

  1. När en viss objRS("FluidID") är ikryssad, gå då till tblMaidOf, där kolla om denna FluidID
    Har SubstansID = 1.

  2. Om ja så multiplicera tblMaidOf.Amount med det som står i

    <INPUT NAME=""volym" & objRS("FluidID") & """ TYPE=""text"">
    

    och skriv in detta itblVetskebalans.Na (på samma rad som datum, pnr, volum och FluidID)

  3. Om Nej skriv 0

  4. Kolla därefter ifall FluidID har SubstansID = 2

  5. Om ja så multiplicera tblMaidOf.Amount med det som står i

    <INPUT NAME=""volym" & objRS("FluidID") & """ TYPE=""text"">
    

    och skriv in detta itblVetskebalans. (på samma rad som datum, pnr, volum och FluidID)

  6. Om Nej skriv 0

  7. Kolla därefter ifall FluidID har SubstansID = 3

  8. Om ja så multiplicera tblMaidOf.Amount med det som står i

    <INPUT NAME=""volym" & objRS("FluidID") & """ TYPE=""text"">
    

    och skriv in detta itblVetskebalans.Clorid (på samma rad som datum, pnr, volum och FluidID)

  9. Kolla därefter ifall FluidID har SubstansID = 4

  10. Om Nej skriv 0

  11. Om ja så multiplicera tblMaidOf.Amount med det som står i

    <INPUT NAME=""volym" & objRS("FluidID") & """ TYPE=""text"">
    

    och skriv in detta itblVetskebalans.Clorid (på samma rad som datum, pnr, volum och FluidID)

  12. Om Nej skriv 0

  13. Kolla därefter ifall FluidID har SubstansID = 4

  14. Om ja så multiplicera tblMaidOf.Amount med det som står i

    <INPUT NAME=""volym" & objRS("FluidID") & """ TYPE=""text"">
    

    och skriv in detta itblVetskebalans.Magnesium (på samma rad som datum, pnr, volum och FluidID)

  15. Kolla därefter ifall FluidID har SubstansID = 5

  16. Om ja så multiplicera tblMaidOf.Amount med det som står i

    <INPUT NAME=""volym" & objRS("FluidID") & """ TYPE=""text"">
    

    och skriv in detta itblVetskebalans.Energi (på samma rad som datum, pnr, volum och FluidID)

Följande frågor har jag med anledning av ovanstående:

  1. Skall detta ske med funktion eller SQL
  2. Kunde man få ett litet exempel
  3. Behöver jag göra om tabellerna? Som nu är har jag inte med alla SubstansID, bara de som har ett värde skild från 0
plelkesMedlem sedan mars 2002823 inlägg
#2

Nedanstående :

<%
    Set objConn = Server.CreateObject("ADODB.Connection")
   objConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("\vatskebalans\db\vbalans.mdb")
   strSQL = "SELECT * FROM tblVetskebalans, tblFluids, tblMadeOf WHERE tblVetskebalans.FluidID = tblFluids.FluidID" &_
   " AND tblVetskebalans.FluidID = tblMadeOf.FluidID "
  Set objRS = objConn.Execute(strSQL)
 For i = 1 to 6
%>
    <TABLE border=1>
       <TR>
          <TD><B>Datum</B></TD>
          <TD><B>Personnummer</B></TD>
          <TD><B>Vätska</B></TD>
          <TD><B>Volym</B></TD>
		  <TD><B>Na</B></TD>
          <TD><B>K</B></TD>
          <TD><B>Clorid</B></TD>
          <TD><B>Fosfat</B></TD>
          <TD><B>Magnesium</B></TD>
          <TD><B>Energi</B></TD>
        
       </TR>
 <%
 	    Do While Not objRS.EOF
       Response.Write "<TR><TD>" & objRS("Dag") & "</TD>"
       Response.Write "<TD>" & objRS("PatID") & "</TD>"
       Response.Write "<TD>" & objRS("FluidNamn") & "</TD>"
       Response.Write "<TD>" & objRS("Volym") & "</TD></TR>"
	   Response.Write "<TR><TD>Clng(objRS(""Volym"")) * Clng(objRS(""Amount""))</TD>"
       Response.Write "<TD>Clng(objRS(""Volym"")) * Clng(objRS(""Amount""))</TD>"
       Response.Write "<TD>Clng(objRS(""Volym"")) * Clng(objRS(""Amount""))</TD>"
       Response.Write "<TD>Clng(objRS(""Volym"")) * Clng(objRS(""Amount""))</TD></TR>"
	   Response.Write "<TD>Clng(objRS(""Volym"")) * Clng(objRS(""Amount""))</TD></TR>"

	   objRS.MoveNext
    Loop
    objRS.Close
    Set objRS = Nothing
    objConn.Close
    Next
	Set objConn = Nothing
 %>

Om sidan körs, så får jag detta felmeddelande
Line 28:

Do While Not objRS.EOF

Vilket objekt krävs?

plelkesMedlem sedan mars 2002823 inlägg
#3

Hoppas ni förstår vad jag vill

plelkesMedlem sedan mars 2002823 inlägg
#4

... men visst borde beräkningen ske innan data skrivs till databasen? D.v.s på sidan 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 = "INSERT INTO tblVetskebalans(Dag, FluidID, Volym, PatID) VALUES(#" & d & "#,'" & lngFluidID & "'," & Request.Form("volym" & lngFluidID) & ", '" & pnr & "')"

 Response.Write strSQL
vatskeb.Execute strSQL, , 128
   
     End if
Next
            
vatskeb.close
Set vatskeb = Nothing

Och beräkningen ngt som liknar

Clng(Request.Form("volym" & lngFluidID))) * Clng(objRS("Amount"))
plelkesMedlem sedan mars 2002823 inlägg
#5

och hur löser jag följande problem:

tblVetskebalans.Na = tblMadeOf.SubstansID = 1 AND tblVetskebalans.K = tblMadeOf.SubstansID = 2 AND" &_
   " tblVetskebalans.Clorid = tblMadeOf.SubstansID = 3 AND tblVetskebalans.Fosfat = tblMadeOf.SubstansID = 4 AND" &_
   " tblVetskebalans.Magnesium = tblMadeOf.SubstansID = % AND tblVetskebalans.Energi = tblMadeOf.SubstansID = 6
plelkesMedlem sedan mars 2002823 inlägg
#6

ngra ideer?

plelkesMedlem sedan mars 2002823 inlägg
#7

Eller det kanske är en enklare lösning om jag:

  1. gör om tblFluids så att den får fälten: Na, K, Clorid, Fosfat, Magnesium, energi

  2. och då blir insert:

    strSQL = "INSERT INTO tblVetskebalans(Dag, FluidID, Volym, PatID, [B]Na[/B]) VALUES(#" & d & "#,'" & lngFluidID & "'," & Request.Form("volym" & lngFluidID) & ", '" & pnr & "', [B]"
    & Clng(Request.Form("volym" & lngFluidID))) * Clng(tblFluids.Na)) & [/B]")
    

Det fetstilta representerar förändringarna

solbulleMedlem sedan mars 20015 287 inlägg
#8

Schysst enmannatråd du har. :)

Vad är det egentligen du vill uppnå?
Du verkar ha lite olika problem i de olika inläggen?

Spontant verkar det som om du ibland låter ID i dina tabeller vara text ibland tal. Borde det inte alltid vara ett tal?

Att spara resulatet av en uträkning i ett fält, ska det vara nödvändigt?

plelkesMedlem sedan mars 2002823 inlägg
#9

Tack solbulle, jag försöker :h

solbulle skrev:

Vad är det egentligen du vill uppnå?

denna sida kryssar vi i rutan av vätskor vi använder och fyller i resultatet....

Innehållet i databasen presenteras här
Na (osv ) är ju beroende av volym vätska

solbulle skrev:

Att spara resulatet av en uträkning i ett fält, ska det vara nödvändigt?

Ja, det vill jag gärna. Dessutom blir nästa steg ett "rapport" där mängden/dygn av dessa skrivs ut

plelkesMedlem sedan mars 2002823 inlägg
#10

Att spara resulatet av en uträkning i ett fält, ska det vara nödvändigt?

Finns det nackdelar med ovanstående sätt?

strSQL = "INSERT INTO tblVetskebalans(Dag, FluidID, Volym, PatID, Na) VALUES(#" & d & "#,'" & lngFluidID & "'," & Request.Form("volym" & lngFluidID) & ", '" & pnr & "', "
& Clng(Request.Form("volym" & lngFluidID))) * Clng(tblFluids.Na)) & ")

kan man konstruera strSQL på ovanstående sätt?

plelkesMedlem sedan mars 2002823 inlägg
#11

borde inte

CSng(Request.Form("volym" & lngFluidID)) * tblFluids.Na
          fungera?
plelkesMedlem sedan mars 2002823 inlägg
#12

Hej kära wf :h
Efterslyser idéer, tankar osv i denna tråd...

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