У меня есть Excel 365 ProPlus, где у меня есть 1 рабочая книга с 5 отдельными подключениями ODBS. Когда я повторяю sh, все это требует от пользователя ввода одних и тех же данных для входа в систему 5 раз для каждого. Я настроил некоторый VB-код, чтобы конечный пользователь вводил свою регистрационную информацию 1 раз в форму. Затем он обновляет каждый лист данных, но я не могу передать данные формы входа в систему refre sh, потому что он просто просит их снова ввести свои данные для входа. Мне просто нужно руководство. С одной стороны, я мог установить код VB для создания подключения к данным каждый раз, когда пользователь открывает книгу. Таким образом, я могу контролировать все параметры в VBA, но, несомненно, есть способ использовать мои существующие соединения и повторно указать sh при передаче данных для входа из формы. Любые идеи?
Dim UserID As String, Pword As String, SystemAccess As String
Sub Refresh()
Dim Svr As New ADODB.Connection
Dim Rs As ADODB.Recordset
'Control events in screen
'ActiveSheet.Select
'Application.ScreenUpdating = False
'Application.EnableEvents = False
On Error Resume Next
If SystemAccess = "True" Then
Svr.Open "provider=IBMDA400;data source=137.168.234.245;User ID=" & UserID & "; Password=" & Pword
Sheets("EDV001P - PM").Select
Range("A2").Select
Selection.ListObject.QueryTable.Refresh BackgroundQuery:=False
Range("A2").Select
Rs.Open "Select * From EDV002P", Svr
Sheets("EDV002P - PO").Select
Range("A2").Select
ActiveCell.FormulaR1C1 = Rs.RecordCount
Rs.Open "Select * From EDV003P", Svr
Sheets("EDV003P - AP").Select
Range("A2").Select
ActiveCell.FormulaR1C1 = Rs.RecordCount
Rs.Open "Select * From EDV005P", Svr
Sheets("EDV005P - Ind Cost").Select
Range("A2").Select
ActiveCell.FormulaR1C1 = Rs.RecordCount
Else
MsgBox "Verify your credentials"
Call Access
End If
If Err Then
MsgBox Error
Exit Sub
End If
Rs.Close
Set Rs = Nothing
Svr.Close
Set Svr = Nothing
Application.ScreenUpdating = True
Application.EnableEvents = True
MsgBox ("Complete, Have a Semi Awesome Day")
End Sub```