![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как добавить элемент в DBLookupComboBox? [D7, XP]
deras © (2008-04-24 13:37:00)Заполняю DBLookupComboBox записями из таблицы. Как добавить первым в списке DBLookupComboBox элемент типа "Нет значения" с KeyValue=-1, а далее в списке все записи таблицы
Это надо для того, чтоб пользователь мог и не выбрать ничего из списка, а я мог бы сохранить в другую таблицу значение -1, как результат того, что ничего не было выбрано
deras (2008-04-24 17:12:00) [1]
> Ega23 © (24.04.08 17:01) [36]
:-) хорошо Вам
Ega23 (2008-04-24 17:01:00) [2]
> Никак не отобразится/не спозиционируется. В гриде будет
> пустое поле.
Я свой DBLookupCombo написал, у него позиционируется... :о)
Sergey13 (2008-04-24 16:57:00) [3]> [34] deras © (24.04.08 16:53)
Никак не отобразится/не спозиционируется. В гриде будет пустое поле.
deras (2008-04-24 16:53:00) [4]
> Sergey13 © (24.04.08 16:43) [30]
тогда как его (значение NULL) отобразить в DBLookupComboBox1, ведь, как сказал
> Ega23 © (24.04.08 14:42) [10]
это правда?
Sergey13 (2008-04-24 16:53:00) [5]> [31] deras © (24.04.08 16:50)
Чего тебе надобно, старче. (с) Пушкин
8-)
Чего "мне этого не надо да и не надо будет в будущем"? Ссылочную целостность? Ню-ню.
Ega23 (2008-04-24 16:51:00) [6]тогда null
deras (2008-04-24 16:50:00) [7]
> Sergey13 © (24.04.08 16:41) [29]
это я понимаю. И так правильно было бы делать. Но в данном случае мне этого не надо да и не надо будет в будущем
Sergey13 (2008-04-24 16:43:00) [8]> [27] deras © (24.04.08 16:32)
> если -1, то значение не было выбрано?
Если значение не выбрано - это NULL, а -1 это конкретное значение, которое ДОЛЖНОсуществовать в справочнике.
Sergey13 (2008-04-24 16:41:00) [9]> [28] deras © (24.04.08 16:37)
> Например, хотя бы для отображения в том же гриде
Грид тут лесом идет. У главной таблицы должен быть внешний ключ на справочник. Наличие этой связи предполагает, что в поле таблице содержатся ссылки только на то, что есть в справочнике. Это называется ссылочной целостностью.
deras (2008-04-24 16:37:00) [10]
> Sergey13 © (24.04.08 16:22) [26]
ага.. наверное, Вы имелти виду, что все равно в справочнике должно быть соотношение -1 -> 'Нет значения'
Например, хотя бы для отображения в том же гриде... Так я понял?
deras (2008-04-24 16:32:00) [11]
> Sergey13 © (24.04.08 16:22) [26]
а почему я не могу проверят в главной таблице - если -1, то значение не было выбрано? Разве так нельзя?
Sergey13 (2008-04-24 16:22:00) [12]> [25] deras © (24.04.08 16:12)
Если ты все таки решил писать в главную таблицу значение -1, то тебе придется добавить дополнительную запись в справочник. Иначе не получится записать, если конечно связь между таблицами в виде внешнего ключа существует (а она должна быть!!!). Тогда запрос с union отпадет сам собой.
deras (2008-04-24 16:12:00) [13]все равно спасибо! главное ведь - идея сама
Ega23 (2008-04-24 16:02:00) [14]блин... вот в Access не знаю... На TSQL и PgSQL просто "из ниоткуда" Select можно сделать...
В FB - from RDB$... (чего-то там, уже не помню)
deras (2008-04-24 15:58:00) [15]так пробовал. Вы так указали первый раз. Но выдает ошибку
"В качестве входных данных запрос должен иметь хотя бы одну таблицу или запрос"
Sergey13 (2008-04-24 15:58:00) [16]> [17] deras © (24.04.08 15:42)
> господа эксперты - "учи матчать" :-)
С первой частью не согласен - я далеко не эксперт. Вторую часть поддерживаю полностью. 8-)
> [17] deras © (24.04.08 15:42)
> Честно говоря, сам не знаю
Тогда стоит не поправлять более знающего человека, а переспросить для уточнения. (впрочем это уже лирика)
> но когда union all, то почему-то значений 'Нет значения'
> ровно столько, сколько записей в таблице (наборе данныз)
1. когда где "union all"?
2. а сколько ты ожидал и колько там (и вообще где?) есть?
3. таблица<>набору данных
Union, если почитать документацию, возвращает сумму записей двух таблиц, исключая повторяющиеся записи. Union ALL ничего не исключает, кроме того он не делает и неявную сортировку/группировку, необходимую для исключения дубликатов. Поэтому в твоем случае необходим как раз таки union all.
Ega23 (2008-04-24 15:55:00) [17]
Select -1 as id, 'Нет значения' as name
union all
SELECT id, name FROM spr_nakladnaya
А так? :)
deras (2008-04-24 15:53:00) [18]Select -1 as id, 'Нет значения' as name FROM spr_nakladnaya
union all
SELECT id, name FROM spr_nakladnaya
DB MSAccess
Ega23 (2008-04-24 15:51:00) [19]И СУБД назови. Потому как у меня в TSQL - все прекрасно.
Ega23 (2008-04-24 15:50:00) [20]
> Честно говоря, сам не знаю, но когда union all, то почему-
> то значений 'Нет значения' ровно столько, сколько записей
> в таблице (наборе данныз)
Запрос покажи