|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
13.12.2015, 00:29 | #1 |
Форумчанин
Регистрация: 11.06.2010
Сообщений: 525
|
Вариант подбора нужных данных (проектирование БД)
Доброе время суток форумчане,
Есть таблица1 сотрудников, с полями «ФИО»…, «ученое звание», «ученая степень», «должность». При формировании значений у таблицы2, я ориентируюсь по «ФИО» таблицы1 и вставляю в нее информацию с помощью DBLookupComboBoxEh по ФИО, далее автоматом расставляются остальные значения. Таблицу1, можно также пополнять с помощью вставки в таблицу2 нового сотрудника. У меня в таблице2, на параметрах: «ученое звание», «ученая степень», «должность», стоят DBComboBox’ы (т.е. я хочу их списки наполнять из таблицы1). Вопросы: 1. Т.е. это будут DBComboBox’ы? Потому что, DBLookupComboBoxEh наверняка – не подойдут? 2. Каким методом наполнять DBComboBox’ы (если это все же они)?: - пробегаться по DataSet, выуживая уникальные данные - или всетаки отдельным запросом? (вынуть три поля сразу уникальных)? Как лучше сделать? Как будет быстрее работать? Заранее Спасибо. Последний раз редактировалось KBO; 13.12.2015 в 00:53. |
13.12.2015, 14:25 | #2 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
I'm learning to live...
|
|
13.12.2015, 16:20 | #3 |
Форумчанин
Регистрация: 11.06.2010
Сообщений: 525
|
DBLookupComboBoxEh - подошел бы, если бы я делал запрос с distinct, по «ученое звание», «ученая степень», «должность»,
А так я рискую получить в списке по несклько десятков одинаковых названий |
13.12.2015, 16:42 | #4 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
А что мешает сделать отдельный набор? Ты хочешь запросом с объединениями таблиц отделаться? Тогда можешь попробовать такой вариант:
Код:
I'm learning to live...
|
13.12.2015, 17:50 | #5 |
Форумчанин
Регистрация: 11.06.2010
Сообщений: 525
|
Не я просто хочу шуструю работу приложения.
У меня уже есть два заполнения DBCombox с разных таблиц (при начале редактирования записи) типа: Код:
Последний раз редактировалось KBO; 13.12.2015 в 17:54. |
13.12.2015, 18:14 | #6 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Шустрость работы врядли будет зависеть от компонентов. Скорее от того, как проиндексирована база, и как будут использоваться запросы.
I'm learning to live...
|
13.12.2015, 18:42 | #7 |
Форумчанин
Регистрация: 11.06.2010
Сообщений: 525
|
А не подскажешь ещеодну такую штуку с DBLookupComBox:
Есть эта же таблица1 с тремя полями Код:
В параметрах «ListField» и «KeyField» (DBLookupComBox), установлено поле «last_name». При перемещении по списку DBLookupComBox, в DBGrid таблица1 видно, что курсор перемещается по записям (1 и 2). Как сделать чтоб пользователь при выборе фамилии например с "id" = 1, курсор мог позиционироваться на выбранную запись, с id = 1, или с "id" = 2, курсор мог позиционироваться на выбранную запись, с id = 2. А не только на запись, с id = 1? У меня же, DBLookupComBox используется как справочник, т.е. только чтоб в поле вставить нужное строковое значение |
13.12.2015, 19:43 | #8 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Извини, не понял...
У тебя DBLookupComBox и так перемешает, чего еще нужно перемещать?
I'm learning to live...
|
13.12.2015, 19:44 | #9 |
Форумчанин
Регистрация: 11.06.2010
Сообщений: 525
|
Да нет, это я не совсем правильно выразился.
В списке DbLookUpComboBox, эти две фамилии выделены синим цветом (т.к. они по его мнению одинаковые). Когда я перемещаюсь по ним мышкой, в DBGrid (подключенная к таблице с фамилиями) тоже премещается курсор - все как нужно. Но только я нажимаю мышкой на вторую строку (в списке DbLookUpComboBox) (фамилия с id=2 "Федотов" "Фирма №4"), у меня выскакивает запись с "Фирма №3". и Код:
Можно конечно, каким-нибудь образом получать индекс выделенной строки в списке DbLookUpComboBox, и затем позиционироваться на номере этой строки в DataSet. Но я пока не знаю как получить номер выделенной строки DbLookUpComboBoxEh? Последний раз редактировалось KBO; 13.12.2015 в 20:00. |
13.12.2015, 20:22 | #10 |
Форумчанин
Регистрация: 11.06.2010
Сообщений: 525
|
Как подсказали,
Нужно указывать в Код:
А ListFields оставить как есть, иначе, значение поля firm лезет в список. Все пока замечательно работает Последний раз редактировалось KBO; 13.12.2015 в 20:30. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Проектирование базы данных в Postgres: выбор типа данных между TEXT и VARCHAR | Blondy | Общие вопросы по программированию, компьютерный форум | 6 | 06.03.2014 02:09 |
Проектирование базы данных | KastorTroy | Общие вопросы по программированию, компьютерный форум | 0 | 11.06.2013 15:15 |
ВЫБОР НУЖНЫХ ДАННЫХ | Slavik | Microsoft Office Excel | 4 | 13.04.2009 21:37 |
Проектирование базы данных | Xeon332 | Помощь студентам | 5 | 23.12.2008 19:40 |
Сетевой вариант базы данных. | A.Tulin | БД в Delphi | 7 | 18.06.2007 00:46 |