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

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

связанные таблицы [D7, FlashFiler]


Страницы:   1 2

MORA ©   (2004-07-27 12:08:00) 

у меня есть 3 связанные таблицы: ЗАКАЗЧИКИ, --> ОБЪЕКТЫ, --> ПОМЕЩЕНИЯ (каждая последующая является подчиненной для предыдущей). И четвертая таблица - ЗАКАЗЫ, в которой хранятся заказы для ПОМЕЩЕНИЙ. Понятно, что по ПОМЕЩЕНИЮ можно идентифицировать ОБЪЕКТ, по ОБЪЕКТу - ЗАКАЗЧИКа, поэтому в заказах я храню только ПОМЕЩЕНИЕ.
Вопрос в следующем:
как по-умному заполнить ДБэдиты при открытии формы редактирования заказа (чтобы в зависимости от ПОМЕЩЕНИЯ заполнились ОБЪЕКТЫ и ЗАКАЗЧИКИ)?
Проблемка в том, что таблицы связаны и с помощью DataSet.Locate() сделать это низя.


MORA   (2004-07-27 15:25:00) [21]


> поэтому используя в SQL-запросе выражение WHERE Вы всегда
> найдете главного при выборе подчиненного. :)

да я уже начал с таблицами работать, а не с запросами (понимая, что это не круто, но начальство поставило конкретное ТЗ, переубедить не удалось).

Поэтому хотелось бы до конца разобраться именно с ТАБЛИЦАМИ.

А FlashFiler - это не очень то экзотика. Почти такое же как обычный TTable. Все методы те же.

Ну и возвращаясь к сути, сформулирую по-другому, чтобы можно было ответить не объёмно:
я могу делать так:
при открытии формы редактирования заказа в обработчике формы OnShow разрываю все связи мастер-деталь (чтобы можно было осуществить поиск), ищу последовательно начиная с "самой подчиненной", делаю везде БУКМАРКИ (т.к. после связывания таблицы вернуться на первые записи), потом устанавливаю прежние разорванные связи и иду по БУКМАРКАМ начиная с "самой главной".

Но разве нет более цивилизованных методов?


bushmen   (2004-07-27 15:01:00) [22]

> я задал простой вопрос ТЕОРЕТИЧЕСКИЙ с надеждой на то, что кто-
> то ткнёт пальцем

Вас уже ткнули туда, где копать: в каждой таблице связь "один к многим" поэтому используя в SQL-запросе выражение WHERE Вы всегда найдете главного при выборе подчиненного. :)


Sergey13   (2004-07-27 14:53:00) [23]

2MORA   (27.07.04 14:36) [17]
>а я задал простой вопрос ТЕОРЕТИЧЕСКИЙ
Вопрос то простой, но... объемный. 8-)

>кто-то ткнёт пальцем куа копать...
Пальцев не хватит, да и ногти уже в крови от тыканья... 8-)
К тому же такая экзотика как некий FlashFiler - фиг знает чего советовать.


MORA   (2004-07-27 14:36:00) [24]


> bushmen ©   (27.07.04 14:32) [15]
> > MORA   (27.07.04 14:24) [13]
>
> Ты хочешь, чтобы мы за тебя все написали, а ты только код
> скопировал? :)

если бы хотел, я бы кинул вам (Вам) свой код и предложил бы разбираться в нём.
а я задал простой вопрос ТЕОРЕТИЧЕСКИЙ с надеждой на то, что кто-то ткнёт пальцем куа копать...


MORA   (2004-07-27 14:33:00) [25]


> Sergey13 ©   (27.07.04 14:28) [14]

добрейшей души чел.


bushmen   (2004-07-27 14:32:00) [26]

> MORA   (27.07.04 14:24) [13]

Ты хочешь, чтобы мы за тебя все написали, а ты только код скопировал? :)


Sergey13   (2004-07-27 14:28:00) [27]

2MORA   (27.07.04 14:24) [13]
Ну разбирайся. Надоест - скажешь.


MORA   (2004-07-27 14:24:00) [28]


> Sergey13 ©  

дык хочется с табл. разобраться


Sergey13   (2004-07-27 14:21:00) [29]

Ну дык и напиши запрос который вернет тебе все нужные реквизиты.


MORA   (2004-07-27 14:18:00) [30]


> Про SQL ответь. Можно?
угу


Sergey13   (2004-07-27 14:12:00) [31]

2MORA   (27.07.04 13:45) [9]
>что-то само ну никак не хочет заполняться
Да что ты? Ну надо же? Свинство какое то! 8-)
Про SQL ответь. Можно?


MORA   (2004-07-27 13:45:00) [32]


> TDBCombobox тебе поможет

я использую RXDBComboEdit

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


bushmen   (2004-07-27 13:21:00) [33]

> Sergey13 ©   (27.07.04 13:19) [6]

Да, похоже своим FlashFilter автор всех уже основательно доканал :)


bushmen   (2004-07-27 13:20:00) [34]

> MORA   (27.07.04 12:08)  

TDBCombobox тебе поможет


Sergey13   (2004-07-27 13:19:00) [35]

2MORA
А твой FlashFiler позволяет использовать SQL?


DSKalugin   (2004-07-27 12:53:00) [36]

есть еще такие компоненты как TDBComboBox
это к вопросу о заполнении


MORA   (2004-07-27 12:19:00) [37]


> как связаны

с пом. св-ва MasterSource


> Они сами "заполняются"


тогда как правильно заполнить св-ва ДБэдитов?


DSKalugin   (2004-07-27 12:17:00) [38]

значит надо именить порядок подчиненности
ПОМЕЩЕНИЯ --> ОБЪЕКТЫ --> ЗАКАЗЧИКИ
Читай подробно про связь между таблицами master/detail
а конкретней свойства
TDataSet.MasterSource
TDataSet.MasterFields


Соловьев   (2004-07-27 12:13:00) [39]


> Проблемка в том, что таблицы связаны

как связаны?


Johnmen   (2004-07-27 12:12:00) [40]

Они сами "заполняются"


Страницы:   1 2

Наверх

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