|
14 Кб. |
|
| Есть две таблицы, связь один-к-одному
Форма и 2 подформы на основе этих таблиц.
Конфлик записи возникает при переходе между подформами.
Подформы на основе второй таблицы. А их 2 подформы, т.к. не всегда нужно заполнять все поля.
Вобщем, прикрутил примерчик.
Вносим инфу в поле1 основной формы, потом в подформу1, а вот уже в подформу 2 не получается | |
|
| |
|
|
|
| а зачем поля одной записи заполнять в разных формах.
а зачем вообще так делать если в табле СоставляющиеЗаказа только ОДНА запись на одн Заказ проще все 3 поля загнать в таблу Заказ
а чтобы работал Ваш изврат нужно на подформу1 (как и на поформу2) в событие формы "Выход" повесить такое
Private Sub подформа1_Exit(Cancel As Integer)
Forms!Заказы!подформа2.Requery
End Sub | |
|
| |
|
|
|
| kot_k_k спасибо, сейчас попробую
в табле СоставляющиеЗаказа не одна запись, а около полусотни (это в примере только 2 записи).
В табле "Заказ" общая инфа (датаСчета, №Счета, №Заказа, СрокСдачи и т.д.), а в табле "СоставляющиеЗаказа" уже конкретика по заказу, причем по конкретному виду продукции. И вот этих полей во второй табле много, но они не все нужны. Ну например, листовку (это полиграфическая продукция) можно ламинировать, а можно нет (это уже как заказчик пожелает). А у ламинации много всяких параметров, таких как толщина пленки , которой ламинируют, сторона листовки, которую ламинируют и т.д.. Так вот можно в форме разместить все эти поля из второй таблицы и соответсвенно включать их и выключать. Я же хочу сделать все это через подформы. Нужна ламинация, подключаю подформу, отвечающую за ламинацию, не нужна ламинация, увожу ее в Visible=false.
И вот когда заказчику нужна и ламинация, и, допустим тиснение, то через SourceObject присваиваю подформе значение и вот тут-то и возникает конфликт.
Не знаю, понятно объяснил или нет.
Ну или как сделать по-другому тогда?
Как правильнее?
Добавлено: все равно конфликт возникает | |
|
| |
|
41 Кб. |
|
| Ну вот такое вот сообщение выводится
Ставлю галочку "Лак", подформе присваивается форма с полями из второй таблы про лак, заполняю ее, ставлю галочку "Ламинация", подформе присваивается форма с полями про ламинацию, я в нее перехожу и выскакивает вот такое сообщение | |
|
| |
|
|
|
| ты правишь одну и туже запись в РАЗНЫХ формах - форма которая теряет запись должна СОХРАНИТЬ запись и обновить все остальные формы которые используют эту же запись | |
|
| |
|
|
|
| Ну так и есть, одна и та же запись в разных формах, но ведь не одновременно, а после .Requery подформы. А конфликт все равно происходит | |
|
| |
|
|
|
|
а после .Requery подформы
|
одной или обох
и судя по всему у тебя табла содержит ВСЕ возможные характеристики - думаю что не правильно это | |
|
| |
|
|
|
|
а она у меня одна подформа, просто ей присваиваются значения
Me![подформа].SourceObject = "Тиснение"
|
или
Me![подформа].SourceObject = "Ламинация"
|
и т.д. | |
|
| |
|
|
|
| значит подформы ты разбиваешь логически а таблу не хочешь | |
|
| |
|
|
|
| в табле СоставляющиеЗаказа можно разместить только ОДНУ запись по ОДНОМУ ЗАКАЗУ (это правилдьно или нет), т.к. я не думаюю что на каждую листовку оформляется свой заказ - если Заказчик один.
скорее всего нужно сделать так
Табла "Заказ" № дата Заказчик
табла "СоставляющиеЗаказа" - Код_Сост, Заказ, наименование кол-во все и проч
а для размещения характеристик каждого наименования либо для каждой группы наименований свои таблы - простота решения но собирать до кучи если нужно может быть трудно (а нужно ли это ваще)
либо создать по типу Entity-attribute-value | |
|
| |
|
|
|
|
в табле СоставляющиеЗаказа можно разместить только ОДНУ запись по ОДНОМУ ЗАКАЗУ (это правилдьно или нет)
|
да, так и есть
а для размещения характеристик каждого наименования либо для каждой группы наименований свои таблы - простота решения но собирать до кучи если нужно может быть трудно (а нужно ли это ваще)
|
ну, собственно так и есть. Есть общая табла и таблицы по видам продукции. Но делать таблы по видам операции, как то муторно
Они у меня собраны во второй таблице.
хм...разбивать вторую таблу на ТаблицаЛак, ТаблицаЛаминация, ТаблицаТиснение..
В принципе наверное можно попробовать..
Может еще кто чего подскажет | |
|
| |
|
|
|
|
хм...разбивать вторую таблу на ТаблицаЛак, ТаблицаЛаминация, ТаблицаТиснение..
|
у тебя может на 1000 заказов не быть ни лака ни ламинации а поля будут пустыми - на кой оно надо - размер имеет значение | |
|
| |
|
|
10 Кб. |
|
| посмотри вот наваял
табла технолог-атрибут содержит все возможные атрибуты технологии (чтобы исключить не суразности)
в таблу исполнение заносим только нужные на изделие технологии и выбираем им атрибут | |
|
| |
|
|
|
| спасибо
пробую разбить вторую таблу | |
|
| |
|
|
|
| Разбил вторую таблицу, конфликты пропали. Вот собирать это потом все в кучу будет весело... | |
|
| |
|
|
|
| >>> Вот собирать это потом все в кучу будет весело
собирается "все в кучу" на основе справочников конфигураций - шаблон типовой иерархической структуры описывающей тот или иной продукт.
Буклет
Книга
Альбом
пустой шаблон создает технолог и экономист, создает один раз
потом специалист на приемке заказа или сам заказчик просто заполняет его - сначала создает в рабочей таблице предусмотренное количество записей потом заполняет его значениями
(или создает во временной таблице "проект" - предусмотренный набор пустых записей, заполняет значениями и присоединяет к рабочей таблице когда все заполнено)
вот где можно посмотреть идеи в области близкой к заявленной предметке - http://www.printondemand.com/ | |
|
| |
|
|
|
| как собирать в кучу - это зависит от потребностей
в можно сделать вкладки которые содержат ВСЕ технологические формы
и выбирать перечень видимых вкладок
для Альбома - ......
для Книги - .......
для Журнала - .........
и менять подформу не нужно да и красивше | |
|
| |
|
|
|
| што-та как-то грусно это все... | |
|
| |
|
|
|
|
|
| подкинь идею еще тогда | |
|
| |
|
|
|
| тут не нужны новые идеи... это типовая задача
советую посмотреть что-то по CBOM - Configurable BOM | |
|
| |
|