0 / 0 / 0
Регистрация: 21.03.2013
Сообщений: 7
|
|
1 | |
Проверка остатков и вывод ошибки21.03.2013, 13:06. Показов 4501. Ответов 25
Метки нет (Все метки)
Добрый день, я уверена, что подобные вопросы уже были, но не знаю, как правильно ввести запрос, не могу найти нужную информацию.
Задача: не продать товара больше, чем есть на складе. При вводе большего количества - вывести ошибку и отменить сохранение записи в таблицу. Возможно, механизм учета движения товара не очень правильный-украла его на каком-то форуме. БД прилагаю. Если есть подобные решения прошу не ругаться, а приложить ссылочку
0
|
21.03.2013, 13:06 | |
Ответы с готовыми решениями:
25
Проектирование реляционной БД и ее нормализация. Проверка на ошибки. Запрос. Проверка полей таблицы на ошибки Проверка данных списка и вывод ошибки Меню.Ввод-вывод.Проверка на ошибки ввода |
Модератор
|
|
21.03.2013, 13:58 | 2 |
не очень правильный-
остат=dsum(поступление......)-dsum(продажа...........) и сравнивать набитое значение с трафаретом не помню точный синтаксис скобок
1
|
0 / 0 / 0
Регистрация: 21.03.2013
Сообщений: 7
|
|
22.03.2013, 00:02 [ТС] | 3 |
0
|
0 / 0 / 0
Регистрация: 21.03.2013
Сообщений: 7
|
|
23.03.2013, 14:43 [ТС] | 4 |
+++
0
|
17536 / 7288 / 1663
Регистрация: 21.06.2012
Сообщений: 13,957
|
||||||
23.03.2013, 15:24 | 5 | |||||
Добавьте в форму "подчиненная форма Продажа_Товар" процедуру обработки события
1
|
0 / 0 / 0
Регистрация: 21.03.2013
Сообщений: 7
|
|
23.03.2013, 20:56 [ТС] | 6 |
ltv_1953, спасибо, но так он выдает ошибку даже если количество меньше, чем остаток на складе, может я что-то не так сделала?
0
|
17536 / 7288 / 1663
Регистрация: 21.06.2012
Сообщений: 13,957
|
||||||
23.03.2013, 21:43 | 7 | |||||
Да, он проверял не тот запрос. Мои извинения. Поставьте такой код, там еще добавлена проверка не только на ввод нового расхода, но и изменения количества (точнее, его увеличения).
1
|
0 / 0 / 0
Регистрация: 21.03.2013
Сообщений: 7
|
|
24.03.2013, 16:59 [ТС] | 8 |
ltv_1953, при увеличении расхода он выдавал ошибку, но число не менялось.
Добавила в конце второго условия Cancel = True, мало ли, кому понадобится. Все получилось, благодарю!
0
|
17536 / 7288 / 1663
Регистрация: 21.06.2012
Сообщений: 13,957
|
|
24.03.2013, 17:07 | 9 |
Ну и хорошо. Только имейте ввиду - эта схема только для одного пользователя.
0
|
0 / 0 / 0
Регистрация: 21.03.2013
Сообщений: 7
|
|
25.03.2013, 11:04 [ТС] | 10 |
ltv_1953, ну, мне это подходит
А чем будет отличаться, если много пользователей. Можно на словах просто, для общего развития
0
|
17536 / 7288 / 1663
Регистрация: 21.06.2012
Сообщений: 13,957
|
|
25.03.2013, 11:24 | 11 |
Может случится так, что два пользователя "одновременно" забирают 10 штук из остатка 10 штук. В момент проверки их записи еще не сохранена, поэтому в запросе они оба видят 10 штук, оба забирают и когда записи их сохранятся, получится остаток -10 штук.
1
|
0 / 0 / 0
Регистрация: 21.03.2013
Сообщений: 7
|
|
01.04.2013, 13:32 [ТС] | 12 |
ltv_1953, ясно,спасибо
0
|
1 / 1 / 1
Регистрация: 11.11.2013
Сообщений: 103
|
|
08.12.2013, 16:39 | 13 |
ltv_1953, можете расшифровать свой код?
надо сделать чтоб количество Расходов материалов в месяц не превышало количество, которое есть на складе Практика.rar
0
|
1 / 1 / 1
Регистрация: 11.11.2013
Сообщений: 103
|
||||||
08.12.2013, 16:53 | 14 | |||||
0
|
17536 / 7288 / 1663
Регистрация: 21.06.2012
Сообщений: 13,957
|
|
08.12.2013, 17:02 | 15 |
Не так, нужно чтобы при любом Расходе наличие не становилось отрицательным. Месяц здесь не при чем. Делаете запрос, который считает текущие остатки. А потом процедуру, в форме Расходов, которая не позволяет расходовать товар в минус. В приведенной процедуре нужно заменить в DLookup запрос на свой и поля свои указать везде. Все. Запрос не тот, который есть, нужно другой сделать, без дат - который определяет текущий остаток. И о втором Cancel = True не забудьте.
0
|
1 / 1 / 1
Регистрация: 11.11.2013
Сообщений: 103
|
|||||||||||
09.12.2013, 18:40 | 16 | ||||||||||
ltv_1953,
Запрос OSt_Pr_ считает остатки
Добавлено через 22 часа 55 минут ltv_1953, Расскажите синтаксис этой строки : If Me.Продажа_Товар_Количество > Nz(DLookup("Количество", "Движение товаров", "Артикул_тов Like " & Me.Артикул_тов), 0) Then Добавлено через 1 час 0 минут Создал новый запрос Остаток, в который считает количество без дат, в нём поля: id_mater_ (Групповая операция: группировка) и Sum-count_ (Групповая операция: Sum) интересует такой вопрос - Откуда взято название Продажа_Товар_Количество и везде где оно встречается: Private Sub Продажа_Товар_Количество_BeforeUpdate Добавлено через 1 час 29 минут Народ, помогите с такой проблемой написал код на проверку
Run-time error '2471' Введенное в качестве параметра запроса выражение вызывает ошибку: [Sum-count_rash]
0
|
17536 / 7288 / 1663
Регистрация: 21.06.2012
Сообщений: 13,957
|
||||||
09.12.2013, 18:55 | 17 | |||||
Если база старая. то
1
|
1 / 1 / 1
Регистрация: 11.11.2013
Сообщений: 103
|
|
10.12.2013, 14:02 | 20 |
не поверите, пробовал и так - менялось текст ошибки и ничего не изменялось))
Добавлено через 4 минуты о, заработала всего-то надо было: взять ране сохраненную базу, заново прописать код, и таки да, изменить [Sum-count_rash] на [Sum-count_], глючный access спасибо за помощь Добавлено через 47 минут Всё было бы хорошо если не следующее: Удалил все расходы, т.к. много отрицательных значений, добавил парочку, Например: приход по коду 2345540 составил 3 ед, расход 1, т.е. Остаток = 2. Далее запускаю Форму Расход, ввожу код и ввожу количество начиная с начало 1, 2 и тд.. по идеи на 3 уже должно сработать условие и выдать ошибку, но ничего подобного.. срабатывает условие аж на количестве =11, так проверял на нескольких материалах. Кто-то знает как это "называется" и что с ним делать? Добавлено через 15 часов 52 минуты Даже если количество материала скажем 15, то всё равно при вводе больше 11 выдаёт ошибку Добавлено через 37 минут думал может в DLookup поменять в условии id_mater_rash на id_mater_ потому что у меня в запросе Остаток именно так называется поле, но в этом случае выдаёт ошибку при вводе: Method or data member not found
0
|
10.12.2013, 14:02 | |
10.12.2013, 14:02 | |
Помогаю со студенческими работами здесь
20
Проверка наличия на складе остатков товара Остаток -> Резерв. Проверка остатков в регистре накоплений вывод остатков Вывод остатков в номенклатуре по местам хранения Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи | |||||
Счётчик на базе сумматоров + регистров и генератора сигналов согласования.
Hrethgir 07.01.2025
Создан с целью проверки скорости асинхронной логики: ранее описанного сумматора и предополагаемых fast регистров. Регистры созданы на базе ранее описанного, предполагаемого fast триггера. То-есть. . .
|
Как перейти с Options API на Composition API в Vue.js
BasicMan 06.01.2025
Почему переход на Composition API актуален
В мире современной веб-разработки фреймворк Vue. js продолжает эволюционировать, предлагая разработчикам все более совершенные инструменты для создания. . .
|
Архитектура современных процессоров
inter-admin 06.01.2025
Процессор (центральный процессор, ЦП) является основным вычислительным устройством компьютера, которое выполняет обработку данных и управляет работой всех остальных компонентов системы. Архитектура. . .
|
История создания реляционной модели баз данных, правила Кодда
Programming 06.01.2025
Предпосылки создания реляционной модели
В конце 1960-х годов компьютерная индустрия столкнулась с серьезными проблемами в области управления данными. Существовавшие на тот момент модели данных -. . .
|
Полезные поделки на Arduino, которые можно сделать самому
raxper 06.01.2025
Arduino как платформа для творчества
Arduino представляет собой удивительную платформу для технического творчества, которая открывает безграничные возможности для создания уникальных проектов. Эта. . .
|
Подборка решений задач на Python
IT_Exp 06.01.2025
Целью данной подборки является предоставление возможности ознакомиться с различными задачами и их решениями на Python, что может быть полезно как для начинающих, так и для опытных программистов.
. . .
|
С чего начать программировать микроконтроллеры
raxper 06.01.2025
Введение в мир микроконтроллеров
Микроконтроллеры стали неотъемлемой частью современного мира, окружая нас повсюду: от простых бытовых приборов до сложных промышленных систем. Эти маленькие. . .
|
Из чего собрать игровой компьютер
inter-admin 06.01.2025
Сборка игрового компьютера требует особого внимания к выбору комплектующих и их совместимости. Правильно собранный игровой ПК не только обеспечивает комфортный геймплей в современных играх, но и. . .
|
Обновление сайта www.historian.by
Reglage 05.01.2025
Обещал подвести итоги 2024 года для сайта. Однако начну с того, что изменилось за неделю. Добавил краткий урок по последовательности действий при анализе вредоносных файлов и значительно улучшил урок. . .
|
Как использовать GraphQL в C# с HotChocolate
Programming 05.01.2025
GraphQL — это современный подход к разработке API, который позволяет клиентам запрашивать только те данные, которые им необходимы. Это делает взаимодействие с API более гибким и эффективным по. . .
|
Модель полного двоичного сумматора с помощью логических операций (python)
AlexSky-coder 04.01.2025
def binSum(x:list, y:list):
s=^y]
p=x and y
for i in range(1,len(x)):
s. append((x^y)^p)
p=(x and y)or(p and (x or y))
return s
x=list()
y=list()
|
Это мы не проходили, это нам не задавали...(асихронный счётчик с управляющим сигналом зад
Hrethgir 04.01.2025
Асинхронный счётчик на сумматорах (шестиразрядный по числу диодов на плате, но наверное разрядов будет больше - восемь или шестнадцать, а диоды на старшие), так как триггеры прошли тестирование и. . .
|