Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2004.03.03;
Скачать: [xml.tar.bz2];

Вниз

Диплом   Найти похожие ветки 

 
Shnidke   (2004-02-06 14:29) [0]

Здравствуйте.
Есть диплом, Тема: БД "Кадры"
Есть 2 таблицы: 1) Подразделение, 2)Сотрудники. Связаны эти таблицы (один ко многим), т.е. В 1-м подразделении может работать много сотрудников.
Вопрос:
Есть DBLookupComboBox
Для перевода сотруддника в др. подразделение достаточно поменять значение поле связи, но как сделать, чтобы вместо наименования подразделения в поле звязи заносилось значение ключевого
поля 1-й таблицы.
Буду благодарен за ценные советы.


 
HSolo   (2004-02-06 14:37) [1]

Почитайте в help-е про lookup field


 
Johnmen   (2004-02-06 14:38) [2]

Если таблицы спроектированы верно и лукапный комбобокс используется корректно и по назначению, то ничего специального делать не надо, всё автоматом...:)


 
MV   (2004-02-06 14:41) [3]

Пример:

Table Division: Подразделения

Division_Id
Division_Name

Table Person: Сотрудники

Person_Id
Person_Name
Division_Id - поле ссылки

К DBLookupComboBox привязываем два DataSource:
- DataSource (связан с редактируемой таблицей - Person)
- ListSource (связан со справочной таблицей - Division)

Тут тебе следует разобраться: чтобы все работало ОК, обрати внимание на три свойства:

DataField - это поле, на которое вешается TDBLookupComboBox (Person_id) (Берется из Person)
KeyField - это поле со значением, которое будет занесено из таблицы Division в Person (Берется из Division) (Person_Id) (Берется из Division)
ListField - это поле, значение которого будет показано в списке (Берется из Division) (Division_Name) (Берется из Division)

Это все!.
Да, не забудь в начале открыть ОБА набора данных.


 
Johnmen   (2004-02-06 14:48) [4]

>MV

Повнимательней бы...:) Перепутал DataSource и ListSource :(


 
MV   (2004-02-06 14:53) [5]

2 Johnmen © (06.02.04 14:48) [4]

Отнюдь!


 
Johnmen   (2004-02-06 15:02) [6]

>MV (06.02.04 14:53) [5]

Точно. Я сглючил...:)


 
Shnidke   (2004-02-06 15:21) [7]

DataField - это поле, на которое вешается TDBLookupComboBox (Person_id) (Берется из Person)
KeyField - это поле со значением, которое будет занесено из таблицы Division в Person (Берется из Division) (Person_Id) (Берется из Division)
ListField - это поле, значение которого будет показано в списке (Берется из Division) (Division_Name) (Берется из Division)
Вроде понятно. Как попробую, сразу сообщу.
Просто я сейчас не дома. Спасибо.


 
Shnidke   (2004-02-06 15:26) [8]

Еще хотел бы разобраться как работать с DBTreeView, чтобы он отражал подразделения в виде дерева.
Подскажите, а то в help"е не очень понятно.
Спасибо.


 
MV   (2004-02-06 15:32) [9]

Хороших DBTreeView - не бывает. Все разработки - на уровне примеров, настроенных под свои нужды. Всегда под себя писать приходиться. Посмори в сторону TVirtualTreeView. Там хороший вариант есть.

IMHHHHO


 
HSolo   (2004-02-06 15:33) [10]

http://delphi.vitpc.com/helloworld/dbtreeview.htm



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2004.03.03;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.008 c
6-6166
$hade
2003-12-26 13:44
2004.03.03
Авторизация на прокси сервере...


14-6254
Soft
2004-02-08 00:18
2004.03.03
Читать только самым умным на этом форуме.


14-6218
Developerr
2004-02-11 13:11
2004.03.03
Алгоритм расчета в программе Бодун


1-6097
Lena19
2004-02-20 23:59
2004.03.03
создание копии объекта


6-6178
RaPToR_1
2003-12-26 21:46
2004.03.03
ping





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский