Rambler's Top100
Форум: MS ACCESSVBVBA MS OfficeMS SQL server
Новые сообщения: 0000

Форум: MS ACCESS

Вопросы связанные с MS ACCESS

Обновить визитку
Участники «Online»
Все участники

 
 

Доброго времени суток, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Конфликт записи
 
 автор: Скорп   (27.01.2011 в 22:16)   личное сообщение
14 Кб.
 
 

Есть две таблицы, связь один-к-одному
Форма и 2 подформы на основе этих таблиц.
Конфлик записи возникает при переходе между подформами.
Подформы на основе второй таблицы. А их 2 подформы, т.к. не всегда нужно заполнять все поля.

Вобщем, прикрутил примерчик.
Вносим инфу в поле1 основной формы, потом в подформу1, а вот уже в подформу 2 не получается

  Ответить  
 
 автор: kot_k_k   (28.01.2011 в 09:09)   личное сообщение
 
 

а зачем поля одной записи заполнять в разных формах.
а зачем вообще так делать если в табле СоставляющиеЗаказа только ОДНА запись на одн Заказ проще все 3 поля загнать в таблу Заказ

а чтобы работал Ваш изврат нужно на подформу1 (как и на поформу2) в событие формы "Выход" повесить такое

Private Sub подформа1_Exit(Cancel As Integer)
Forms!Заказы!подформа2.Requery
End Sub

  Ответить  
 
 автор: Скорп   (28.01.2011 в 09:34)   личное сообщение
 
 

kot_k_k спасибо, сейчас попробую

в табле СоставляющиеЗаказа не одна запись, а около полусотни (это в примере только 2 записи).
В табле "Заказ" общая инфа (датаСчета, №Счета, №Заказа, СрокСдачи и т.д.), а в табле "СоставляющиеЗаказа" уже конкретика по заказу, причем по конкретному виду продукции. И вот этих полей во второй табле много, но они не все нужны. Ну например, листовку (это полиграфическая продукция) можно ламинировать, а можно нет (это уже как заказчик пожелает). А у ламинации много всяких параметров, таких как толщина пленки , которой ламинируют, сторона листовки, которую ламинируют и т.д.. Так вот можно в форме разместить все эти поля из второй таблицы и соответсвенно включать их и выключать. Я же хочу сделать все это через подформы. Нужна ламинация, подключаю подформу, отвечающую за ламинацию, не нужна ламинация, увожу ее в Visible=false.
И вот когда заказчику нужна и ламинация, и, допустим тиснение, то через SourceObject присваиваю подформе значение и вот тут-то и возникает конфликт.
Не знаю, понятно объяснил или нет.
Ну или как сделать по-другому тогда?
Как правильнее?

Добавлено: все равно конфликт возникает

  Ответить  
 
 автор: Скорп   (28.01.2011 в 09:50)   личное сообщение
41 Кб.
 
 

Ну вот такое вот сообщение выводится

Ставлю галочку "Лак", подформе присваивается форма с полями из второй таблы про лак, заполняю ее, ставлю галочку "Ламинация", подформе присваивается форма с полями про ламинацию, я в нее перехожу и выскакивает вот такое сообщение

  Ответить  
 
 автор: kot_k_k   (28.01.2011 в 09:54)   личное сообщение
 
 

ты правишь одну и туже запись в РАЗНЫХ формах - форма которая теряет запись должна СОХРАНИТЬ запись и обновить все остальные формы которые используют эту же запись

  Ответить  
 
 автор: Скорп   (28.01.2011 в 10:03)   личное сообщение
 
 

Ну так и есть, одна и та же запись в разных формах, но ведь не одновременно, а после .Requery подформы. А конфликт все равно происходит

  Ответить  
 
 автор: kot_k_k   (28.01.2011 в 10:08)   личное сообщение
 
 


а после .Requery подформы


одной или обох
и судя по всему у тебя табла содержит ВСЕ возможные характеристики - думаю что не правильно это

  Ответить  
 
 автор: Скорп   (28.01.2011 в 10:11)   личное сообщение
 
 


одной или обох


а она у меня одна подформа, просто ей присваиваются значения

Me![подформа].SourceObject = "Тиснение"

или

Me![подформа].SourceObject = "Ламинация"

и т.д.

  Ответить  
 
 автор: kot_k_k   (28.01.2011 в 10:14)   личное сообщение
 
 

значит подформы ты разбиваешь логически а таблу не хочешь

  Ответить  
 
 автор: kot_k_k   (28.01.2011 в 09:50)   личное сообщение
 
 

