Пользуюсь для обхода контролов на форме вот такой конструкцией
Код
Private st As String
SPrivate Sub CommandButton1_Click()
Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset
cn.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0; Data Source=" & Worksheets("Config").Cells(3, 2) & "Project.mdb; Jet OLEDB:Database;"
'Dim st As String'
'Static st As String'
If ActiveControl.Name = "ComboBox1" Then
st=ComboBox1 'Значение комбобокса в переменную'
MsgBox st & "1"
End If
If ActiveControl.Name = "ComboBox2" Then
msgbox st & "2" ' при переходе в ComboBox2 - переменная st очищается, Не передается (
cn.Open ConnectionString
'значение переменной st не передается в запрос'
rs.Open "SELECT * FROM Itog WHERE Status='" & st & "' AND Kod_zak='" & ComboBox2 & "' AND Kod_zak IS NOT NULL ORDER BY 1", cn, adOpenStatic, adLockReadOnly
End If
End Sub
Пытаюсь значение из ComboBox1 передать в переменную st - передается. При переходе в Combobox2 переменная st очищается - не передается значение. Видимо, что то неверно делаю... Подскажите, как передавать значения переменной между контролами. И можно ли таким образом...