webForumDet fria alternativet

Microsoft VBScript runtime error '800a01a8' : Object required

69 svar · 1 137 visningar · startad av plelkes · sida 4 av 4

SebbeMedlem sedan jan. 20032 285 inlägg
#61

Kanske Server.MapPath("/vetskebalans/vbalans.mdb")? :)

plelkesMedlem sedan mars 2002823 inlägg
#62

Men nog är det konstigt att det går skriva in:

  • datum
  • persinnnummer
  • fluidID
  • volym

men inte resten...

SebbeMedlem sedan jan. 20032 285 inlägg
#63

Nu ska vi felsöka lite. ;) Vad skrivs ut av den här koden?

Dim arrLegga(), arrVolym()
i = 0

Set objConn = Server.CreateObject("ADODB.Connection")
objConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("databas.mdb")

For Each Value In Request.Form
  If Left(Value, 9) = "leggatill" AND Request.Form(Value) <> "" Then
    ReDim Preserve arrLegga(intLegga)
    arrLegga(intLegga) = CSng(Mid(Value, 10))
    intLegga = intLegga + 1
  ElseIf Left(Value, 5) = "volym" AND Request.Form(Value) <> "" Then
    ReDim Preserve arrVolym(intVolym)
    arrVolym(intVolym) = Mid(Value, 6) & ":" & Request.Form(Value)
    intVolym = intVolym + 1
  End If
Next

For j = 0 To UBound(arrLegga)
  For k = 0 To UBound(arrVolym)
    If arrLegga(j) = CSng(Split(arrVolym(k), ":")(0)) Then
      strSQL = "SELECT * FROM tblFluids WHERE FluidID = " & arrLegga(j)
      Set objRS = objConn.Execute(strSQL)
      sngVolym = CSng(Split(arrVolym(k), ":")(1))

      [b]Response.Write(sngVolym) : Response.End[/b]

      intNajoner = Replace(sngVolym * objRS("Naperml"), ",", ".")
      intKaliumjoner = Replace(sngVolym * objRS("Kperml"), ",", ".")
      intKloridjoner = Replace(sngVolym * objRS("Clperml"), ",", ".")
      intFosfatjoner = Replace(sngVolym * objRS("Pperml"), ",", ".")
      intMagnesiumjoner = Replace(sngVolym * objRS("Mgperml"), ",", ".")
      intEnergi = Replace(sngVolym * objRS("Eperml"), ",", ".")
      Set objRS = Nothing

      strSQL = "INSERT INTO tblVetskebalans(Dag, FluidID, Volym, PatID, Na, K, Clorid, Fosfat, Magnesium, Energi) VALUES(#" & FormatdateTime(Date(), 2) & "#, '" & arrLegga(j) & "', " & sngVolym & ", '" & Replace(Request.Form("personnr"), "'", "''") & "', " & intNajoner & ", " & intKaliumjoner & ", " & intKloridjoner & ", " & intFosfatjoner & ", " & intMagnesiumjoner & ", " & intEnergi & ")"
      objConn.Execute(strSQL)
    End If
  Next
Next

Har skickat ett mail angående MSN. :)

plelkesMedlem sedan mars 2002823 inlägg
#64

Microsoft VBScript runtime error '800a0009'

Subscript out of range: 'UBound'

/vatskebalans/201.asp, line 23

SebbeMedlem sedan jan. 20032 285 inlägg
#65

Alltså, du måste komma till sidan genom formuläret, som du alltid gör. ;) (Alltså, du väljer t.ex. Glukos-EL 100 mg/ml och skriver 3 i volymfältet.)

plelkesMedlem sedan mars 2002823 inlägg
#66

Sebbe skrev:

Vad skrivs ut av den här koden?

5

SebbeMedlem sedan jan. 20032 285 inlägg
#67

OK! Och vad skriver det här ut? :)

Dim arrLegga(), arrVolym()
i = 0

Set objConn = Server.CreateObject("ADODB.Connection")
objConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("databas.mdb")

For Each Value In Request.Form
  If Left(Value, 9) = "leggatill" AND Request.Form(Value) <> "" Then
    ReDim Preserve arrLegga(intLegga)
    arrLegga(intLegga) = CSng(Mid(Value, 10))
    intLegga = intLegga + 1
  ElseIf Left(Value, 5) = "volym" AND Request.Form(Value) <> "" Then
    ReDim Preserve arrVolym(intVolym)
    arrVolym(intVolym) = Mid(Value, 6) & ":" & Request.Form(Value)
    intVolym = intVolym + 1
  End If
Next

