---
title: "overflow error??"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/39988-overflow-error"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "jonas76"
published: "2002-03-20T12:58:02.000Z"
updated: "2002-03-22T12:52:12.000Z"
replies: 15
views: 464
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/39988-overflow-error"
---

# overflow error??

## #1 — jonas76, 2002-03-20T12:58Z

Hej, detta funkar bra så länge inte både sokord och sokord1 innehåller värdet "All"  för då får jag felmedelandet overflow , men annars så funkar allt bra hur jag än vänder och vrider på det ;) vore jättetacksam för hjälp :)

\<%

dim sokord, sokord1, sokord2

  sokord=request.form("sokord1")
  sokord1=request.form("sokord2")
  sokord2=request.form("sokord3")
  
if sokord="All" then

set connection=server.createobject("adodb.connection")
 connection.open "dsn=cmt1"
 stm="select \* from cm1  where manad like '"&sokord1&"' and ar like '"&sokord2&"'"
set rs = connection.execute(stm)

else 

if sokord1="All" then

set connection=server.createobject("adodb.connection")
 connection.open "dsn=cmt1"
 stm="select \* from cm1 where konto like '"&sokord&"' and ar like '"&sokord2&"'"
set rs = connection.execute(stm)

else 

if sokord="All" and sokord1="All" then

set connection=server.createobject("adodb.connection")
 connection.open "dsn=cmt1"
 stm="select \* from cm1 where  ar like '"&sokord2&"'"
set rs = connection.execute(stm)

else 

set connection=server.createobject("adodb.connection")
 connection.open "dsn=cmt1"
 stm="select \* from cm1 where konto like '"&sokord&"' and manad like '"&sokord1&"' and ar like '"&sokord2&"'"
set rs = connection.execute(stm) 

end if
end if 
end if

 members=0
 jproc=0
 njproc=0

 do until rs.eof
 members=members+1

 jproc=jproc+rs("jproc")
 nproc=nproc+rs("nproc")

rs.movenext
loop
rs.close

 JAmedel=round (jproc/members)
 NEJmedel=round (nproc/members)
 
%\>

Account:&nbsp;\<%=sokord%\>\<br\>
Month:&nbsp;\<%=sokord1%\>\<br\>
Year:&nbsp;\<%=sokord2%\>\<br\>\<br\>
JA: \<%=jamedel%\>%\<br\>
Nej:\<%=NEJmedel%\>%\<br\>

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

## #2 — LarsG, 2002-03-20T13:38Z

Var får du overflow?

Jag tycker att du har onödigt mycket kod. Du kan läga in beräkningarna direkt i sql. Jag ändrade också att man kan söka på alla möjliga kombinationer

```
set connection=server.createobject("adodb.connection") 
connection.open "dsn=cmt1" 
stm = "select sum(jproc)/count(*) as jproc,sum(nproc)/count(*) as nproc from cm1 where 1 = 1 "
if sokord <> "All" then 
stm = stm & "and konto = '" & sokord & "' "
end if

if sokord1 <> "All" then 
stm = stm & "and manad = '" & sokord1 & "' "
end if

if sokord2 <> "All" then 
stm = stm & "and ar = '" & sokord2 & "' "
end if

set rs = connection.execute(stm) 
if  isnull(rs("jproc")) then
    jamedel = 0
    nejmedel = 0
else
   jamedel = round(rs("jproc"))
   nejmedel = round(rs("nproc"))
end if
rs.close 
connection.close
```

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

## #3 — jonas76, 2002-03-20T13:53Z

Hej Lar stack för att du tar dig tid :)

jag får följande felmedelande nu:

Error Type:
Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
\[Microsoft\]\[ODBC Microsoft Access Driver\] Circular reference caused by alias 'jproc' in query definition's SELECT list.
/cmt/cm/cmkonto1.asp, line 34

line 34: set rs = connection.execute(stm)

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

## #4 — LarsG, 2002-03-20T14:01Z

Du får byta efter as, då det tydligen blir fel om man har ett alias som är samma som ett kolumnnamn.

```
stm = "select sum(jproc)/count(*) as jc,sum(nproc)/count(*) as nc from cm1 where 1 = 1 "

if sokord <> "All" then 
stm = stm & "and konto = '" & sokord & "' "
end if

if sokord1 <> "All" then 
stm = stm & "and manad = '" & sokord1 & "' "
end if

if sokord2 <> "All" then 
stm = stm & "and ar = '" & sokord2 & "' "
end if

set rs = connection.execute(stm) 
if  isnull(rs("jproc")) then
    jamedel = 0
    nejmedel = 0
else
   jamedel = round(rs("jc"))
   nejmedel = round(rs("nc"))
end if
rs.close 
connection.close
```

Jag säger att det är fel i Access, även om Microsoft förmodligen skulle kalla det för en feature.

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

## #5 — jonas76, 2002-03-20T14:23Z

det blir fortfarande lite galet:

Error Type:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E07)
\[Microsoft\]\[ODBC Microsoft Access Driver\] Data type mismatch in criteria expression.
/cmt/cm/cmkonto1.asp, line 36

line 36:
set rs = connection.execute(stm)

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

## #6 — LarsG, 2002-03-20T14:27Z

Jaha, vilken datatyp är kolumner ar och manad? Jag förutsatte att dom var text eftersom du använde like.

Hur ser sql-frågan ut om du skriver ut den precis innan execute

```
response.write stm
```

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

## #7 — jonas76, 2002-03-20T14:54Z

Hej :)

ar och manad är med siffror konto är med bokstäver när det ligger i databasen men jag har en sida när jag hämtar informationen som jag väljer hur det skall sorteras där har jag lagt med att man skall kunna välja "All" om den skall ta med alla månader eller tex alla konton.

som ser ut :
  \<select name="sokord2"\>
  \<option\>1
  \<option\>2
  \<option\>3
  \<option\>4
  \<option\>5
  \<option\>6
  \<option\>7
  \<option\>8
  \<option\>9
  \<option\>10
  \<option\>11
  \<option\>12
  \<option\>All
  \</SELECT\>

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

## #8 — LarsG, 2002-03-20T15:42Z

Jag menade vilken typ som kolumnen i databasen är definierad som. 

Om det är typen number eller decimal så skall det vara så här

```
if sokord1 <> "All" then 
stm = stm & "and manad = " & sokord1 & " "
end if

if sokord2 <> "All" then 
stm = stm & "and ar = " & sokord2 & " "
end if
```

I så fall så ser det ut som om like fungerar även mot numeriska kolumner i Access. Det skulle jag också säga att det är ett fel i Access.

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

## #9 — jonas76, 2002-03-20T15:57Z

Hej , jo like funkar jag använde det ju i den första koden och den funka ju  ( förutom med två sökord med "all")

det blir lite mer fel :Error Type:
ADODB.Recordset (0x800A0CC1)
Item cannot be found in the collection corresponding to the requested name or ordinal.
/cmt/cm/cmkonto1.asp, line 40

line 40: if  isnull(rs("jproc")) then

den heter ju "jproc" fast det kanske inte är det som det indikerar??

tack igen för att du tar dig tid :)

i databasen är dom satta till "tal" för "all" finns bara med på den sidan som söker , det finns aldrig med i databasen.

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

## #10 — LarsG, 2002-03-20T16:07Z

Jo, jag missade att byta det tidigare. Det skall vara

```
if isnull(rs("jc")) then
```

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

## #11 — jonas76, 2002-03-20T17:59Z

Ok :) 

Jag skall test i morgon när jag kommer till jobbet igen.

Tusen tack för hjälp, jag är jätte tacksam :)

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

## #12 — jonas76, 2002-03-21T09:46Z

Hej.

det funka perfekt nu :)

Tusen tack.

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

## #13 — jonas76, 2002-03-21T13:23Z

Hej Igen ;)

Det verkar som jag får en total summa?? jag behöver ha ett medelvärdet. jag har gjort om koden lite för konceptet blev ändrat men den funkar förutom det med att jag verkar få en total summa istället för medelvärdet. koden ser ut som följer:

dim sokord1, sokord2, sokord3, sokord4

  sokord1=request.form("sokord1")
  sokord2=request.form("sokord2")
  sokord3=request.form("sokord3")
  sokord4=request.form("sokord4")
  
  set connection=server.createobject("adodb.connection") 
  connection.open "dsn=cmt1" 
  
  stm = "select sum(totalproc)/count(\*) as resultat from cm1 where 1 = 1 "

  if sokord1 \<\> "All" then 
  stm = stm & "and konto = '" & sokord1 & "' "
  
  end if

  if sokord2 \<\> "All" then 
  stm = stm & "and manad = '" & sokord2 & "' "
  
  end if

  if sokord3 \<\> "All" then 
  stm = stm & "and vecka = " & sokord3 & " "
  
  end if
  
   if sokord4 \<\> "All" then 
   stm = stm & "and ar = " & sokord4 & " "
   
   end if
   
   
  set rs = connection.execute(stm)
   
  if  isnull(rs("resultat")) then
  
      resultat = 0
      
  else
      resultat = round(rs("resultat"))
	  
      
      
  end if
  
  rs.close 
  connection.close
  set connection = nothing

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

## #14 — jonas76, 2002-03-21T13:42Z

Ursäkta mig jag såg fel men en en annan sak är att jag får fel värde nu  jag får tex 24% fast det ser snarare ut i databasen som det borde vart 76%, kan det vara möjligt att det är nått som vänder på steken?

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

## #15 — jonas76, 2002-03-21T13:50Z

\*skrattar\* ursäkta tusen ggr, jag har tappat förståndet , det låg kvar några gammla resultat i databasen som spöka ;)

ja det kan bli lite mycket ibland ...

tusen tack för hjälpen, allt funkar perfekt som det skall :)

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

## #16 — jonas76, 2002-03-22T12:52Z

Hej.

vad skall jag skriva för att få reda på hur många poster det är med "totalproc" som den räknar ihop för jag vill kunna se det antalet oxå?

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/39988-overflow-error
