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

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

Ввод данных в две таблицы из одной формы [D7, IB6.x, FireBird 1.5]


Страницы:   1 2 3 4 5

grav ©   (2008-04-17 17:49:00) 

Требуется реализовать ввод данных в БД. Данные следующие. Имеется здание, в нем располагаются объекты (склад, столовая и т.д.). Нужно чтобы пользователь вводил: Здание №1, его параметры (год постройки, общая площадь, полная стоимость и т.д.). Потом на этой же форме вводил все объекты располагающиеся в этом здании: 1. Столовая, площадь, проектная мощность и т.д. 2. Спортзал .... 3...
Потом Здание №2 и его объекты. И чтобы это все на одной форме располагалось.
Своих варианта два. Первый - использовать два DBGrid, вверху для зданий, внизу для объектов. Второй - использовать TDBCtrlGrid, с которым не могу разобраться :)
Подскажите, как такое правильно реализуется?


grav   (2008-05-14 14:01:00) [1]

Я IBTable первый раз использую, пользовался IBQuery и IBSQL. Сейчас потребовалось мастер-детайл и возможность редактирования. Вот и связался с IBTable.
IBDataSet вообще не использовал не разу. Надо посмотреть.
Так что, нельзя упорядочить по возрастанию?


Sergey13   (2008-05-14 13:44:00) [2]

> [92] grav   (14.05.08 12:50)
> Возможно ли в IBTable

Пора уже выкинуть этот IBTable и пользоваться нормальным IBDataSet-ом.


grav   (2008-05-14 12:50:00) [3]

Возможно ли в IBTable упорядочение записей по возрастанию или убыванию?
Есть поле ID, по нему создан индекс. Что то в гриде здания отображаются, не в том порядке как в индексе


grav   (2008-05-14 10:32:00) [4]


> Sergey13 ©   (14.05.08 08:44) [90]

Разместил рядом с гридом групбокс и леплю DBEdit'ы и DBMemo. Так вот при изменении значения в DBMemo свойство UpdatesPending не срабатывает, почему?


Sergey13   (2008-05-14 08:44:00) [5]

> [88] grav   (13.05.08 17:26)
> Не нравится мне, что для одной строки приходится целый грид отводить

Ну и не отводи. ДБГрид не единственный компонент для отображения данных из БД. Тем более если отображается ВСЕГДАТОЛЬКО ОДНА ЗАПИСЬ.


Slym   (2008-05-14 04:29:00) [6]

MemoryDataset?
На клиента вбиваешь все в мемори датасеты, а потом на кнопачку "Сохранить" все датасеты в одной транзакции сохраняеш в "реальную" базу...
MemoryDataset можно заменить на какуюнибудь локальную СУБД, с возможностью при "крахе" восстановить последнее несохнаненное состояние


grav   (2008-05-13 17:26:00) [7]

Не нравится мне, что для одной строки приходится целый грид отводить


Sergey13   (2008-05-13 16:21:00) [8]

> [86] grav   (13.05.08 16:12)
> Как то не красиво у меня получилось.

А по мне так красотища!

Лепота! (с) И.Грозный

Еще бы красочек добавить поядовитее.
8-))))))))


grav   (2008-05-13 16:12:00) [9]

Как то не красиво у меня получилось.
Есть грид с кодом и наименованием организации. Много организаций - -много строк. Справа еще грид с финансовыми данными по каждой организации в отдельности. И в этом гриде только одна строка. Т.е. выбираешь в левом гриде предприятие, справа отображается одна строка с данными.
Снизу слева еще один грид, в нем перечислены здания организации, справа грид с одной строкой с данными по каждому зданию.
Еще ниже еще один грид со списком объектов в данном здании и справа данные по этому объекту из одной строки. :(((


Sergey13   (2008-05-13 16:01:00) [10]

> [84] grav   (13.05.08 15:58)

ИБ и его клоны не поддерживают вложенных таблиц, насколько я знаю. Из тех кто поддерживает я знаю только Оракл. Там (в реальной БД) поле может содержать таблицу. Поэтому в простом датасете смотрщим на реальную БД интербейса сделать этого вроде как не получится. А вот в клиентском датасете - можно.


grav   (2008-05-13 15:58:00) [11]


> Sergey13 ©   (13.05.08 15:38) [83]

А поподробнее? Вот создал я в IBTable новое поле. Выбрал его тип DataSet. А где ему назначить его IBTable? Оно ведь не вычисляемое и не лукап.


Sergey13   (2008-05-13 15:38:00) [12]

> [82] grav   (13.05.08 15:35)
> А как сделать, чтобы ссылка была не на значение, а на целый
> датасет?

Создать поле с типом датасет.


grav   (2008-05-13 15:35:00) [13]


> "Значение этого поля" - ссылка на значение в другой таблице.

ясно. Спасибо.

А как сделать, чтобы ссылка была не на значение, а на целый датасет?

У самого случайным образом так получилось при использовании связки ClientDataSet+DataSource+DBGrid. Щелкаешь на ячейке мышкой и открывается отдельный грид с данными.


Sergey13   (2008-05-13 15:22:00) [14]

> [80] grav   (13.05.08 15:16)
> Хочется менять значение этого поля, т.е. значение в другой таблице.
"Значение этого поля" - ссылка на значение в другой таблице.


grav   (2008-05-13 15:16:00) [15]


> Я не хочу быть святее Папы Римского (модератора), но вообще-
> то это запрещено правилами форума: одна ветка - один вопрос.
>

Плодить много мелких веток тоже не есть хорошо.
Хочется менять значение этого поля, т.е. значение в другой таблице. Но если нельзя (а у меня не получилось), то нельзя. Добавлю еще один грид.


Sergey13   (2008-05-13 15:03:00) [16]

> [78] grav   (13.05.08 14:49)
> пусть будет

Я не хочу быть святее Папы Римского (модератора), но вообще-то это запрещено правилами форума: одна ветка - один вопрос.

А что значит "LookUp поля редактировать нельяз"? В справочнике, на который ссылается поле, можно что угодно редактировать. В самой таблице (в которой это поле) можно менять ссылку на справочник и/или удалять ее. Что хочется то?


grav   (2008-05-13 14:49:00) [17]


> Sergey13 ©   (13.05.08 14:36) [77]

Ну у мну своего нет блога, пусть будет :)
Там можно или нельзщя редактировать LookUp поля?


Sergey13   (2008-05-13 14:36:00) [18]

Ветка потихоньку превращается в блог. 8-)


grav   (2008-05-13 14:21:00) [19]

Блин. А LookUp поля редактировать нельяз что ли?


Anatoly Podgoretsky   (2008-05-13 13:21:00) [20]

> grav  (13.05.2008 12:32:09)  [69]

Если не хочет сохранять, то Rollback
Всего то две операции Да и Нет


Страницы:   1 2 3 4 5

Наверх

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