Kanske Server.MapPath("/vetskebalans/vbalans.mdb")? :)
Microsoft VBScript runtime error '800a01a8' : Object required
69 svar · 1 137 visningar · startad av plelkes · sida 4 av 4
Men nog är det konstigt att det går skriva in:
- datum
- persinnnummer
- fluidID
- volym
men inte resten...
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. :)
Microsoft VBScript runtime error '800a0009'
Subscript out of range: 'UBound'
/vatskebalans/201.asp, line 23
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.)
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? :)
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
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)