|
0 / 0 / 0
Регистрация: 17.01.2020
Сообщений: 18
|
|
Автокоррекция значений в одной таблице при добавлении записи в другую17.01.2020, 14:58. Показов 9435. Ответов 51
Привет всем.
Основной вопрос вот какой. У меня есть таблица наличия товаров, и таблица продаж. Хочется сразу после добавления новой продажи, автоматически уменьшать количество товаров в наличии. При этом я совершенно не понимаю что делать если вдруг, допустим продавец ошибся при заполнении, и заполнил что продал 3 единицы товара, вместо скажем 2, а потом исправит на 2. Получится, что количество в наличии сначала должно уменьшиться на 3, после добавления новой записи, а потом должно будет увеличится на 1, после исправления продавцом. В общем весьма странная логика получается.... Я так понимаю нужен VBA и на евенты куда то хендлеры навешивать. И второй вопрос, возможно ли принять поля от формы, сформировать из них данные, сгруппировать их как-то и распихать по разным таблицам? Я так понимаю это только VBA возможно? Если да, то может есть пример как это делать? Использую ms Access 2016.
0
|
|
| 17.01.2020, 14:58 | |
|
Ответы с готовыми решениями:
51
Ошибка запроса при добавлении записи из одной таблицы в другую |
|
7459 / 4592 / 302
Регистрация: 12.08.2011
Сообщений: 14,380
|
|
| 17.01.2020, 15:21 | |
|
В любом учёте всегда есть поступление и списание, либо вы их храните в одной таблице с разным типом операции (поступление/списание), либо вы храните данные в двух таблицах - поступление и списание. Никакие остатки никогда не хранятся в системах учёта, остатки рассчитываются: приход - расход = остаток.
Это всё независимо от программного продукта, которым вы пользуетесь. Можете вообще пользоваться тетрадкой в клеточку.
0
|
|
|
9127 / 6127 / 593
Регистрация: 27.03.2013
Сообщений: 19,969
|
|
| 17.01.2020, 15:33 | |
|
alvk, хотелось бы уточнить некоторую неясность.
А остатки расчитываются прям в таблице или всё-таки в запросе?
0
|
|
|
0 / 0 / 0
Регистрация: 17.01.2020
Сообщений: 18
|
|
| 17.01.2020, 15:45 [ТС] | |
|
остатки рассчитываются: приход - расход = остаток.
Боюсь что в случае супермаркета детальная таблица расхода (каждая покупка), будет очень большой, и как результат будут жёсткие тормоза, при попытке найти разницу. И все-таки, решаема ли задача с корректировкой?
0
|
|
|
9127 / 6127 / 593
Регистрация: 27.03.2013
Сообщений: 19,969
|
|||
| 17.01.2020, 17:14 | |||
Сообщение было отмечено misterx527 как решение
Решение![]() Ну да ладно. Пока Алвик спит и видит первый сон у себя в час ночи, немного подсоблю на примере, а то вы свой то не выложили. Вот нашел у себя в закромах и сусеках старенький примерчик. Попробуйте с ним поработать, повводить данные, вникнуть и осознать логику работы БД и почему так делается, а не этак. А с утра, отдохнувший и выспавшийся Алвик, вам скорее всего, что то посоветует.
0
|
|||
|
7459 / 4592 / 302
Регистрация: 12.08.2011
Сообщений: 14,380
|
|||
| 17.01.2020, 17:24 | |||
|
Добавлено через 6 минут Кстати можно хранить остатки в отдельной таблице на начало месяца и в расчётах использовать её. Тогда даже на Celeron 333 тормозить не будет. Добавлено через 4 минуты И последний вопрос: кому нужно видеть ежедневно остатки по всем товарам сразу?
0
|
|||
|
9127 / 6127 / 593
Регистрация: 27.03.2013
Сообщений: 19,969
|
|
| 17.01.2020, 17:30 | |
|
alvk, про запрос с расчетом не было ни слова, вот и предположил, что ты его просто подразумевал как само собой разумеющееся и упоминание в суе про него, не заслуживает внимания, но нам начинающим, обычно нужно что бы раздевали и в рот положили.
И как видимо был прав, ибо ответ ТСа, весьма забавен и про запросы он похоже даже не слышал ни когда.
0
|
|
|
17536 / 7288 / 1663
Регистрация: 21.06.2012
Сообщений: 13,957
|
|
| 17.01.2020, 17:41 | |
|
Расчет запросом остатков всех товаров на миллионе записей около минуты. При таком времени нет гарантий, что рассчитанный остаток будет истинным (записи после расчета могли быть добавлены/удалены/изменены другим пользователем). В реальных системах надежнее хранить остатки в отдельной таблице и использовать функции с использованием SEEK. Пример такой функции здесь Автоматическое изменение количества в одной таблице при выборе позиции из другой таблицы.
0
|
|
|
0 / 0 / 0
Регистрация: 17.01.2020
Сообщений: 18
|
||||||||
| 17.01.2020, 19:30 [ТС] | ||||||||
|
за движение товара отдельное спасибо, посмотрю. Представьте, что вы идёте в супермаркет. Покупаете молоко, хлеб, яйца, мороженное, минеральную воду, жвачку. Каждая из этих позиций - это запись в таблице покупок. Поэтому только на одного человека было потрачено 6 записей в таблице. Пусть в магазине 4 кассы и среднее время обслуживания клиентов 1 мин. Допустим работает магазин с 8 до 20:00. Итого имеем 6*4кассы*60мин*12часов = 17280 записей в день. это около полумиллиона в месяц. Это по очень грубым прикидкам. Может это и не беда. Не знаю. Поэтому я здесь ![]() ![]() Хотелось бы сказать, что проект некоммерческий, это мой курсовой, поэтому интересны любые теоретические изыскания. Добавлено через 8 минут
0
|
||||||||
|
7459 / 4592 / 302
Регистрация: 12.08.2011
Сообщений: 14,380
|
||||
| 18.01.2020, 05:41 | ||||
|
кому нужно видеть ежедневно остатки по всем товарам сразу? Я считаю, что таких людей в природе нет, пусть один-два, ну страница хотя бы, но чтобы тысячи! Если речь идёт о крупном супермаркете, то у него явно не тарантайка из 1999 года, а полноценный сервер, расчёт несольких миллионов записей = 4 секунды.
0
|
||||
|
0 / 0 / 0
Регистрация: 17.01.2020
Сообщений: 18
|
|
| 18.01.2020, 09:04 [ТС] | |
|
0
|
|
|
7459 / 4592 / 302
Регистрация: 12.08.2011
Сообщений: 14,380
|
|||
| 18.01.2020, 11:58 | |||
|
0
|
|||
|
0 / 0 / 0
Регистрация: 17.01.2020
Сообщений: 18
|
||
| 18.01.2020, 12:37 [ТС] | ||
|
0
|
||
|
Модератор
6231 / 2909 / 707
Регистрация: 12.06.2016
Сообщений: 7,839
|
|||||||
| 18.01.2020, 13:20 | |||||||
Сообщение было отмечено misterx527 как решение
РешениеЭта разница может быть и отрицательной. Имена здесь русские, чтобы долго не объяснять.
0
|
|||||||
|
9127 / 6127 / 593
Регистрация: 27.03.2013
Сообщений: 19,969
|
|
| 18.01.2020, 13:28 | |
|
misterx527, пока вы не пересилите себя и не начнёте делать реальную БД, а будете только теории всякие с предположениями строить, то так и не сможете понять, как это делается, ибо тут нужно кроме мозга и ручками поработать.
Скоро вторая страница пойдет, а воз и ныне там.
1
|
|
|
12058 / 5843 / 1492
Регистрация: 05.10.2016
Сообщений: 16,432
|
||
| 18.01.2020, 13:39 | ||
|
01. Форма просмотра документа продажи (поступления) - Далее "ФП". 02. Форма редакции документа продажи (поступления)- Далее "ФР". ... дальше так: При переходе ФР -> ФП производим списание содержимого документа со склада .... При открытии ФР - возвращаем товар всё содержимое на склад - как будто документа и не было. Всё. ... и никакой путаницы.
0
|
||
|
7459 / 4592 / 302
Регистрация: 12.08.2011
Сообщений: 14,380
|
||
| 18.01.2020, 14:46 | ||
|
0
|
||
|
0 / 0 / 0
Регистрация: 17.01.2020
Сообщений: 18
|
|||||
| 21.01.2020, 05:15 [ТС] | |||||
|
Спасибо всем, все получилось. Сделал через запрос как разность прихода и расхода. Спасибо, Пух, за пример базы, помогла.
Добавлено через 5 минут
0
|
|||||
|
Мы один, давай на "ты"
3836 / 1382 / 343
Регистрация: 16.06.2016
Сообщений: 3,273
|
|
| 21.01.2020, 06:16 | |
Сообщение было отмечено misterx527 как решение
Решение
0
|
|
|
7459 / 4592 / 302
Регистрация: 12.08.2011
Сообщений: 14,380
|
|
| 21.01.2020, 06:19 | |
|
0
|
|
| 21.01.2020, 06:19 | |
|
Помогаю со студенческими работами здесь
20
MS Sql: при добавлении новой записи, информация из первой записи в таблице исчезает Как из одной формы перенести данные в другую форму при добавлении?
При добавлении новой записи, обновлять данные в другой таблице
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/
O1rJuneU_ls
https:/ / vkvideo. ru/ video-115721503_456239114
|
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ВВЕДЕНИЕ
Введу сокращения:
аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
|
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi
ветка по-частям.
коммит Create переделка под биомассу. txt
вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
|
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ *
Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях.
Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её.
Последовательность действий:. . .
|
|
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
|
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение.
И на уровне агентов добавится между грибами или бактериями взаимодействий.
До того я пробовал подход через многомерные массивы,. . .
|
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Налог на собак: https:/ / **********/ gallery/ V06K53e
Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf
Пост отсюда. . .
|
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop?
Ниже её машинный перевод.
После долгих разбирательств я наконец-то вернула себе. . .
|