|
Создание записи в главной форме при выборе товара в подчиненной форме
|
|||
---|---|---|---|
#18+
Всем привет. Есть таблицы: Заказы, Списание, СоставСписания, Товары. На форме расположено несколько форм, подчиненных друг другу: Заказ (главная) -> Списание (подч. 1 ур.) -> СоставСписания (подч. 2 ур.) На форме Списание новая запись создается только после ручного выбора какого-либо значения (например Даты). Можно ли сделать так, чтобы при выборе товара в подчиненной форме "СоставСписания" создавалась запись в "Списание" (ну или при нажатии кнопки на форме "Заказ")? Вопрос возник потому что я хочу скрыть все поля на форме "Списание" (КодЗаказа, КодСписания, Дата), оставив только форму для выбора товара (СоставСписания). ... |
|||
:
Нравится:
Не нравится:
|
|||
28.04.2017, 13:19 |
|
Создание записи в главной форме при выборе товара в подчиненной форме
|
|||
---|---|---|---|
#18+
MaKaKВопрос возник потому что я хочу скрыть все поля на форме "Списание" (КодЗаказа, КодСписания, Дата), с точки зрения вашей философии (по барабану когда и на основании какого документа было списание) вам проще упразднить и форму списание и таблицу списания за ненадобностью... ... |
|||
:
Нравится:
Не нравится:
|
|||
28.04.2017, 14:14 |
|
Создание записи в главной форме при выборе товара в подчиненной форме
|
|||
---|---|---|---|
#18+
А чо ? Сделать вообще две таблицы: Заказ : - № - Дата Товар : - Наименование - Признак списания Ну и все... Дата и номер заказа есть... товар фигурирующий в заказе есть... товар без галочек пошел в заказ, товар с галочками "умер" при выполнении заказа (списан) ... |
|||
:
Нравится:
Не нравится:
|
|||
28.04.2017, 14:19 |
|
Создание записи в главной форме при выборе товара в подчиненной форме
|
|||
---|---|---|---|
#18+
vmagс точки зрения вашей философии (по барабану когда и на основании какого документа было списание) вам проще упразднить и форму списание и таблицу списания за ненадобностью... Списание привязано к номеру текущего заказа - подчиненная форма сама подхватывает "КодЗаказа", ДатаСписания подставляется из поля с формы "Заказ" (кнопка на предварительный расчет требуемых материалов (товара)), КодСписания - счетчик. При этом поля "Дата" и "Дополнительно" в таблице "Списание" нужны на случай отвязанного от заказа списания (продажа комплектующих, гарантийная замена). ... |
|||
:
Нравится:
Не нравится:
|
|||
28.04.2017, 14:54 |
|
Создание записи в главной форме при выборе товара в подчиненной форме
|
|||
---|---|---|---|
#18+
В принципе, вопрос решается довольно просто, если через нажатие кнопки присвоить в одно из полей нужное значение (например КодЗаказа): Forms!Заказ!Списание.Form!КодЗаказа.Value = Forms!Заказ.Form!КодЗаказа Запись создается, и, вроде как, все работает. Но сделать то же самое через какое-то из событий поля выбора товара все равно не получается. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.04.2017, 17:21 |
|
Создание записи в главной форме при выборе товара в подчиненной форме
|
|||
---|---|---|---|
#18+
MaKaKСписание привязано к номеру текущего заказа противоречие с этим MaKaKПри этом поля "Дата" и "Дополнительно" в таблице "Списание" нужны на случай отвязанного от заказа списания Следовательно отвязанное от всего списание это мусор в БД (не понятно кто, что и на основании чего списал)... Если в заказе поставить признак тип заказа: Обычный, Продажа комплектующих, Гарантийная замена, ... То в заказе с признаком Продажа комплектующих и Гарантийная замена весь товар будет с признаком списания, а в обычном заказе будет товар и с признаком списания (бой, брак) и без признака списания... опять же таблица списание - как пятое колесо в телеге (дублирует параметры заказа) MaKaKСписание привязано к номеру текущего заказа - подчиненная форма сама подхватывает "КодЗаказа", ДатаСписания подставляется из поля с формы "Заказ" ... |
|||
:
Нравится:
Не нравится:
|
|||
28.04.2017, 21:53 |
|
Создание записи в главной форме при выборе товара в подчиненной форме
|
|||
---|---|---|---|
#18+
MaKaK, В общем как ни крути, если в таблице Списание те же параметры, что и в таблице Заказ (дублирование) - таблица Списание лишняя... Таблицы Товары и СоставСписания можно вешать на таблицу Заказ и не париться... Например при гарантийной замене - это все равно Заказ, просто для него в СоставСписания будут строки, а в таблице Товар не будет строк ... |
|||
:
Нравится:
Не нравится:
|
|||
28.04.2017, 22:07 |
|
Создание записи в главной форме при выборе товара в подчиненной форме
|
|||
---|---|---|---|
#18+
vmagВ общем как ни крути, если в таблице Списание те же параметры, что и в таблице Заказ (дублирование) - таблица Списание лишняя... Там несколько иная ситуация: Заказ - по сути перечень требований (характеристик) к будущему изделию. Товар - не 1-а таблица, а 3 (на данный момент). Делалось для того, чтобы где-то хранить характеристики различных видов деталей. Они (характеристики) используются на форме Заказа для подсчета и вывода информации о готовом изделии. Остаток (списание и поступление) - свой для каждой таблицы. Если в самом заказе будут выбрано несколько деталей 1-го типа, то нужна будет как-то различать "главную" деталь и "дополнительные" для подсчета общих параметров изделия. Поэтому в таблице "Заказ" сделал поля выбора определяющих изделие деталей, а списание считается через форму или задается вручную. Не знаю насколько это правильно, были другие варианты, но при моих знаниях access`a, они показались мне слишком сложными. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.05.2017, 17:44 |
|
Создание записи в главной форме при выборе товара в подчиненной форме
|
|||
---|---|---|---|
#18+
MaKaK, Так... мысли вслух... 1. Возьмем ветку: Бегущие строки - СписаниеМ - СписаниеСоставМ - Модули... Если выбросить таблицу СписаниеСоставМ, а поля КодМодуля и КоличествоМ перенести в таблицу СписаниеМ, то все становится на свои места и решается ваша проблема с лишними формами. + вы имеете дополнительный бонус по реалистичности списания Модулей с точки зрения даты ибо в вашем случае - модули списываются в один день, хотя могут быть случаи, когда некоторые модули в заказ попали например завтра... 2. Аналогично можно избавиться от таблиц: СписаниеСоставК, СписаниеСоставДД. Я бы пошел еще дальше... Если добавить Классификатор Типов Устройств: Модули, Контроллеры, Другие,... то можно получить гибкую систему, а не заточенную только под три вида Устройств + сократить количество таблиц минимум в 2 раза: - Всего одна таблица Списание с признаком типа устройства вместо трех. - Всего одна таблица Поступление с признаком типа устройства вместо трех. - Всего одна таблица ПоступлениеСостав вместо трех. - Всего одна таблица Устройства с признаком типа устройства вместо трех - полей не так уж много и в зависимости от типа устройства - лишние можно скрывать в интерфейсе или разбросать по вкладкам, а не нужные вкладки скрывать... думаю до EAV тут далековато будет... Ну это так... вскользь... по тому, что есть и не зная изначального ТЗ... Левую часть не смотрел, - нет времени... ... |
|||
:
Нравится:
Не нравится:
|
|||
03.05.2017, 11:33 |
|
Создание записи в главной форме при выборе товара в подчиненной форме
|
|||
---|---|---|---|
#18+
vmagЕсли выбросить таблицу СписаниеСоставМ, а поля КодМодуля и КоличествоМ перенести в таблицу СписаниеМ, то все становится на свои места и решается ваша проблема с лишними формами. Вы правы, таблица Списание лишняя. Сделал вместо нее СоставЗаказа (дата из Заказа), а все остальные случаи списания вынес в отдельную ветку схемы (своя Дата). vmagЯ бы пошел еще дальше... Если добавить Классификатор Типов Устройств: Модули, Контроллеры, Другие,... то можно получить гибкую систему, а не заточенную только под три вида Устройств + сократить количество таблиц минимум в 2 раза: Как в этом случае сделать поля на форме, отображающие характеристики конкретной детали? Сейчас все поля характеристик ссылаются на 1-у деталь. Пока пришло в голову только присвоение значений через VBA при выборе детали и открытии записи. И что за таблицы Деталь_1, Деталь_2 (копии таблицы Деталь) отображаются в схеме данных после задания источника строк в полях выбора деталей в таблице Заказ? SELECT [Деталь].[Код], [Деталь].[Название] FROM Деталь WHERE [Деталь].[Категория] = 1; ... |
|||
:
Нравится:
Не нравится:
|
|||
04.05.2017, 11:49 |
|
Создание записи в главной форме при выборе товара в подчиненной форме
|
|||
---|---|---|---|
#18+
MaKaKИ что за таблицы Деталь_1, Деталь_2 (копии таблицы Деталь) Это вы у меня спрашиваете? Удалите их из схемы БД... Посмотрите на верхний рисунок и на этот - абсолютно разные базы данных, вы должны понимать, что нужно практически все писать с нуля... Запросы, формы и прочее из старой БД не подойдут их все нужно ТУПО УДАЛИТЬ ... |
|||
:
Нравится:
Не нравится:
|
|||
05.05.2017, 08:34 |
|
Создание записи в главной форме при выборе товара в подчиненной форме
|
|||
---|---|---|---|
#18+
MaKaK, MaKaKпосле задания источника строк в полях выбора деталей в таблице Заказ? и бросайте это дело... не нужно на уровне таблиц делать поля подстановки и прочую ерунду, уже сейчас путаетесь где что, а еще интерфейс не начинали... таблички сделали, связи нарисовали - всё, больше в раздел таблицы не лазим (только для создания и корректировки таблиц и связей) ... |
|||
:
Нравится:
Не нравится:
|
|||
05.05.2017, 08:49 |
|
Создание записи в главной форме при выборе товара в подчиненной форме
|
|||
---|---|---|---|
#18+
vmagMaKaKИ что за таблицы Деталь_1, Деталь_2 (копии таблицы Деталь)Это вы у меня спрашиваете? Удалите их из схемы БД... Да хз, для чего-то же они появляются, когда несколько полей одной таблицы имеют одинаковый источник строк. Думал можно их как-то использовать. Но самый главный вопрос, который и вынудил меня пойти по 1-му пути, это: Как в этом случае сделать поля на форме, отображающие характеристики конкретной детали? Сейчас все поля характеристик ссылаются на 1-у деталь. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.05.2017, 11:23 |
|
Создание записи в главной форме при выборе товара в подчиненной форме
|
|||
---|---|---|---|
#18+
MaKaK, В таблице ЗаказСостав у вас перечень деталей в заказе.... Что это за детали - определяется таблицей Категория... ... |
|||
:
Нравится:
Не нравится:
|
|||
05.05.2017, 21:25 |
|
Создание записи в главной форме при выборе товара в подчиненной форме
|
|||
---|---|---|---|
#18+
vmag, Поля для каждой детали в таблице заказ сделаны для подсчета общих характеристик изделия на форме. Т.е. через таблицу ЗаказСостав может быть списано сколько угодно деталей (покупка дополнительных и запасных частей) и считать по ним не получится. Предполагается так: Пользователь выбирает используемый Модуль (характеристики: Ширина=32, Высота=16, Потребление=25) Задает составляемый из них экран - 5х2, форма считает характеристики экрана: Ширина=32х5=160, Высота=16х2=32, Потребление=10х25=250. Далее заполняются требования типа связи, например WiFi. В поле выбора контроллера остаются только те, которые поддерживают WiFi и получившийся размер. Выбирается тип используемых блоков питания, подсчитывается их количество. Кнопка предварительного расчета заполняет СоставЗаказа, который вручную дополняется не входящими в изделие деталями. И, найдя потом этот заказ, пользователь видит не просто список деталей, при этом не понятно, сколько из них и как задействовано, а параметры изделия. Для этого, на сколько я понимаю, мне нужно извлекать характеристики конкретных деталей из таблицы, где перечислены все возможные характеристики, но как это сделать пока не знаю. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.05.2017, 11:41 |
|
|
start [/forum/topic.php?fid=45&fpage=76&tid=1612462]: |
0ms |
get settings: |
8ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
34ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
48ms |
get tp. blocked users: |
2ms |
others: | 323ms |
total: | 455ms |
0 / 0 |