Вам необходимо, чтобы в Вашей программе на VB можно было легко создать(изменить) строку связи (ConnectionString) с БД (например SQL Server, Oracle, Jet и др.) или другим источником данных. Кроме этого желательно, чтобы для работы с базой данных, OLE DB провайдер использовался напрямую, а не через ODBC посредника.
Для этого прекрасно подойдет OLE DB Data Link (рис.1, рис. 2). Несколькими нажатиями мыши можно сгенерировать строку связи, которую затем можно использовать в ADO объектах для получения данных, выполнения запросов к базе и т.п.
Для использования OLE DB Data Link в программе на VB необходимо подлючить Microsoft OLE DB Service Component. Для этого нужно в VB открыть меню Project, далее References и выбрать Microsoft OLE DB Service Component из списка (рис. 3).
Вот пример простейшей программы использующей Data Link.
Private MyDL As MSDASC.DataLinks
Private Sub Form_Load()
Dim ConnStr As String
Set MyDL = New MSDASC.DataLinks
ConnStr = MyDL.PromptNew
Debug.Print ConnStr
End Sub
При запуске программы появиться окно Data Link Properties (см. рис 1.). Если полностью пройти процесс генерирования строки связи, то после нажатия клавиши OK сгенерированная строка будет записана в переменную ConnStr.
Просто не правда ли?
Но что будет, если Вы попробуете прервать процедуру генерации строки связи, нажав клавишу Cancel. Правильно, приложение выдаст сообщение об ошибке.
Следующий пример, кроме того, что обрабатывает нажатие клавиши Cancel еще и показывает как можно корректно внести и отредактировать данные созданного объекта ADODB.Connection.
Private Sub Form_Load()
Dim MyDL As MSDASC.DataLinks
Dim MyConn As ADODB.Connection
Set MyDL = New MSDASC.DataLinks
Set MyConn = MyDL.PromptNew
If MyConn Is Nothing Then
''If MyConn.ConnectionString = vbNullString Then
Set MyDL = Nothing
Set MyConn = Nothing
Exit Sub
'' End If
End If