Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

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, чтобы повторяющихся значений
> не было?

Завести справочник и выучить построение БД.


Наверх

Титульная страница Поиск, карта сайта Написать письмо