---
title: "Public Function"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/14077-public-function"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "aleborg"
published: "2002-01-29T10:11:00.000Z"
updated: "2002-01-29T17:39:00.000Z"
replies: 13
views: 310
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/14077-public-function"
---

# Public Function

## #1 — aleborg, 2002-01-29T10:11Z

Jag är ny på det här med com objekt, behöver lite hjälp här:

```
Public Conn As New Connection

Private Sub Form_Load()
    ' Open database connection
    Dim Conn
    Set Conn = Server.CreateObject("ADODB.Connection")
    strConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;DatSource=f:\hemsidor\egna\webshop\webshop.mdb"
    Conn.Open strConnectionString
End Sub

Public Function Produkt_Prop()
Dim prop As ADODB.Recordset

   pSQL = "Select * From Property Where PropertyID=1"
   Set prop = Conn.Execute(pSQL)
        prod_bgcolor = prop("Prod_BgColor")
        prod_text = prop("Prod_Text")
        prod_link = prop("Prod_Link")
        prod_visited = prop("Prod_Visited")
        prod_active = prop("Prod_Active")
        prod_hover = prop("Prod_Hover")
        prod_link_dec = prop("Prod_Link_Dec")
        prod_visited_dec = prop("Prod_Visited_Dec")
        prod_active_dec = prop("Prod_Active_Dec")
        prod_hover_dec = prop("Prod_Hover_Dec")
        Category_Html = prop("Category_Html")
    prop.Close
    Set prop = Nothing
End Function
```

Fel:
Operation is not allowed when the object is closed!

Rad:
Set prop = Conn.Execute(pSQL)

Hav överseende, första ActiveX DLL:en jag gör :e

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

## #2 — Eclipse, 2002-01-29T10:18Z

Fel tråd.

\[Redigerat av Eclipse den 29 jan 2002\]

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

## #3 — LarsG, 2002-01-29T10:35Z

Då du har 

```
Dim Conn
```

i Form_Load så blir det en lokal variabel som bara är definierad inom den rutinen.

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

## #4 — aleborg, 2002-01-29T10:38Z

Det hjälpte inte mycket att ta bort det, får samma fel!

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

## #5 — LarsG, 2002-01-29T10:41Z

Anropar du form_load någonstans?

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

## #6 — aleborg, 2002-01-29T10:48Z

Som sagt så är jag ny på det här, var ska jag anropa den? Har ju satt "Public Conn As New Connection" i toppen, förmodar att man måste "sätta igång" Form_Load på nått sätt också, men hur?

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

## #7 — aleborg, 2002-01-29T11:14Z

Gjorde om lite:

```
Public Conn As New Connection

Private Sub Form_Load()
    ' Open database connection
    Set Conn = CreateObject("ADODB.Connection")
    Connecta = "Provider=Microsoft.Jet.OLEDB.4.0;DataSource=f:\hemsidor\egna\webshop\webshop.mdb"
    Conn.Open (Connecta)
End Sub

Public Function Produkt_Prop()
Call Form_Load
   pSQL = "Select * From Property Where PropertyID=1"
   Set prop = Conn.Execute(pSQL)
        prod_bgcolor = prop("Prod_BgColor")
        prod_text = prop("Prod_Text")
        prod_link = prop("Prod_Link")
        prod_visited = prop("Prod_Visited")
        prod_active = prop("Prod_Active")
        prod_hover = prop("Prod_Hover")
        prod_link_dec = prop("Prod_Link_Dec")
        prod_visited_dec = prop("Prod_Visited_Dec")
        prod_active_dec = prop("Prod_Active_Dec")
        prod_hover_dec = prop("Prod_Hover_Dec")
        Category_Html = prop("Category_Html")
    prop.Close
    Set prop = Nothing
End Function
```

Så är iaf "Private Sub Form_Load" riktig, men jag får forfarande samma fel!

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

## #8 — aleborg, 2002-01-29T12:55Z

YES! Löste det!

\[Redigerat av aleborg den 29 jan 2002\]

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

## #9 — icaaq, 2002-01-29T13:54Z

Hur ?? :q

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

## #10 — aleborg, 2002-01-29T15:10Z

```
Public Conn As New Connection

Private Sub Form_Load()
    ' Open database connection
    Set Conn = CreateObject("ADODB.Connection")
    Connecta = "Provider=Microsoft.Jet.OLEDB.4.0;DataSource=f:\hemsidor\egna\webshop\www\webshop.mdb"
    Conn.Open (Connecta)
End Sub

Private Sub Form_Close()
    ' Close database connection
    Conn.Close
    Set Conn = Nothing
End Sub

Public Function Produkt_Prop(visa)
    pSQL = "Select * From Property Where PropertyID=1"
    Set prop = Conn.Execute(pSQL)
            Produkt_Prop = prop("" & visa & "")
    prop.Close
    Set prop = Nothing
End Function

Private Sub Class_Initialize()
Call Form_Load
End Sub

Private Sub Class_Destroy()
Call Form_Close
End Sub
```

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

## #11 — aleborg, 2002-01-29T15:55Z

Någon som vet hur man smidigt skulle kunna göra om den här koden och kalla den från en komponent?

```
<table width="140" border="0" cellspacing="0" cellpadding="2">
<%
SQL="Select * From Category Where CategoryBelongs Is Null And CategoryActive='yes' Order By CategoryName"
Set menu = Conn.Execute(SQL)
Do Until menu.EOF
%>
  <tr> 
    <td class="menybold"><%
	If CInt(Request.QueryString("menu"))=menu("CategoryID") Then
		Response.Write"<a href='meny.asp' class='menybold'><img src='webshop_images/folder_open_10x17.gif' width='17' height='10' border='0'>"& Enc(menu("CategoryName")) &"</a>"
	Else
		Response.Write"<a href='meny.asp?menu="& menu("CategoryID") &"' class='menybold'><img src='webshop_images/folder_10x17.gif' width='17' height='10' border='0'>"& Enc(menu("CategoryName")) &"</a>"
	End If
	%>	
	</td>
  </tr>
<%
	If CInt(Request.QueryString("menu"))=menu("CategoryID") Then
	sSQL="Select * From Category Where CategoryBelongs="& menu("CategoryID") &" And CategoryActive='yes' Order By CategoryName"
	Set submenu = Conn.Execute(sSQL)
	Do Until submenu.EOF
%>
  <tr> 
    <td class="meny"><%
		Response.Write"<a href='produkter.asp?category="& submenu("CategoryID") &"' target='Produkter' class='meny'><img src='webshop_images/item_small.gif' width='17' height='10' border='0'>&nbsp;&nbsp;"& Enc(submenu("CategoryName")) &"</a>"
	%></td>
  </tr>
<%
submenu.MoveNext
Loop
submenu.close
Set submenu = Nothing
End If
menu.MoveNext
Loop
menu.close
Set menu = Nothing
%>
</table>
```

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

## #12 — aleborg, 2002-01-29T16:44Z

Never mind, löste det :e

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

## #13 — Morph, 2002-01-29T17:11Z

Vän av ordning undrar ju naturlitvis varför i hela friden du anropar form_load och form_unload från Class_initialize och Class_destroy. Skriv koden direkt i initilize och destroy metoderna som körs automatiskt när skapar respektive förstör objektet. Nu är det ju onödig spaghettikod.

Form-metoderna används när du har ett formulär som GUI.

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

## #14 — aleborg, 2002-01-29T17:39Z

Vet inte :e
Ny som sagt på det här, har fixat det...

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/14077-public-function
