2014-02-13 4 views
1

Я очень новичок в VBA. Мне удалось разобраться с Powershell и много лет работать в SQL. Но это самый неприятный язык!VBA docmd.opentable + имя переменной таблицы

У меня есть форма, в которой пользователь указывает источник из поля со списком.

Я тогда макрос, который должен Lookup таблицу и запрос, основанный на том, что использование ставит.

До сих пор у меня есть имя таблицы, я хочу в переменной. Я хочу, чтобы передать это docmd.opentable

Но не понял его :(

Dim str_DeltaTable As String 

    str_DeltaTable = DLookup("Table_Delta", "QC_Report_List", "Source = '" & Forms!Main_Form!Source_ComboBox.Text & "'") 

    DoCmd.OpenTable "str_DeltaTable" 'Some help here would be ace 

Благодаря от NEWB

Rich

+0

Не беспокойтесь, я взломал его. Im an idiot – Kirky1

+0

Вам разрешено отвечать на ваши вопросы, AFAIK, так почему бы не опубликовать это как ответ? – Fionnuala

ответ

1

Просто используйте DoCmd.OpenTable str_DeltaTable без кавычек, чтобы передать значение переменной, а не ее буквальное значение.

Кроме того, ваше использование .Text, вероятно, вызовет проблемы beca использование текстовых полей в Access имеет только свойство .Text, в то время как у них есть фокус (вопреки многим другим системам). Вместо этого используйте свойство .Value, которое всегда доступно. Это свойство по умолчанию, поэтому вы можете использовать Forms!Main_Form!Source_ComboBox.Value или просто Forms!Main_Form!Source_ComboBox.

Смежные вопросы