2013-06-28 2 views
1

Я использую ниже код в доступе vba. этот код дает мне поле ввода для ввода значения, которое обновляет значение, введенное в таблицу доступа. возможно ли предоставить поле со списком ввода ввода. Я могу выбрать ввод данных из этого списка. PLS, дайте мне знать, если это возможно.display combobox в доступе код vba

Dim qry As String 

qry = "UPDATE Data_Table SET Data_Table.Workgroup = [Workgroup Name]WHERE (((Data_Table.Workgroup) Is Null));" 

DoCmd.RunSQL qry 

ответ

0

Входной ящик, который появляется, когда вы выполняете ваш код «создан» MS Access на лету, из-за значения [Workgroup Name] в запросе.

Невозможно заставить Access вызывать ComboBox непосредственно из запроса.
(как следует доступ знать, какие параметры нужно поместить в ComboBox?)

Но, конечно, вы можете создать ComboBox самостоятельно (где-то на форме) и вставить значение из этого ComboBox в запросе.

Например, вы можете поместить свой код от вопроса в функцию, которая получает имя рабочей группы, переданное в качестве параметра, например:

Public Function RunQuery(ByVal WorkgroupName As String) 

    Dim qry As String 

    qry = "UPDATE Data_Table SET Data_Table.Workgroup = '" & WorkgroupName & "' WHERE (((Data_Table.Workgroup) Is Null));" 

    DoCmd.RunSQL qry 

End Function 

Затем создается ComboBox в форме (и заполнить его с опциями) и передать значение ComboBox функции RunQuery:

Private Sub SomeComboBox_AfterUpdate() 

    If Nz(Me.SomeComboBox.Value) > "" Then 

     RunQuery Me.SomeComboBox.Value 

    End If 

End Sub 
+0

Не работает со мной. в событии послесочетания combobox i, наклеенном ниже кода, но он не работает. Private Sub Combo4_AfterUpdate() Если Nz (Me.Combo4.Value)> "" Тогда RunQuery Me.Combo4.Value End If «Exit Sub End Sub – Mukul

+0

@Mukul: Код в моем Ответ определенно работает, потому что я запускал его на своей машине, прежде чем я разместил его здесь. Можете ли вы опубликовать свой текущий код здесь? (просто отредактируйте свой вопрос) Можете ли вы указать «это не работает»? Вы получили сообщение об ошибке? Выполняется ли код, но данные не обновляются? –

+0

Привет, Кристиан благодарит за код, он работает нормально. но моя проблема все еще остается. На самом деле, я запускаю код трансфера. когда данные загружаются в таблицу, я хотел всплывать в форме с помощью combobox, из которой я выбрал значение, которое предполагается обновить в таблице. Теперь с помощью вашего кода код комбинированного кода работает нормально, но я хочу автоматически заполнить эту форму после загрузки данных в таблицу. Я попробовал DoCmd.OpenForm «Form_Form1», acNormal, но это не открывается form1 – Mukul