Я недавно начал работать с другим программистом на большом приложении VBA/SQL Server. В каждой функции есть одно и то же соединение ADODB, и мы пытаемся заменить их одной функцией, которую можно вызывать каждый раз, чтобы сэкономить место. Вот функция:Как вернуть ADODB.Connection из функции в VBA?
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
Что я делаю не так?
Это сработало! Такое простое решение. Должен был пробовать это, но я все еще довольно новичок в этом. – SaintWacko