![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#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. |
![]() |
![]() |
![]() |
#2 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]() Цитата:
I'm learning to live...
|
|
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 11.06.2010
Сообщений: 525
|
![]()
DBLookupComboBoxEh - подошел бы, если бы я делал запрос с distinct, по «ученое звание», «ученая степень», «должность»,
А так я рискую получить в списке по несклько десятков одинаковых названий |
![]() |
![]() |
![]() |
#4 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]()
А что мешает сделать отдельный набор? Ты хочешь запросом с объединениями таблиц отделаться? Тогда можешь попробовать такой вариант:
Код:
I'm learning to live...
|
![]() |
![]() |
![]() |
#5 |
Форумчанин
Регистрация: 11.06.2010
Сообщений: 525
|
![]()
Не я просто хочу шуструю работу приложения.
У меня уже есть два заполнения DBCombox с разных таблиц (при начале редактирования записи) типа: Код:
Последний раз редактировалось KBO; 13.12.2015 в 17:54. |
![]() |
![]() |
![]() |
#6 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]()
Шустрость работы врядли будет зависеть от компонентов. Скорее от того, как проиндексирована база, и как будут использоваться запросы.
I'm learning to live...
|
![]() |
![]() |
![]() |
#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 используется как справочник, т.е. только чтоб в поле вставить нужное строковое значение |
![]() |
![]() |
![]() |
#8 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]()
Извини, не понял...
У тебя DBLookupComBox и так перемешает, чего еще нужно перемещать?
I'm learning to live...
|
![]() |
![]() |
![]() |
#9 |
Форумчанин
Регистрация: 11.06.2010
Сообщений: 525
|
![]()
Да нет, это я не совсем правильно выразился.
В списке DbLookUpComboBox, эти две фамилии выделены синим цветом (т.к. они по его мнению одинаковые). Когда я перемещаюсь по ним мышкой, в DBGrid (подключенная к таблице с фамилиями) тоже премещается курсор - все как нужно. Но только я нажимаю мышкой на вторую строку (в списке DbLookUpComboBox) (фамилия с id=2 "Федотов" "Фирма №4"), у меня выскакивает запись с "Фирма №3". и Код:
Можно конечно, каким-нибудь образом получать индекс выделенной строки в списке DbLookUpComboBox, и затем позиционироваться на номере этой строки в DataSet. Но я пока не знаю как получить номер выделенной строки DbLookUpComboBoxEh? Последний раз редактировалось KBO; 13.12.2015 в 20:00. |
![]() |
![]() |
![]() |
#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 |