3
私は最近、大規模なAccess VBA/SQL Serverアプリケーションで別のプログラマと作業を開始しました。各関数には同じADODB接続があり、スペースを節約するために毎回呼び出すことができる単一の関数でそれらを置換しようとしています。ここでは関数は次のとおりです。VBAの関数からADODB.Connectionを返すにはどうすればよいですか?
Public Function ConnectionString() As ADODB.Connection
Dim CN As ADODB.Connection
Set CN = New ADODB.Connection
With CN
.Provider = "Microsoft.Access.OLEDB.10.0"
.Properties("Data Provider").Value = "SQLOLEDB"
.Properties("Data Source").Value = DLookup("Source", "tbl_Connection")
.Properties("Initial Catalog").Value = DLookup("Catalog", "tbl_Connection")
.Properties("Integrated Security").Value = SSPI
.Open
End With
ConnectionString = CN
End Function
これはその接続を返すべきであるように思えるが、その代わりに、我々はエラーメッセージを取得:
User-Defined Function not found
ConnectionString = CN
を私は間違って何をしていますか?それは同じADODB接続とにかく常にだ場合は、変数に保存して、そこから「リサイクル」することができ、
Set ConnectionString = CN
プラス、そう:
これは機能しました。そのような簡単な解決策。それを試してみましたが、私はまだこれでかなり新しいです。 – SaintWacko