в табле СоставляющиеЗаказа можно разместить только ОДНУ запись по ОДНОМУ ЗАКАЗУ (это правилдьно или нет), т.к. я не думаюю что на каждую листовку оформляется свой заказ - если Заказчик один.
скорее всего нужно сделать так
Табла "Заказ" № дата Заказчик
табла "СоставляющиеЗаказа" - Код_Сост, Заказ, наименование кол-во все и проч

а для размещения характеристик каждого наименования либо для каждой группы наименований свои таблы - простота решения но собирать до кучи если нужно может быть трудно (а нужно ли это ваще)
либо создать по типу Entity-attribute-value

  Ответить  
 
 автор: Скорп   (28.01.2011 в 10:09)   личное сообщение
 
 


в табле СоставляющиеЗаказа можно разместить только ОДНУ запись по ОДНОМУ ЗАКАЗУ (это правилдьно или нет)


да, так и есть


а для размещения характеристик каждого наименования либо для каждой группы наименований свои таблы - простота решения но собирать до кучи если нужно может быть трудно (а нужно ли это ваще)


ну, собственно так и есть. Есть общая табла и таблицы по видам продукции. Но делать таблы по видам операции, как то муторно
Они у меня собраны во второй таблице.

хм...разбивать вторую таблу на ТаблицаЛак, ТаблицаЛаминация, ТаблицаТиснение..
В принципе наверное можно попробовать..

Может еще кто чего подскажет

  Ответить  
 
 автор: kot_k_k   (28.01.2011 в 10:12)   личное сообщение
 
 


хм...разбивать вторую таблу на ТаблицаЛак, ТаблицаЛаминация, ТаблицаТиснение..


у тебя может на 1000 заказов не быть ни лака ни ламинации а поля будут пустыми - на кой оно надо - размер имеет значение

  Ответить  
 
 автор: Скорп   (28.01.2011 в 10:14)   личное сообщение
 
 

разумно
спасибо!

  Ответить  
 
 автор: kot_k_k   (28.01.2011 в 10:24)   личное сообщение
10 Кб.
 
 

посмотри вот наваял
табла технолог-атрибут содержит все возможные атрибуты технологии (чтобы исключить не суразности)
в таблу исполнение заносим только нужные на изделие технологии и выбираем им атрибут

  Ответить  
 
 автор: Скорп   (28.01.2011 в 10:31)   личное сообщение
 
 

спасибо
пробую разбить вторую таблу

  Ответить  
 
 автор: Скорп   (28.01.2011 в 11:49)   личное сообщение
 
 

Разбил вторую таблицу, конфликты пропали. Вот собирать это потом все в кучу будет весело...

  Ответить  
 
 автор: Explorer   (28.01.2011 в 11:59)   личное сообщение
 
 

>>> Вот собирать это потом все в кучу будет весело

собирается "все в кучу" на основе справочников конфигураций - шаблон типовой иерархической структуры описывающей тот или иной продукт.

Буклет
Книга
Альбом


пустой шаблон создает технолог и экономист, создает один раз
потом специалист на приемке заказа или сам заказчик просто заполняет его - сначала создает в рабочей таблице предусмотренное количество записей потом заполняет его значениями
(или создает во временной таблице "проект" - предусмотренный набор пустых записей, заполняет значениями и присоединяет к рабочей таблице когда все заполнено)

вот где можно посмотреть идеи в области близкой к заявленной предметке - http://www.printondemand.com/

  Ответить  
 
 автор: kot_k_k   (28.01.2011 в 14:21)   личное сообщение
 
 

как собирать в кучу - это зависит от потребностей
в можно сделать вкладки которые содержат ВСЕ технологические формы
и выбирать перечень видимых вкладок
для Альбома - ......
для Книги - .......
для Журнала - .........
и менять подформу не нужно да и красивше

  Ответить  
 
 автор: Explorer   (28.01.2011 в 10:53)   личное сообщение
 
 

што-та как-то грусно это все...

  Ответить  
 
 автор: kot_k_k   (28.01.2011 в 10:58)   личное сообщение
 
 

шо именно

  Ответить  
 
 автор: Explorer   (28.01.2011 в 11:06)   личное сообщение
 
 

подход

  Ответить  
 
 автор: Скорп   (28.01.2011 в 11:09)   личное сообщение
 
 

подкинь идею еще тогда

  Ответить  
 
 автор: Explorer   (28.01.2011 в 11:30)   личное сообщение
 
 

тут не нужны новые идеи... это типовая задача

советую посмотреть что-то по CBOM - Configurable BOM

  Ответить  
 
 автор: Дядя Федор   (28.01.2011 в 22:46)   личное сообщение
 
 

Да. Уж.

  Ответить  
HiProg.com - Технологии программирования
Rambler's Top100 TopList