Форум программистов, компьютерный форум, киберфорум
Microsoft Access
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/15: Рейтинг темы: голосов - 15, средняя оценка - 4.60
 Аватар для Ameli
2096 / 1172 / 39
Регистрация: 05.11.2009
Сообщений: 1,605

При вводе продаж проверять наличие товара

11.05.2010, 21:10. Показов 3088. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть:
1. таблица "Приход товара" - код товара, кол-о
2. таблица "Продажи" - код товара, кол-о
Они должны быть отдельно по заданию
3. таблица "Цены" - код товара, наименование, ед.измер, цена
4. Сделала запрос, в котором считаются остатки (суммарный приход - суммарная продажа, сгруппировано по коду товара)
Надо сделать, чтобы в форме "Продажи" при вводе количества проданного товара проверялось наличие на складе и выводилось сообщение в случае отсутствия.
Если связать в один запрос "продажи" и "остатки", то в него нельзя будет добавлять новые данные, что не есть гуд. Я себе это так представляла: поставить условие на значение для поля "кол-о проданного" < остатков. Только как к нему обратиться?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
11.05.2010, 21:10
Ответы с готовыми решениями:

Вывод в форму цены товара автоматически при вводе названия товара
Уважаемые! У меня большая просьба помочь в конкретной задачи: Создаю форму Аццес, При заполнении формы я должен занести наименование...

При вводе слова в TextBox, проверять наличие введенного слова в списке из текстового файла
Здравствуйте! У меня подготовлен список ссылок в файле 123.txt В списке допустим 3 ссылки: 123.com 66.ru cc.net Когда...

Написать процедуру или функцию, позволяющую проверять при вводе массив
Вводится массив. Если пользователем будет введено не число, а символ, то нужно снова запросить ввод элемента.

5
 Аватар для ironegg
1905 / 782 / 31
Регистрация: 11.02.2010
Сообщений: 1,567
12.05.2010, 05:52
я так понял, проблема узнать, сколько товара на складе. проще всего это сделать в скрытом поле. если это не желательно, попробуй так
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
Dim r As DAO.Recordset
b = 2
Set r = CurrentDb.OpenRecordset("SELECT Sum(ïðèõîä.êîëâîïðèõîäà) FROM ïðèõîä GROUP BY ïðèõîä.êîäòîâàðà HAVING (((ïðèõîä.êîäòîâàðà)=" & b & "))")
varArray = r.GetRows(1)
c = varArray(0, 0)
 
Set r = CurrentDb.OpenRecordset("SELECT Sum(ïðîäàæè.êîëâîïðîäàæè) AS [Sum-êîëâîïðîäàæè] FROM ïðîäàæè GROUP BY ïðîäàæè.êîäòîâàðà HAVING (((ïðîäàæè.êîäòîâàðà)=" & b & "))")
varArray = r.GetRows(1)
d = varArray(0, 0)
 
MsgBox "îñòàòîê òîâàðà № " & b & " - " & c - d
2
 Аватар для Ameli
2096 / 1172 / 39
Регистрация: 05.11.2009
Сообщений: 1,605
12.05.2010, 12:04  [ТС]
Спасибо за подсказку о скрытом поле, так просто, все получилось!
0
 Аватар для Ameli
2096 / 1172 / 39
Регистрация: 05.11.2009
Сообщений: 1,605
12.05.2010, 16:30  [ТС]
Получилось, да не все...
Я хочу прикрепить базу, чтоб ты глянул одним глазком, поэтому вкратце расскажу.
Таблицы:
1 "справочник групп товаров" - номер группы, наименование
2 "ценник" - код товара, наименование, код группы, цена, ед. измер-я
3 "накладные" - это по принятому товару. По каждой накладной может быть несколько разных товаров
4 "Товар по накладным" - номер накладной, код товара, кол-о
5 "Чеки" - для продаж, по каждому чеку может быть несколько товаров.
6 "Продажи" - номер чека, код товара, кол-о
Запрос, в котором подсчитывается сколько осталось товара (объединены таблицы принятый товар и проданный, сгруппировано по коду товара, подсчитаны суммарное кол-о принятого и проданного и их разница - сколько осталось.
Задача такая была: при вводе кол-а проданного товара на форме, проверять есть ли товар в наличии и если нет, выводить сообщение.
На основе этого запроса - форма "Подсчет сколько осталось товара"
При загрузке подчиненной формы продажи, открывается форма "Подсчет остатков"
Для каждой текущей записи подчинной формы, а также при обновлении кода товара выполняется фильтрация формы "Подсчет остатков" по текущему коду товара и в скрытое поле "Остаток" вставляеся остаток. Для кол-а проданного стоит условие < остатка.
Все работает для текущего открытого чека, а при переходе на сдедующий ругается и выкидывает с базы. Ничего не понимаю, что не так???
Это база для студента, поэтому все надо макросами, без vba и sql
Вложения
Тип файла: rar Учет продаж продов товаров.rar (34.4 Кб, 173 просмотров)
0
 Аватар для ironegg
1905 / 782 / 31
Регистрация: 11.02.2010
Сообщений: 1,567
13.05.2010, 05:40
посмотрел одним глазком. похоже, проблема возникает при выполнении макроса "проверкаостатков". (команда "удалить фильтр" в нем кажется излишней). при переходе к новому чеку, этот макрос вызывается, почему то, дважды. и на втором проходе при выполнении команды "применить фильтр" возникает критическая ошибка.
из меня, в данном случае, помощник плохой, так как я не владею способами отладки макросов. каких то новых идей реализации без VBA тоже пока нет
1
 Аватар для Ameli
2096 / 1172 / 39
Регистрация: 05.11.2009
Сообщений: 1,605
13.05.2010, 16:06  [ТС]
В общем пришлось убрать подчиненность форм, все работает. Глюкнутый немного аксес...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
13.05.2010, 16:06
Помогаю со студенческими работами здесь

Что нужно рассчитывать и или проверять при перемещении товара со склада на склад?
В задании требуется переместить товары с одного склада на другой и сделать отчет по перемещению товаров за период времени. Какой алгоритм...

Сохранение полученного кода в базе данных и каждый раз при вводе проверять его на уникальность
Вообщем я сейчас делаю сайт. Мне надо подключить оплату. Оплата у меня через активационные коды. Надо каждый раз сохранять полученный код в...

При выборе очередного товара в списке ввести в форме его цену и рассчитывать стоимость продаж
Программно создать список неповторяющихся товаров. При выборе очередного товара в списке ввести в форме его цену и рассчитывать стоимость...

Проверять наличие записи в таблице
Пожалуйста, помогите разобраться. К примеру, есть таблица &quot;Табл1&quot; в ней есть столбцы &quot;Поле1&quot;, &quot;Поле2&quot;. Как сделать...

Нужно проверять наличие файла по маске
Необходимо проверять наличие файла по маске пишу так int *fp; if ((fp = fopen('c:\autoexec.bat', 'r')) != NULL ) printf...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru