---
title: "Separat db.koppling strular!"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/133771-separat-db-koppling-strular"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "Troll"
published: "2005-09-05T16:05:23.000Z"
updated: "2005-09-05T17:07:41.000Z"
replies: 2
views: 230
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/133771-separat-db-koppling-strular"
---

# Separat db.koppling strular!

## #1 — Troll, 2005-09-05T16:05Z

Hejsan!

Om man har en funktion för sin databaskoppling i tex: dbkoppling.asp och inklluderar den och sedan skriver följande så fungerar det inte, varför?

Funktionen:

```
Function dataOpen(Conn)

Set objCon = Server.CreateObject("ADODB.Connection")
objCon.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("datb/c34vvv5.mdb")&";"

End Function

Function dataClose(Conn)

objCon.Close
Set objCon = Nothing

End Function
```

Såhär hämtar jag:

```
<%
Call dataOpen(Conn)

Set objRs = Server.CreateObject("ADODB.Recordset")

strSQL = "SELECT * FROM tblGallery ORDER BY picVisad ASC"
objRs.Open strSQL, objCon, 3, 3

Response.write "<a href='showpic.asp?pCat="&objRs("picCat")&"&pMapp="&objRs("picMapp")&"&pSub="&objRs("picSub")&"&picID="&objRs("ID")&"'><img src='img/"&objRs("picCat")&"/"&objRs("picMapp")&"/"&objRs("picSub")&"/thmb/"&objRs("picFile")&"' width='100' class='border'></a>"

objRs.Close
Set objRs = Nothing

Call dataClose(Conn)

%>
```

Felmeddelande;
ADODB.Recordset error '800a0bb9'

The application is using arguments that are of the wrong type, are out of acceptable range, or are in conflict with one another.

/- - 0 0 0/right.asp, line 20

Rad 20: strSQL = "SELECT \* FROM tblGallery ORDER BY picVisad ASC"

Om jag inte använder den funktionen utan bara skriver allt på samma ställe så funkar det, men varför funkar det inte nu?

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

## #2 — @nders, 2005-09-05T16:41Z

Funktioner skall returnera något. Skall du inte returnera något, använd *subs* istället.
Vad är *Conn*, som du påstår att du skickar in i funktionen, och som du påstår att funktionen tar emot?
Om du ska använda objekt / variabler du skapat i funktioner / subrutiner utanför desamma krävs att du definierar dessa utanför.

Således kan du göra på detta sätt:

```
Dim objCon
Sub dataOpen()
	Set objCon = Server.CreateObject("ADODB.Connection")
	objCon.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("datb/c34vvv5.mdb")&";"
End Sub

Sub dataClose()
	objCon.Close
	Set objCon = Nothing
End Sub

..

dataOpen

..

dataClose
```

I övrigt: Rad 20 som felmeddelandet pekar på är *inte* din SQL-fråga.

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

## #3 — Troll, 2005-09-05T17:07Z

aah, ok. Jag har aldrig testat att göra något liknande tidigare utan hittade en snutt som jag testa med. Men tack så mycket för infon/hjälpen!

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/133771-separat-db-koppling-strular