For j = 0 To UBound(arrLegga)
  For k = 0 To UBound(arrVolym)
    If arrLegga(j) = CSng(Split(arrVolym(k), ":")(0)) Then
      strSQL = "SELECT * FROM tblFluids WHERE FluidID = " & arrLegga(j)
      Set objRS = objConn.Execute(strSQL)
      sngVolym = CSng(Split(arrVolym(k), ":")(1))

      intNajoner = Replace(sngVolym * objRS("Naperml"), ",", ".")
      intKaliumjoner = Replace(sngVolym * objRS("Kperml"), ",", ".")
      intKloridjoner = Replace(sngVolym * objRS("Clperml"), ",", ".")
      intFosfatjoner = Replace(sngVolym * objRS("Pperml"), ",", ".")
      intMagnesiumjoner = Replace(sngVolym * objRS("Mgperml"), ",", ".")
      intEnergi = Replace(sngVolym * objRS("Eperml"), ",", ".")
      Set objRS = Nothing

      [b]Response.Write(intNajoner & "<br>" & intKaliumjoner & "<br>" & intKloridjoner & "<br>" & intFosfatjoner & "<br>" & intMagnesiumjoner & "<br>" & intEnergi) : Response.End[/b]

      strSQL = "INSERT INTO tblVetskebalans(Dag, FluidID, Volym, PatID, Na, K, Clorid, Fosfat, Magnesium, Energi) VALUES(#" & FormatdateTime(Date(), 2) & "#, '" & arrLegga(j) & "', " & sngVolym & ", '" & Replace(Request.Form("personnr"), "'", "''") & "', " & intNajoner & ", " & intKaliumjoner & ", " & intKloridjoner & ", " & intFosfatjoner & ", " & intMagnesiumjoner & ", " & intEnergi & ")"
      objConn.Execute(strSQL)
    End If
  Next
Next

Du råkar inte ha MSN eller? :)

plelkesMedlem sedan mars 2002823 inlägg
#68

0.15
0.06
0.21
0.03
0
1.2

om svaret på din fråga så se ditt mail

SebbeMedlem sedan jan. 20032 285 inlägg
#69

Jadu, jag tycker nog att det ska funka. Vi testar en till grej för att vara säkra. :)

Dim arrLegga(), arrVolym()
i = 0

Set objConn = Server.CreateObject("ADODB.Connection")
objConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("databas.mdb")

For Each Value In Request.Form
  If Left(Value, 9) = "leggatill" AND Request.Form(Value) <> "" Then
    ReDim Preserve arrLegga(intLegga)
    arrLegga(intLegga) = CSng(Mid(Value, 10))
    intLegga = intLegga + 1
  ElseIf Left(Value, 5) = "volym" AND Request.Form(Value) <> "" Then
    ReDim Preserve arrVolym(intVolym)
    arrVolym(intVolym) = Mid(Value, 6) & ":" & Request.Form(Value)
    intVolym = intVolym + 1
  End If
Next

For j = 0 To UBound(arrLegga)
  For k = 0 To UBound(arrVolym)
    If arrLegga(j) = CSng(Split(arrVolym(k), ":")(0)) Then
      strSQL = "SELECT * FROM tblFluids WHERE FluidID = " & arrLegga(j)
      Set objRS = objConn.Execute(strSQL)
      sngVolym = CSng(Split(arrVolym(k), ":")(1))

      intNajoner = Replace(sngVolym * objRS("Naperml"), ",", ".")
      intKaliumjoner = Replace(sngVolym * objRS("Kperml"), ",", ".")
      intKloridjoner = Replace(sngVolym * objRS("Clperml"), ",", ".")
      intFosfatjoner = Replace(sngVolym * objRS("Pperml"), ",", ".")
      intMagnesiumjoner = Replace(sngVolym * objRS("Mgperml"), ",", ".")
      intEnergi = Replace(sngVolym * objRS("Eperml"), ",", ".")
      Set objRS = Nothing

      strSQL = "INSERT INTO tblVetskebalans(Dag, FluidID, Volym, PatID, Na, K, Clorid, Fosfat, Magnesium, Energi) VALUES(#" & FormatdateTime(Date(), 2) & "#, '" & arrLegga(j) & "', " & sngVolym & ", '" & Replace(Request.Form("personnr"), "'", "''") & "', " & intNajoner & ", " & intKaliumjoner & ", " & intKloridjoner & ", " & intFosfatjoner & ", " & intMagnesiumjoner & ", " & intEnergi & ")"
      [b]Response.Write(strSQL) : Response.End[/b]
      objConn.Execute(strSQL)
    End If
  Next
Next
plelkesMedlem sedan mars 2002823 inlägg
#70

INSERT INTO tblVetskebalans(Dag, FluidID, Volym, PatID, Na, K, Clorid, Fosfat, Magnesium, Energi) VALUES(#2003-12-21#, '14', 5, 'sebbe', 0.25, 9.999999E-02, 0.35, 0.05, 0, 2)

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