---
title: "function som öppnar databas"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/98601-function-som-öppnar-databas/page2"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "voigtann1"
published: "2004-03-02T16:05:35.000Z"
updated: "2004-03-07T07:54:37.000Z"
replies: 34
views: 852
page: 2
pages: 2
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/98601-function-som-öppnar-databas"
---

# function som öppnar databas

_Sida 2 av 2._

## #21 — OveRRidE, 2004-03-03T07:26Z

. :r

Jag brukar faktiskt inte stänga objekt på det sättet, utan försöker alltid att göra det explicit på varje object, så nu när jag testar så är det ju faktiskt så. 

Jag testade ju med isObject() och den returnerar ju true även om objektet har fått .close och är satt till Nothing. Nothing räknas ju som ett objekt, har jag för mig.

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

## #22 — voigtann1, 2004-03-03T19:01Z

> **@nders skrev:**
>
> > Objekt krävs.:'conn'
>
> Du noterade att jag bytte namn på conn till *objConn*? Byt tillbaka om du vill, men ungersk notation for president.

Bytte ditt objConn till Conn... spelade ingen roll...

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

## #23 — Engine^, 2004-03-03T19:16Z

> **OveRRidE skrev:**
>
> . :r
> 
> Jag brukar faktiskt inte stänga objekt på det sättet, utan försöker alltid att göra det explicit på varje object, så nu när jag testar så är det ju faktiskt så. 
> 
> Jag testade ju med isObject() och den returnerar ju true även om objektet har fått .close och är satt till Nothing. Nothing räknas ju som ett objekt, har jag för mig.

Som svar ger jag

**Nothing**
Set *objectvar* \= Nothing

Discontinues association of *objectvar* with any specific object or class. Assigning *objectvar* to Nothing releases all the system and memory resources associated with the previously referenced object when no other variable refers to it.

Nothing är alltså detsamma som *null* kan man säga. Ingenting, inte ens ett objekt eller en variabel. En rätt abstrakt historia med andra ord.

**voigtann1**: Jag tappade bort mig i texten... hur ser din kod ut nu?

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

## #24 — voigtann1, 2004-03-03T19:32Z

just nu kör jag:

```
function db(strpath)
dim conn
set conn = server.createobject("ADODB.connection")
conn.open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(strPath)
set db = conn
end function
```

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

## #25 — @nders, 2004-03-03T19:38Z

Och hur kallar du på den funktionen?

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

## #26 — voigtann1, 2004-03-03T19:40Z

db("pellesdatabas.mdb")

så vill jag ju ha koden alltid... utan att skriva att conn = db("namn.mdb")

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

## #27 — Engine^, 2004-03-03T19:42Z

Har du funderat i banorna att göra det som en klass istället?

Vart får du felet att ett objekt förväntas? Det verkar vara, som tidigare nämndes, saknade referenser till objekt som är problemet.

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

## #28 — voigtann1, 2004-03-03T19:46Z

om sidan ser ut så här:

```
<!INCLUDE>
<%
db("mindb.mdb")
SQL = "Select * blåbär where blåbär = bär"
set recset = conn.execute(SQL)
%>
```

vid set recset raden där får jag felet

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

## #29 — @nders, 2004-03-03T19:46Z

> **voigtann1 skrev:**
>
> db("pellesdatabas.mdb")
> 
> så vill jag ju ha koden alltid... utan att skriva att conn = db("namn.mdb")

Men alltså. Jag förklarade ju att du inte kan göra så!

Om du har en funktion som returnerar ett connectionobjekt, så *måste* du ta emot det!

Vad var det för problem med att göra som jag föreslog sist? :q

Läs [här](http://www.webforum.nu/showthread.php?s=&postid=808703#post808703) och [här](http://www.webforum.nu/showthread.php?s=&postid=808707#post808707) och [framför allt här](http://www.webforum.nu/showthread.php?s=&postid=808715#post808715).

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

## #30 — voigtann1, 2004-03-03T19:49Z

men @nders... jag har även försökt med dina koder... det fungera inte heller... annars hade jag inte tagit upp ämnet mer.

Kollade runt lite på script sidan wF har och hittade:
<http://www.webforum.nu/showthread.php?s=&threadid=73680&forumid=148>

Där har en funktion... testat koderna på datorn med och där fungera det...

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

## #31 — @nders, 2004-03-03T19:52Z

Fungera**r** det verkligen inte om du byter:

```
function db(strpath)
dim conn
set conn = server.createobject("ADODB.connection")
conn.open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(strPath)
set db = conn
end function
```

mot:

```
dim conn

Sub db(strpath)
     set conn = server.createobject("ADODB.connection")
     conn.open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(strPath)
End Sub
```

Och sedan sparkar igång med **db("db.mdb")**? Vad får du för felmeddelande?

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

## #32 — voigtann1, 2004-03-03T19:54Z

Har inte datorn med mig idag till soldathemmet... ska tillbaka till loggementet nu och kollar upp det 100% igen... återkommer till helgen :e ... har för mig samma fel meddelande.. fast det kan ju vara att jag har glömt spara/uppdatera sidan....

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

## #33 — Engine^, 2004-03-03T19:55Z

Som **@nders** skrev. Du måste ta emot objektet och i detta fall är det 

```
Dim conn
```

i includefilen som är mottagaren. Jag begriper inte varför inte det fungerar. Det enda jag kan tänka då är att du kör din kod innan du inkluderar det som ska hantera den.

**red.**
Eller så kan det vara så att ditt objekt är lokalt för funktionen.

Är på väg att sätta nya rekord i 'Så länge dröjde det att posta svaret'-kategorin.

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

## #34 — @nders, 2004-03-03T19:58Z

Antingen så använder man en funktion och returnerar objektet, eller så deklarerar man objektet globalt och använder en sub som skapar och initierar objektet. Bägge metoderna skall fungera, om man följer instruktionerna.

Mvh

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

## #35 — voigtann1, 2004-03-07T07:54Z

.... jag har nog förlorat all förståelse inom ASP nu... hade gjort dim conn innanför sub:en därför fungerade det ju inte.... tack @nders för hjälpen!

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/98601-function-som-öppnar-databas/page2  
Föregående sida: https://www.webforum.nu/amne/asp/98601-function-som-öppnar-databas.md
