![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
TDBLookupComboBox [D7, MS Access]
neat © (2004-11-15 11:47:00)Здравствуйте!
Есть поле базы c повторяющимися значениями. Как сформировать список в TDBLookupComboBox, чтобы повторяющихся значений не было?
Соловьев (2004-11-15 16:32:00) [1]
> Чтобы избавиться от лишней таблицы в БД
Зато будут лишние проблемы...:)
И почему лишнаяя? Справочники никогда не были той сушностью, которая сжирала дисковое пространство, имхо, на этом - бизнес логике в какой-то мере, экономить не нужно.
msguns (2004-11-15 16:18:00) [2]>Соловьев © (15.11.04 15:37) [9]
>А зачем лишнее звено?
Чтобы избавиться от лишней таблицы в БД
Соловьев (2004-11-15 15:37:00) [3]
> Список в комбобокс (не дб-аваре) подсовывается из запроса
> к таблице картотеки
> SELECT DISTINCT MEAGURE FROM SKL_GOODS
А зачем лишнее звено?
msguns (2004-11-15 15:27:00) [4]>Соловьев © (15.11.04 15:20) [7]
Ты меня не понял ;))
Список в комбобокс (не дб-аваре) подсовывается из запроса к таблице картотеки
SELECT DISTINCT MEAGURE FROM SKL_GOODS
Первой (последней) строкой забивается <Добавить новую>.
Ессно, в самой таблице картотеки ед.изм-я "валяются" в их натуральном, симв.виде.
Для сущностей подобных ед.изм-я, такую схему можно использовать в БД достаточной сложности. Ессно, и сетевых тож.
Соловьев (2004-11-15 15:20:00) [5]
> Картотека товара на складе. Поле "Единица измерения". Разнообразием
> значений не балует, поэтому можно обойтись вообще без справочника,
> но при вводе удобно все существующие разные значения ед.измерения
> "подсовывать" в комбобоксе.
Если это БД для домохозяйки, то вполне пройдет, но имхо, любая БД должна стремится стать многопользовательской, а от сюда следует, что если добавится какое-то значение , то прийдется компилить новую пргу, разсылать всем клиентам и так далее. А проще намного было бы в справочник добавить новое значение и все пользователи мигом бы увидели. И им удобно и программеру головняка меньше.
msguns (2004-11-15 14:32:00) [6]>Соловьев © (15.11.04 13:10) [5]
>Сам себе противоречишь, тебе зачем TDBLookupComboBox?
В подтверждение пример:
Картотека товара на складе. Поле "Единица измерения". Разнообразием значений не балует, поэтому можно обойтись вообще без справочника, но при вводе удобно все существующие разные значения ед.измерения "подсовывать" в комбобоксе.
Соловьев (2004-11-15 13:10:00) [7]
> Но эти данные справочником не являются, могут добавляться,
> удалятся и вообще весьма второстепенные, поэтому, наверное,
> лучше сделать DISTINCT
Сам себе противоречишь, тебе зачем TDBLookupComboBox?
neat (2004-11-15 12:59:00) [8]DISTINCT - это сила, мужики! Спасибо, получил, что хотел. Справочник это выход. Но эти данные справочником не являются, могут добавляться, удалятся и вообще весьма второстепенные, поэтому, наверное, лучше сделать DISTINCT.
Соловьев (2004-11-15 12:28:00) [9]
> А как же "не порождайте сущности, где их нет"?
Никогда про это не слышал. Судя по вопросу проблема в том что справочные данные вводятся в ручную каждый раз. А это проблема.
> Что же, все поля в любой таблице должны быть уникальными?
Нет конечно. А откуда это следует?
ЮЮ (2004-11-15 11:54:00) [10]SELECT DISTINCT
>Завести справочник и выучить построение БД
А как же "не порождайте сущности, где их нет"? Что же, все поля в любой таблице должны быть уникальными?
Соловьев (2004-11-15 11:50:00) [11]
> Есть поле базы c повторяющимися значениями. Как сформировать
> список в TDBLookupComboBox, чтобы повторяющихся значений
> не было?
Завести справочник и выучить построение БД.