Как я могу использовать ComboBox, связанный с пустой записью в подробном разделе? - PullRequest
0 голосов
/ 18 февраля 2019

В форме я отображаю строки данных в подробном разделе.Около 5% строк могут иметь плавающее значение в одном столбце, которое мне нужно отобразить в виде комбинированного списка.Столбец, о котором идет речь, является результатом левого соединения, поэтому он может иметь число с плавающей запятой или может быть нулевым, если за ним нет записи.Я не хочу, чтобы 100000 строк добавлялись в таблицу только для того, чтобы показать ноль в комбинированном списке при внешней вероятности того, что пользователь действительно отобразит эту конкретную запись.Да, я могу добавить строки, а потом удалить их, но это кажется глупым.Насколько я могу судить, я не могу понять, как установить в выпадающем списке значение по умолчанию, равное нулю для каждой строки, и при этом его можно выбрать.В основном для каждой строки, покажите значение, если оно есть, в противном случае ноль, и позвольте пользователю выбрать новое значение, если они хотят.Сторона VBA проста.Я могу полностью создать строку, если выбрано ненулевое значение, и удалить строку, если пользователь изменит ее на 0. Идеально было бы связать комбинированный список с NZ (myField, 0) или чем-то подобным.Когда я попробовал это, выпадающий список нельзя было выбрать.

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

SQL, к которому привязана форма:

ВЫБЕРИТЕ dbo.PersonClasses.ClassID, dbo.ClassDates.ClassDate, dbo.PersonClassHours.ClassHours FROM dbo.PersonClasses INNER JOIN.dbo.People.PersonID = dbo.PersonClassHours.PersonID AND dbo.ClassDates.ClassID = dbo.PersonClassHours.ClassID AND dbo.ClassDates.ClassDate = dbo.PersonClassHours.ClassDate

Я хочу представить Classox какдля каждой записи в форме с допустимыми значениями, равными 0, .5,1,1.5,2,2.5.Чтобы было проще для пользователей, я хочу, чтобы 0 был предварительно выбран.Вот как это выглядит сейчас:

enter image description here

1 Ответ

0 голосов
/ 18 февраля 2019

Вы можете установить для свойства Format в выпадающем списке значение

@;\0

. Это значение будет отображать ноль, если значение поля равно Null.В противном случае фактическое значение.

Другие свойства, которые также необходимо установить, это от Row Source Type до Value List и Row Source до 0;0.5;1;1.5;2;2.5

Использование функции, такой как Nz() в вашем запросе для изменения значения поля фактически создает новое поле, которое доступно только для чтения.

В вашем случае вам нужно, чтобы поле было обновляемым, поэтому один из вариантов -поиграйте с Format или Conditional Formatting.

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