Я пытаюсь создать соединение без dsnless с представлением SSMS. Мне удалось подключиться к нескольким таблицам, но я не был уверен, как получить конкретное представление. Это моя функция для подключения к базе данных. Я только вызываю это и прохожу через необходимые переменные.
Function AttachDSNLessTable(stLocalTableName As String, stRemoteTableName As String, stServer As String, stDatabase As String, Optional stUsername As String, Optional stPassword As String)
On Error GoTo AttachDSNLessTable_Err
Dim td As TableDef
Dim stConnect As String
For Each td In CurrentDb.TableDefs
If td.Name = stLocalTableName Then
CurrentDb.TableDefs.Delete stLocalTableName
End If
Next
If Len(stUsername) = 0 Then
'//Use trusted authentication if stUsername is not supplied.
stConnect = "ODBC;DRIVER=SQL Server;SERVER=" & stServer & ";DATABASE=" & stDatabase & ";Trusted_Connection=Yes"
Else
'//WARNING: This will save the username and the password with the linked table information.
stConnect = "ODBC;DRIVER=SQL Server;SERVER=" & stServer & ";DATABASE=" & stDatabase & ";UID=" & stUsername & ";PWD=" & stPassword
End If
Set td = CurrentDb.CreateTableDef(stLocalTableName, dbAttachSavePWD, stRemoteTableName, stConnect)
CurrentDb.TableDefs.Append td
AttachDSNLessTable = True
MsgBox "New table created."
Exit Function
AttachDSNLessTable_Err:
AttachDSNLessTable = False
MsgBox "AttachDSNLessTable encountered an unexpected error: " & Err.Description
End Function
Я вызываю этот метод с помощью кнопки.
Private Sub Command2_Click()
Dim td As TableDef
Dim stConnect As String
Call AttachDSNLessTable("Order_Tracking_Tool", "Order_Tracking_Tool", "TestingServer", "TestDB", "TESTuser", "TESTpswd")
End Sub