---
title: "Microsoft VBScript runtime error '800a01a8' : Object required"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/93134-microsoft-vbscript-runtime-error-800a01a8-object-required"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "plelkes"
published: "2003-12-20T15:23:13.000Z"
updated: "2003-12-21T16:20:01.000Z"
replies: 69
views: 1147
page: 1
pages: 4
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/asp/93134-microsoft-vbscript-runtime-error-800a01a8-object-required"
---

# Microsoft VBScript runtime error '800a01a8' : Object required

_Sida 1 av 4._

## #1 — plelkes, 2003-12-20T15:23Z

Ni kanske kommer ihåg [tråden](http://www.webforum.nu/showthread.php?s=&postid=766412#post766412)  därjag jobbar vidar på min projekt... Så här långt har jag kommit:

[På denna sida](http://www12.brinkster.com/vatskebalans/101.asp) fylls rutor och kryssas i.

Själva skrivning till databasen sker på 201.asp och har följande 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)
najoner = CSng(Request.Form("volym" & lngFluidID)) * tblFluids.Naperml
kaliumjoner = CSng(Request.Form("volym" & lngFluidID)) * tblFluids.Kperml
kloridjoner = CSng(Request.Form("volym" & lngFluidID)) * tblFluids.Clperml
fosfatjoner = CSng(Request.Form("volym" & lngFluidID)) * tblFluids.Pperml
magnesiumjoner = CSng(Request.Form("volym" & lngFluidID)) * tblFluids.Mgperml
energi = CSng(Request.Form("volym" & lngFluidID)) * tblFluids.Eperml
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

Response.Redirect "101.asp"
```

 

Men nu får jag fel:

> Microsoft VBScript runtime error '800a01a8' 
> 
> Object required: 'tblFluids' 
> 
> /vatskebalans/201.asp, line 12

 
Rad 12

```
najoner = CSng(Request.Form("volym" & lngFluidID)) * tblFluids.Naperml
```

 

Men jag öppnar ju databasen, detta borde väl räcka, elelr?

Permalänk: https://www.webforum.nu/p/93134

## #2 — Sebbe, 2003-12-20T15:27Z

Jag förstår inte riktigt vad du ska göra. Du måste väl öppna ett recordset i alla fall? :q

Permalänk: https://www.webforum.nu/p/1232145

## #3 — plelkes, 2003-12-20T15:29Z

Ursäkta Sebbe men jag förstår inte...

Permalänk: https://www.webforum.nu/p/1232147

## #4 — plelkes, 2003-12-20T15:31Z

> **Sebbe skrev:**
>
> Jag förstår inte riktigt vad du ska göra

 
Det jag vill göra är att jag till respektive fält i tblVetskebalans lägga till resultatet av multiplikationen...

Permalänk: https://www.webforum.nu/p/1232149

## #5 — Sebbe, 2003-12-20T15:31Z

Jo, jag menar att du måste väl utföra en SQL-fråga mot databasen och samla resultatet i ett recordset? Du kan inte bara öppna databasen och sedan skriva *tabell.kolumn* och få ut ett värde.

Permalänk: https://www.webforum.nu/p/1232150

## #6 — plelkes, 2003-12-20T15:34Z

> **Sebbe skrev:**
>
> Jo, jag menar att du måste väl utföra en SQL-fråga mot databasen och samla resultatet i ett recordset? Du kan inte bara öppna databasen och sedan skriva tabell.kolumn och få ut ett värde.

 Nej det kan jag förståss inte\*dumma mig\* Du har fullkommligt rätt i det.

Kan du janske hjälpa mig och ge ett exempel på hur jag bör göra istället?

Permalänk: https://www.webforum.nu/p/1232153

## #7 — Sebbe, 2003-12-20T15:36Z

Jo, om jag fattade skulle jag kunna det. ;)
Vilka poster i databasen är det som ska hämtas? Kommer det med någon querystrring med ett ID eller liknande? :)

Permalänk: https://www.webforum.nu/p/1232154

## #8 — plelkes, 2003-12-20T15:41Z

Nu fattar ajg inte riktigt din fråga, Sebbe men:
Själva formuläret, dvs där vätska välljs ser ut som:

```
<form name="fylla" method="post" action="201.asp">
Patientens personnummer:&nbsp;&nbsp;&nbsp;<input name="personnr" type="text">

<%
Do While Not objRS.EOF
     Response.Write "<TR><TD><INPUT NAME=""leggatill" & objRS("FluidID") & """ TYPE=""checkbox"" VALUE="""& objRS("FluidID") &"""></TD>"		
     Response.Write "<TD>" & objRS("FluidNamn") & "</TD>"
     Response.Write "<TD><INPUT NAME=""volym" & objRS("FluidID") & """ TYPE=""text""></TD></TR>"
     objRS.MoveNext
Loop
End If
    objRS.Close
    Set objRS = Nothing
    objConn.Close
    Set objConn = Nothing
 %>
</table>
<input type="submit" value="Lägg till Vätskebalansen">

	</form>
```

 
SEdan bifogar jag de två tabellerna...

Börjar de tklarna vad jag vill göra?

Bilagor:

- [databas.zip](https://www.webforum.nu/a/2484.zip)

Permalänk: https://www.webforum.nu/p/1232161

## #9 — Sebbe, 2003-12-20T15:45Z

Det jag undrar är hur man ska veta vilken av posterna (medicinerna) i tabellen man ska ta ut. Om det har något med FluidID i tabellen att göra eller något annat?

Permalänk: https://www.webforum.nu/p/1232163

## #10 — plelkes, 2003-12-20T15:47Z

Enligt FluidID, ja

Permalänk: https://www.webforum.nu/p/1232164

## #11 — Sebbe, 2003-12-20T15:49Z

Jo, men hur vet man **vilket** FluidID? Följer det med en querystring med ID:t? (Request.QueryString("id"))

Permalänk: https://www.webforum.nu/p/1232166

## #12 — plelkes, 2003-12-20T15:54Z

det tordde jag att man gjorde genom kobination av 

```
Response.Write "<TR><TD><INPUT NAME=""leggatill" & objRS("FluidID") & """ TYPE=""checkbox"" VALUE="""& objRS("FluidID") &"""></TD>"
```

 

```
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, Na, K, Clorid, Fosfat,  Magnesium, Energi ) VALUES(#" & d & "#,'" & lngFluidID & "'," & Request.Form("volym" & lngFluidID) & ", '" & pnr & "', " & najoner & ", " & kaliumjoner & ", " & kloridjoner & ", " & fosfatjoner & ", " & magnesiumjoner &", " & energi &"  )"
```

Jag menar att allt har funkat tills jag blandade in tblFluids.Naperml

Permalänk: https://www.webforum.nu/p/1232169

## #13 — plelkes, 2003-12-20T15:59Z

Vad tror du/Ni om följande:

```
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
[B]strSQL2 = SELECT * FROM tblVetskebalans, tbl Fluids WHERE tblVetskebalans.FluidID = tblFluids.FluidID
vatskebalans.Execute strSQL2[/B]
pnr= Request.Form("personnr")
d = FormatDateTime(Date, 2)
najoner = CSng(Request.Form("volym" & lngFluidID)) * tblFluids.Naperml
kaliumjoner = CSng(Request.Form("volym" & lngFluidID)) * tblFluids.Kperml
kloridjoner = CSng(Request.Form("volym" & lngFluidID)) * tblFluids.Clperml
fosfatjoner = CSng(Request.Form("volym" & lngFluidID)) * tblFluids.Pperml
magnesiumjoner = CSng(Request.Form("volym" & lngFluidID)) * tblFluids.Mgperml
energi = CSng(Request.Form("volym" & lngFluidID)) * tblFluids.Eperml
For each formObj in Request.Form
     If left(formObj,9) = "leggatill" Then
            lngFluidID = Replace(Request.Form(formObj), "leggatill", "")
            strSQL1 = "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 &"  )"

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

Ändringarna fetstilta

Permalänk: https://www.webforum.nu/p/1232172

## #14 — Sebbe, 2003-12-20T16:00Z

Jaha, då ska vi se. :)

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

For Each Value In Request.Form
  If Left(Value, 9) = "leggatill" Then
    intID = Mid(Value, 10)
    Exit For
  End If
Next

strSQL = "SELECT * FROM tblFluids WHERE FluidID = " & intID
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

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

Response.Redirect "101.asp"
```

Permalänk: https://www.webforum.nu/p/1232174

## #15 — plelkes, 2003-12-20T16:07Z

När jag kör ditt förslag SEbbe:

> Microsoft VBScript runtime error '800a01b6' 
> 
> Object doesn't support this property or method: 'tblFluids.Naperml' 
> 
> /vatskebalans/201.asp, line 25

Permalänk: https://www.webforum.nu/p/1232178

## #16 — Sebbe, 2003-12-20T16:09Z

Ojdå, glömde att ändra det. :)

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

For Each Value In Request.Form
  If Left(Value, 9) = "leggatill" Then
    intID = Mid(Value, 10)
    Exit For
  End If
Next

strSQL = "SELECT * FROM tblFluids WHERE FluidID = " & intID
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

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

Response.Redirect "101.asp"
```

Permalänk: https://www.webforum.nu/p/1232180

## #17 — plelkes, 2003-12-20T16:10Z

Sebbe, dock ahr jag lite frågor:

1. var i din kod sker själva till "INSERT" av Na, K osv?
2. Kan du förklara kodsnutten:  

   ```
   For Each Value In Request.Form
     If Left(Value, 9) = "leggatill" Then
       intID = Mid(Value, 10)
       Exit For
     End If
   Next
   ```

Permalänk: https://www.webforum.nu/p/1232181

## #18 — Sebbe, 2003-12-20T16:14Z

1: Använde den första INSERT-satsen du skrev här. Ändra den andra For-satsen till:

```
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, Na, K, Clorid, Fosfat,  Magnesium, Energi ) VALUES(#" & d & "#,'" & lngFluidID & "'," & Request.Form("volym" & lngFluidID) & ", '" & pnr & "', " & najoner & ", " & kaliumjoner & ", " & kloridjoner & ", " & fosfatjoner & ", " & magnesiumjoner &", " & energi &")"
    Response.Write strSQL
    vatskeb.Execute strSQL, , 128
  End if
Next
```

2: Den tar ut ID-nummret till ID-kolumnen i tblFluids.

Hoppas att det funkar nu. :)

Permalänk: https://www.webforum.nu/p/1232183

## #19 — plelkes, 2003-12-20T16:23Z

själva sidan där tblVetskebalans skall skrivas ut

```
<%
If Request.QueryString("type") = "" Then
  intType = 1
Else
  intType = CInt(Request.QueryString("type"))
End If

Set objConn = Server.CreateObject("ADODB.Connection")
objConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("\vatskebalans\db\vbalans.mdb")
strSQL = "SELECT tblFluids.FluidNamn, tblFluidTypes.TypeNamn, tblFluidTypes.TypeID, tblFluids.FluidID FROM " & _
         "tblFluidRelat, tblFluids, tblFluidTypes WHERE tblFluidRelat.FluidID = tblFluids.FluidID AND" & _
		 " tblFluidRelat.typeID = tblFluidTypes.typeID AND tblFluidTypes.TypeID = " & intType & " ORDER by tblFluidTypes.typeID"

Set objRS = objConn.Execute(strSQL)

If NOT objRS.EOF Then
%>

<table width="800" border="1">
<%
strSQL = "SELECT f.FluidNamn, ft.TypeNamn, ft.TypeID, f.FluidID FROM tblFluidRelat fr, tblFluids f, tblFluidTypes ft WHERE" & _ 
"fr.FluidID = f.FluidID AND fr.typeID = ft.typeID AND ft.TypeID = " & intType & " ORDER by ft.typeID"
Set objRS = objConn.Execute(strSQL)
Do While Not objRS.EOF
     Response.Write "<TR><TD><INPUT NAME=""leggatill" & objRS("FluidID") & """ TYPE=""checkbox"" VALUE="""& objRS("FluidID") &"""></TD>"		
     Response.Write "<TD>" & objRS("FluidNamn") & "</TD>"
     Response.Write "<TD><INPUT NAME=""volym" & objRS("FluidID") & """ TYPE=""text""></TD></TR>"
     objRS.MoveNext
Loop
End If
    objRS.Close
    Set objRS = Nothing
    objConn.Close
    Set objConn = Nothing
 %>
```

 När [får jag nu felutskirften:](http://www12.brinkster.com/vatskebalans/301.asp)
Rad 28

```
Set objRS = objConn.Execute(strSQL)
```

Permalänk: https://www.webforum.nu/p/1232186

## #20 — plelkes, 2003-12-20T16:25Z

Är

```
tblFluids("Kperml")
```

 Samma Sak som

```
tblFluids.Kperml
```

Permalänk: https://www.webforum.nu/p/1232187

---

Tråden på webben: https://www.webforum.nu/amne/asp/93134-microsoft-vbscript-runtime-error-800a01a8-object-required  
Nästa sida: https://www.webforum.nu/amne/asp/93134-microsoft-vbscript-runtime-error-800a01a8-object-required/page2.md
