---
title: "error '80020009' Exception occurred"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/93238-error-80020009-exception-occurred"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "plelkes"
published: "2003-12-22T14:20:29.000Z"
updated: "2003-12-23T20:56:40.000Z"
replies: 6
views: 270
page: 1
pages: 1
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/93238-error-80020009-exception-occurred"
---

# error '80020009' Exception occurred

## #1 — plelkes, 2003-12-22T14:20Z

Säg den glädje som varar\*snyft och gråt\* x(  x(  x( 
När jag [på denna sida fyller i](http://www12.brinkster.com/vatskebalans/102.asp)  flera kryssrutor, och textfält

Så:

> error '80020009'  Exception occurred

 

När jag skriver ut strSQL

> INSERT INTO tblVetskebalans(Dag, FluidID, Volym, PatID, Na, K, Clorid, Fosfat, Magnesium, Energi ) VALUES(#2003-12-22#,'5',1, '1212121212', 0.083, 0, 0, 0, 0, 0)

 
Så ser jag att bara första markerade "posten" läggs till och inte som jag vill :
att för varje  markerad " formObj in Request.Form" skall en ny rad skrivas till databasen

1. förstår ni vad jag försöker göra?
2. Kan detta åstadkommas?
3. Hur skall då nedanstående kod ändras

 

```
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 & "', " & Replace(najoner, ",", ".") & ", " & Replace(kaliumjoner, ",", ".") & ", " & Replace(kloridjoner, ",", ".") & ", " & Replace(fosfatjoner, ",", ".") & ", " & Replace(magnesiumjoner, ",", ".") &", " & Replace(energi, ",", ".") &")"
    
	vatskeb.Execute strSQL, , 128
End if
 Next
            
vatskeb.close
Set vatskeb = Nothing
```

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

## #2 — OveRRidE, 2003-12-22T14:37Z

Jag har för mig att det innebär att det där inte finns någon data i det recordset du försöker använda, men jag kan ha fel. 

```
strSQL = "SELECT * FROM tblFluids, tblVetskebalans WHERE tblVetskebalans.FluidID = tblFluids.FluidID AND tblFluids.FluidID = " & lngFluidID
Set tblFluids = vatskeb.Execute(strSQL)
[b]if not tblFluids.EOF Then[/b]
	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 & "', " & Replace(najoner, ",", ".") & ", " & Replace(kaliumjoner, ",", ".") & ", " & Replace(kloridjoner, ",", ".") & ", " & Replace(fosfatjoner, ",", ".") & ", " & Replace(magnesiumjoner, ",", ".") &", " & Replace(energi, ",", ".") &")"
    
	vatskeb.Execute strSQL, , 128
[b]Else
   response.write "Inga poster att visa."
End if[/b]
```

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

## #3 — plelkes, 2003-12-22T14:59Z

> **OveRRidE skrev:**
>
> Jag har för mig att det innebär att det där inte finns någon data i det recordset du försöker använda, men jag kan ha fel.

 
Det stämmer, eftersom alla vätskor inte alltid innehåller(Na, K, Cl, fosfat, magnesium, energi...

Det jag är ute efter - hoppas det är genomförbart - på svenska är

1. kolla om en  kryssruta är i fylld.
2. om Ja: kör koden

   ```
   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 & "', " & Replace(najoner, ",", ".") & ", " & Replace(kaliumjoner, ",", ".") & ", " & Replace(kloridjoner, ",", ".") & ", " & Replace(fosfatjoner, ",", ".") & ", " & Replace(magnesiumjoner, ",", ".") &", " & Replace(energi, ",", ".") &")"
       
     
   End if
   [*]nästa kryssruta
   [*]kör kryssrutan tills hela det är kollad om alla är i kryssade
   [/list=1] 
    Next
   ```

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

## #4 — plelkes, 2003-12-22T20:15Z

Det är inte fel på loop med kryssrutor.
Vissa fält/poster kan jag få fungera se bifogad world-dokument.

De icke fungerande fälten ger alla samma felutskrift:

> error '80020009' Exception occurred in line 23

 
Rad 23

```
najoner = sngVolym * tblFluids("Naperml")
```

För att spara utrymme här i koden bifogar jag koden spm 1.asp...

samtliga fälten i databasen innehåller värde, om inget annat iaf värdet 0,000

Ngn som har föslag på åtgärd?

Bilagor:

- [fel.zip](https://www.webforum.nu/a/2503.zip)

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

## #5 — @nders, 2003-12-23T12:35Z

Jag tror, som Override, att det beror på att recordsetet som skapas när du kör sql-frågan:

```
strSQL = "SELECT * FROM tblFluids, tblVetskebalans WHERE tblVetskebalans.FluidID = tblFluids.FluidID AND tblFluids.FluidID = " & lngFluidID
```

 är tomt. Vad vill du ska hända då? När recordsetet är tomt kan du ju inte multiplicera värden från det, eftersom det inte finns några värden i det. Därav felmeddelandet.

I Overrides inlägg är en else-del fetmarkerad. Lägg in den kod du vill ska köras om recordsetet är tomt där.

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

## #6 — plelkes, 2003-12-23T20:09Z

> **@nders skrev:**
>
> när du kör sql-frågan

 
vill jag öppna samtliga fält i tblFluids, så att jag kan hämta värden från tbFluids.Naperml, tbFluids.Kperml, tbFluids.Clperml, tbFluids.Mgperml, tbFluids.Pperml

> **@nders skrev:**
>
> När recordsetet är tomt kan du ju inte multiplicera värden från det, eftersom det inte finns några värden i det. Därav felmeddelandet

 Men hur kan det vara tomt? Hos mig innehåller alla fält värden, även om värdet är = 0, 000

> **@nders skrev:**
>
> I Overrides inlägg är en else-del fetmarkerad. Lägg in den kod du vill ska köras om recordsetet är tomt där.

 Om nu det är tomt - vilket jag betvivlar se ovan) så vill jag ju ändå att multiplikation och Insert skall ske..

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

## #7 — plelkes, 2003-12-23T20:56Z

Nu har jag ändrat strSQL till:

```
strSQL = "SELECT * FROM tblFluids WHERE FluidID = " & lngFluidID
```

 
Och det verkar funka - iaf så långt jag har hunnit testa och testat med utskrifterna

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/93238-error-80020009-exception-occurred
