|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Всем Доброго времени суток!
Всем Доброго времени суток!
Хотел бы узнать, возможно ли сделать так? Есть в БД (access) 7 таблиц. Все они связаны соотношением один ко многим. На первой странице формы элемент DBGRID он отображает данные из первой таблицы, есть еще одна форма, которая добавляет данные в нее (вроде все работает). Проблемы с третьей формой, которая добавляет данные в остальные 6 таблиц. Как сделать так, чтобы, выбрав строку в элементе DBgrid на первой форме, ввести данные в 6 таблицах одновременно без введения ключевого поля? И вот еще возник вопрос- можно, чтобы, добавив заказ в головной форме, автоматически создавалась папка в определенном каталоге? |
#2
|
|||
|
|||
Не совсем понятно, что именно нужно.
На первой форме отображаются данные из первой таблицы - и все? просто компонет Table. Она ни с чем не связана? Или это Query? ЧТо значит форма добавляет данные в 6 таблиц? Это таблицы-справочники как я понимаю? Если можно поподробнее задачу изложи. Используешь наверное ADO? |
#3
|
|||
|
|||
Цитата:
Да на первой форме (основной) отображаются данные из головной таблицы элементом Dbgrid и имеются 6 подчиненных таблиц все они связаны с головной таблицей (между ними связей нету). Надо выбрав строку в Dbgrid произвести записать в подчиненные таблицы. При этом хотелось бы не вводить ключевое поле а что бы ссылалось на выбраную строку в элементе DBgrid. Использовал ADO. Последний раз редактировалось SSA, 26.03.2008 в 00:06. |
#4
|
|||
|
|||
Вот выкину программу может чем поможете!
http://kaminic.narod.ru/kursovrab.zip Последний раз редактировалось SSA, 26.03.2008 в 00:04. |
#5
|
|||
|
|||
Цитата:
Скачал посмотрел. Теперь попробую описать что тебе надо как понял я. Поправь если не что не так. У тебя одна главная таблица. Связана эта таблица с шесью таблицами - один ко многим. Т.е. каждому значению из главной таблицы соответствует по одной и более записей в дополнительных таблицах. Однако на форме это пока не предусмотрено. Пока я вижу лишь связь один к одному. Т.е. каждой записи главной таблицы соответствует по одной записи в каждой из 6 таблиц. Если это так то может имеет смысл объединить эти таблицы в одну? Идем далее. Я понял что ты хочешь чтобы во всех дополнительных таблицах автоматически добавлялась запись, соответствующая вновь добавленной записи в главной таблице. Если это так то для этого надо в событии компонента твоей базы ADOTable1 AfterInsert прописывать процедуру добавления записи. Теперь пожелания. Вообще в главной таблице поле "Номер заказа" надо делать счетчиком, а в подчиненных таблицах такое же поле переделать в формат "числовое". |
#6
|
|||
|
|||
Цитата:
В одной таблице не выход как сказали " Это очень просто" Все что я хотел )))) Последний раз редактировалось SSA, 26.03.2008 в 23:38. |
#7
|
|||
|
|||
Цитата:
|
#8
|
|||
|
|||
Цитата:
|
#9
|
|||
|
|||
Цитата:
|
#10
|
|||
|
|||
Вот как если создать на форме поле и перенести туда значение выбраной ячейки из DBgrid (FieldByName) и эта ячейка будет выступать как ключевым полем. так реально?
Последний раз редактировалось SSA, 27.03.2008 в 23:53. |
#11
|
|||
|
|||
Цитата:
Ячейка не может выступать ключевым полем. Ключевым полем может выступать только поле. Если тебе надо программно создать новое поле и сделать его ключевым попробуй прочитать вот это http://delphiworld.narod.ru/base/cre...cess_tbls.html Надеюсь тебе удастся вытащить оттуда рациональное зерно. |