MS Access ComboBox.Column - использовать имя вместо индекса? - PullRequest
1 голос
/ 25 августа 2010

У меня есть элементы управления ComboBox с несколькими столбцами в качестве источника строк в форме Access 2007. В настоящее время я получаю выбранные значения из каждого элемента ComboBox таким образом ...

value = ComboBoxName.Column(i) 'where i is the index.

Я хотел бы использовать фактические имена столбцов, как в Recordset's ...

value = ComboBoxName.Recordset.Fields("columnname")

(обратите внимание, что это не работает должным образом на наборе записей ComboBox'ов: оно работает только ПОСЛЕ первого изменения ComboBox)

мои вопросы:

  • Могу ли я сделать что-нибудь, чтобы "заставить эту работу" работать с набором записей ComboBox?:

value = ComboBoxName.Recordset.Fields("columnname")

  • существует ли метод, который напрямую получает значение выбранной записи, используя имя?

  • есть ли в ComboBox или его Recordset метод, который я могу использовать для получения индекса столбца, указав имя столбца?

Я бы хотел избежать написания функции, и мне неудобно указывать индексы столбцов, которые могут измениться в будущем.

Ответы [ 2 ]

1 голос
/ 25 августа 2010

Нет простого способа сделать это.Вы можете создать набор записей или назначить значения переменной для каждого имени столбца (FirstCol = 0).

Кроме того, почему столбцы изменились?Если вы используете оператор выбора, комбо не удастся, если таблица будет изменена.

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

PFIELD = Me.Form.Combo6.Column (0, 0)

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