Как вызвать переменную из одного модуля из другого модуля в VB Excel - PullRequest
0 голосов
/ 14 мая 2018

Первый модуль 1:

Public Sub ConnectTERDATA()
Dim fso As Object, _
Fileout As Object, _
Sql As Object, _
objNet As Object, _
FS As Object

Set cn = New ADODB.Connection
Set cm = New ADODB.Command
Set Rec_set = New ADODB.Recordset
Set fso = CreateObject("Scripting.FileSystemObject")

Dim ip As String, _
db As String, _
Row As Integer, _
SharepointAddress As String, _
LocalAddress As String, _
UserID As String, _
Pass As String, _
CommandTimeout As Integer, _
ws As Worksheet, _
DS As String

Row = 1
UserID = InputBox(Prompt:="Enter your User ID")
Pass = InputBoxDK(Prompt:="Enter your Password")
cn.ConnectionTimeout = 0 'To wait till the query finishes without generating error
cn.CommandTimeout = 5000
cn.Open "Data Source=TERA; Database=TERA; Persist Security Info=True; User ID=" & UserID & "; Password=" & Pass & "; Session Mode=ANSI;"
'Check for errors...
If cn.State = adStateOpen Then 'If connection is success, continue

MsgBox "Connected to TERADATA"
    End If
End Sub

Второй модуль 2:

Public Sub DisconnectTERDATA()

    Call Module1.cn
    cn.Close


    MsgBox "Disconnected from TERADATA"
    End If
End Sub

Но когда я вызываю эту переменную "Cn" из module1, выдает ошибку ниже "Ожидаемая процедура не Varaibale" Может кто-нибудьпомогите мне здесь?

enter image description here

1 Ответ

0 голосов
/ 15 мая 2018

Объявите вашу переменную публично Пример:

Public Userid as String
Public pass as String

Тогда мы можем использовать его в других обычных модулях

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...