Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > MS Access > 1 поле в форме --> несколько записей в таблице


Автор: ravitex 28.11.2010, 04:06
Привет.

см. картинку : необходимо при вводе в форме продукта (в будущем через combobox)  и нажатии кнопки Сохранить, найти связанные с ним компоненты через Таблицу Состав Продукта и записать несколько строчек в таблицу Операции.

Долго думал и надумал пока так : 

При нажатии кнопки в форме:
1. Делаем  OpenRecordset из таблицы "Состав продукта"
2. Создаем переменную p по полю формы "Продукт"
3. Цикл: проходим по Recordset и если поле Продукт Recordset-а = переменной р, берем из Recordset-а значение Компонента и делаем запись новой строчки в таблицу "Операции" .

Не пойму как делать новые записи в таблицу "Операции". SetValue ? Как "переходить на новую строку" ?

(код пока до OpenRecordset - выкладывать нечего -важен принцип)
Может в цикле при совпадении открывать дополнительную форму (она уже на New), копировать в нее из данной формы нужные данные, сохранять, закрывать. при новом совпадении заного открывать.

Автор: Akina 28.11.2010, 12:20
Зачем хранить вычисляемые (переопределённые) данные?

Автор: ravitex 28.11.2010, 12:54
Есть состав продукта, есть компоненты, юзер должен ввести продукты - его не интересуют компоненты. Но есть второй юзер, который из другой формы вводит именно компоненты, поступившие для производства продуктов. Поэтому мне кажется, что операции должны быть только для компонентов.

Не - это наверное неправильно. Должна быть таблица со сделанными  продуктами и таблица с поступившими компонентами. По первой можно найти израсходованные компоненты. И потом общий запрос.

Автор: Akina 28.11.2010, 21:41
Цитата(ravitex @  28.11.2010,  13:54 Найти цитируемый пост)
юзер должен ввести продукты - его не интересуют компоненты

Пусть вводит.

Цитата(ravitex @  28.11.2010,  13:54 Найти цитируемый пост)
юзер, который из другой формы вводит именно компоненты, поступившие для производства продуктов.

Пусть вводит.

Цитата(ravitex @  28.11.2010,  13:54 Найти цитируемый пост)
Должна быть таблица со сделанными  продуктами и таблица с поступившими компонентами. По первой можно найти израсходованные компоненты.

угу.

Правда, мне непонятно, как связаны между собой действия юзеров.

Автор: ravitex 28.11.2010, 22:13
Цитата(Akina @ 28.11.2010,  21:41)
Правда, мне непонятно, как связаны между собой действия юзеров.

Первый - рабочий станков, который каждый день вводит инфо о сделанной Продукции (он имеет дело только с первой формой ввода)
Второй - начальник, который следит за остатком Компонентов на складе и время от времени заказывает новые Компоненты, и вводит поступившие на склад Компоненты.

Автор: Akina 29.11.2010, 08:54
Ну соответственно есть, скажем, остатки на начало дня. Или недели. Иди там года. Есть выпуск продукции за этот период. Есть нормы расхода. Из них элементарно считается, что должно оставаться на складе. Этого достаточно для того, чтобы сделать заказ на пополнение склада. А если расчётный остаток не сходится с фактом - это отдельная ситуация... разбирательство, само собой... а для учёта такой неплановой убыли введёшь специальную операцию. Назови её, скажем, "списание непонятно куда утраченных компонентов".

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)