---
title: "Fel: Object variable or With block variable not set"
type: "forum-thread"
url: "https://www.webforum.nu/amne/dotnet/59842-fel-object-variable-or-with-block-variable-not-set"
topic: ".NET"
topic_url: "https://www.webforum.nu/amne/dotnet"
author: "Vide"
published: "2002-11-21T11:11:55.000Z"
updated: "2002-11-21T11:22:24.000Z"
replies: 2
views: 206
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/dotnet/59842-fel-object-variable-or-with-block-variable-not-set"
---

# Fel: Object variable or With block variable not set

## #1 — Vide, 2002-11-21T11:11Z

Tjenare,

Efter att ha slitit av nästan allt mitt hår vänder jag mig nu till wF för hjälp...

Jag har en ActiveX-komponent med några klasser...

Relaterade funktioner funktioner som anropas när jag får felmeddelande är dessa:

DatabaseClass:

```
Private strDB As String
Private objConnection As Connection

Private Sub Class_Initialize()
  SetDB = "xxx"
  openDatabase = 1
End Sub

Public Property Get GetDB() As String
  GetDB = strDB
End Property

Public Property Let SetDB(strDBString As String)
  strDB = strDBString
End Property

Public Function openDatabase() As Integer
  Set objConnection = New ADODB.Connection
  objConnection.Open strDB
  openDatabase = 1
End Function

Public Function getDatabase() As Connection
  getDatabase = objConnection
End Function

Public Function getRecordset(objCon As ADODB.Connection, strSQL As String) As ADODB.Recordset
  Set getRecordset = objCon.Execute(strSQL)
End Function
```

UserClass:

```
Private intUserId As Integer
Private rsUser As Recordset
Private rsAgUser As Recordset
Private clsDB As DatabaseClass

Private Sub Class_Initialize()
  Set clsDB = New DatabaseClass
End Sub

Public Property Get GetUserId() As Integer
  GetUserId = intUserId
End Property

Public Property Let SetUserId(ByVal intNewUserId As Integer)
  intUserId = intNewUserId
End Property

Public Function InitUser() As Integer
  If Len(intUserId) > 0 Then
    Dim strSQL As String
  
    strSQL = "select * from tblUsers where UserId = " & intUserId
    Set rsUser = clsDB.getRecordset(clsDB.getDatabase(), strSQL)
    
    strSQL = "select count( message ) as agCount from tblMessages where UserId = " & intUserId
    Set rsAgUser = clsDB.getRecordset(clsDB.getDatabase(), strSQL)
    InitUser = 1
  Else
    InitUser = 0
  End If
End Function
```

Och jag får alltså felmeddelandet:
Object variable or With block variable not set

När jag kör denna koden (i ASP):
set clsUser = createobject( "SweQuake.UserClass" )
clsUser.SetUserId = 3
**clsUser.InitUser** \<-- Felmeddelande

InitUser ropar på getRecordset och getDatabase ifrån DatabaseClass

Så, har någon lust att hjälpa mig med felsökningen innan jag sliter av resten av håret...

Mvh, Vide

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

## #2 — @nders, 2002-11-21T11:13Z

En liten gissning:

```
Public Function getDatabase() As Connection
  [b]Set [/b]getDatabase = objConnection
End Function
```

Mvh,

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

## #3 — Vide, 2002-11-21T11:22Z

En jäkligt bra gissning... :D

Tack @!!

Nu är det bara att gå till frizzan och göra det bästa av vad som är kvar av håret... :e

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

---

Tråden på webben: https://www.webforum.nu/amne/dotnet/59842-fel-object-variable-or-with-block-variable-not-set
