Forums Neueste Beiträge
 

funktion die eine adodb.Connection zurückgibt

02/03/2010 - 12:42 von Winfried Wille | Report spam
Hallo,

ich habe ein Modul namens Ado mit folgenden Funktionen:

Public Function NewDBConnection() As ADODB.Connection
Dim cn As ADODB.Connection
Set cn = New ADODB.Connection

cn.Provider = "Microsoft.Access.OLEDB.10.0"
cn.Properties("Data Provider").Value = "SQLOLEDB"
cn.Properties("Data Source").Value = "NETMECK\SQLEXPRESS"
cn.Properties("Integrated Security").Value = "SSPI"
cn.Properties("Initial Catalog").Value = "MaterialSQL"
cn.Open
NewDBConnection = cn
End Function

Public Function InitDBConnection(cn As ADODB.Connection) 'As
ADODB.Connection
Set cn = New ADODB.Connection

cn.Provider = "Microsoft.Access.OLEDB.10.0"
cn.Properties("Data Provider").Value = "SQLOLEDB"
cn.Properties("Data Source").Value = "NETMECK\SQLEXPRESS"
cn.Properties("Integrated Security").Value = "SSPI"
cn.Properties("Initial Catalog").Value = "MaterialSQL"
cn.Open
End Function

wenn ich aus dem Code einer Form NewDBConnection aufrufe:
Dim cn As ADODB.Connection
Set cn = NewDBConnection()
bekomme ich wenn ich auf end function im debugger steppe einen Fehler.
Irgendjemand eine Ahnung warum?
Wenn ich die Connection als parameter übergebe, klappts:
Dim cn As ADODB.Connection
Call InitDBConnection(cn)

Unklar ist mir aber warum ich call vor InitDBConnection schreiben muss. Bei
einer Test-Funktion im ado-Modul ist dies nicht nötig:
Dim i As Integer
i = test()


Public Function test() As Integer
Dim i As Integer
i = 5 * 5
test = i
End Function

Viele Grüsse
Winfried Wille
 

Lesen sie die antworten

#1 Lutz Uhlmann
02/03/2010 - 13:24 | Warnen spam
Probier es mal als Property zu implementieren ...
Hier mal ein àhnliches Beispiel:

Private m_currentdb As DAO.Database
Public Property Get CurrentDbC() As DAO.Database
If m_currentdb Is Nothing Then
Set m_currentdb = CurrentDb
End If
Set CurrentDbC = m_currentdb
End Property

Du mußt nicht Call verwenden. Aber ohne Call mußt du glauch ich die
Klamern weglassen.

Ähnliche fragen