Topic: Связь таблиц

Помогите пожалуйста сформировать правильные связи с таблицами.
Есть таблица клиенты, обращения клиентов и объекты клиентов
Клиенты могут обращаться много раз и по разным объектам, в том числе много раз по одному и тому же объекту.
Уже и так и так пробовал...
Хотелось бы, чтобы на главной форме пользователь нашел клиента, кликнул по нему в таблице, а там уже  добавлял обращения и добавлял,  либо выбирал уже существующие объекты.

Re: Связь таблиц

Если за одно посещение может быть задействован только один объект клиента, тогда так
http://myvisualdatabase.com/forum/misc.php?action=pun_attachment&item=870&download=0

Получается, на главной форме, находите клиента, заходите на форму редактирования клиента, где вы можете добавить либо зайти в существующий объект клиента, на форме редактирования объекта клиента, можете добавить посещение для данного объекта.

Post's attachments

Attachment icon er.png 24.89 kb, 425 downloads since 2015-04-22 

Dmitry.

Re: Связь таблиц

Спасибо!
А если за одно посещение регистрируется несколько объектов?
Типичный случай: обратился клиент ООО "ВымпелКом", в одной заявке указал восемь базовых станций по всей области (объекты).

Re: Связь таблиц

Nilaus wrote:

Спасибо!
А если за одно посещение регистрируется несколько объектов?
Типичный случай: обратился клиент ООО "ВымпелКом", в одной заявке указал восемь базовых станций по всей области (объекты).

Тогда так
http://myvisualdatabase.com/forum/misc.php?action=pun_attachment&item=872&download=0



Только на форме присваивания объекта к визиту, необходимо показывать в ComboBox объекты, только принадлежащие текущему клиенту. Для этого у ComboBox есть свойство dbFilter, в котором необходимо написать условие для фильтрации (с помощью скрипта), примерно такое: id_clients=3


где 3 для примера, вместо него необходимо подставить id текущего клиента, данный идентификатор можно получить у кнопки с действием Сохранить запись на форме редактирования клиента
Form2.Button1.dbGeneralTableId;

Post's attachments

Attachment icon er2.png 14.21 kb, 333 downloads since 2015-04-22 

Dmitry.

Re: Связь таблиц

Спасибо! Самое главное, думал о таком варианте, но так и не смог реализовать.

6 (edited by Nilaus 2015-04-24 13:02:30)

Re: Связь таблиц

Сделал тестовую базу по вышеуказанной схеме.
Порядок действий такой.
На форме добавления клиента добавляю клиента, сохраняю.
На той же форме добавляю несколько объектов, все объекты отлично привязываются к клиенту.
С этой же формы добавляю визит и на форме добавить визит выбираю дату и  объект из комбобокса. Но запись не сохраняется (в таблицу visits), ругается на id.objects
В качестве ключа в комбобоксе выбрано  visits.id_objects, поля nameOb
Что я делаю не так, или не таком порядке?
Проект прилагаю.

Post's attachments

Attachment icon t.zip 325.42 kb, 464 downloads since 2015-04-24 

Re: Связь таблиц

Не хватает еще одной формы, в которой к одному визиту можно добавить несколько объектов.
Также сделал небольшой скрипт, чтобы при выборе объектов для визита, отображались не все объекты, а только объекты клиента.

Post's attachments

Attachment icon t_fixed.zip 5.4 kb, 491 downloads since 2015-04-25 

Dmitry.

Re: Связь таблиц

Спасибо, Дмитрий! Это то что нужно!