cn.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0; Data Source=C:\TMP\Project.mdb; Jet OLEDB:Database;" cn.Open ConnectionString 'rs.Open "SELECT * FROM Itog WHERE id1='" & cl & "' AND id1 IS NOT NULL ORDER BY 1", cn, adOpenDynamic, adLockBatchOptimistic rs.Open "SELECT * FROM Itog WHERE id1 like '" & cntrl & "' AND id1 IS NOT NULL ORDER BY 1", cn, adOpenDynamic, adLockBatchOptimistic
ActiveSheet.Range("B8").CopyFromRecordset rs
rs.Close cn.Close End Sub
[/vba]
Строка работает [vba]
Код
rs.Open "SELECT * FROM Itog WHERE id1='" & cl & "' AND id1 IS NOT NULL ORDER BY 1", cn, adOpenDynamic, adLockBatchOptimistic
[/vba]
Эта строка не работает [vba]
Код
rs.Open "SELECT * FROM Itog WHERE id1 like '" & cntrl & "' AND id1 IS NOT NULL ORDER BY 1", cn, adOpenDynamic, adLockBatchOptimistic
[/vba]
Как все же правильно передать значение переменной в запрос?
Приветствую уважаемых форумчан!
Пытаюсь передать значение переменной в WHERE в запросе [vba]
Код
Private Sub CommandButton1_Click()
Dim cn As New ADODB.Connection Dim rs As New ADODB.Recordset Dim cntrl As String Dim cl As String
cn.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0; Data Source=C:\TMP\Project.mdb; Jet OLEDB:Database;" cn.Open ConnectionString 'rs.Open "SELECT * FROM Itog WHERE id1='" & cl & "' AND id1 IS NOT NULL ORDER BY 1", cn, adOpenDynamic, adLockBatchOptimistic rs.Open "SELECT * FROM Itog WHERE id1 like '" & cntrl & "' AND id1 IS NOT NULL ORDER BY 1", cn, adOpenDynamic, adLockBatchOptimistic
ActiveSheet.Range("B8").CopyFromRecordset rs
rs.Close cn.Close End Sub
[/vba]
Строка работает [vba]
Код
rs.Open "SELECT * FROM Itog WHERE id1='" & cl & "' AND id1 IS NOT NULL ORDER BY 1", cn, adOpenDynamic, adLockBatchOptimistic
[/vba]
Эта строка не работает [vba]
Код
rs.Open "SELECT * FROM Itog WHERE id1 like '" & cntrl & "' AND id1 IS NOT NULL ORDER BY 1", cn, adOpenDynamic, adLockBatchOptimistic
[/vba]
Как все же правильно передать значение переменной в запрос?alexban65
Сообщение отредактировал alexban65 - Понедельник, 10.09.2018, 01:01
Передать значение UserForm.ActiveControl.Name в условие WHERE... То есть должно вернуться что то вроде Combox2.Text - и значение Combox2.Text положить в WHERE Но чувствую что эта конструкция нежизнеспособна...) Не хватает в этом моменте знания и понимания...((
krosav4ig,
Передать значение UserForm.ActiveControl.Name в условие WHERE... То есть должно вернуться что то вроде Combox2.Text - и значение Combox2.Text положить в WHERE Но чувствую что эта конструкция нежизнеспособна...) Не хватает в этом моменте знания и понимания...((alexban65
Сообщение отредактировал alexban65 - Понедельник, 10.09.2018, 01:50
alexban65, Во-первых ActiveControl в момент нажатия на CommandButton1 будет CommandButton1, поэтому ни какого значения Combox2.Text вы не получите а рабочий синтаксис будет примерно такой [vba]
alexban65, Во-первых ActiveControl в момент нажатия на CommandButton1 будет CommandButton1, поэтому ни какого значения Combox2.Text вы не получите а рабочий синтаксис будет примерно такой [vba]