powered by simpleCommunicator - 2.0.55     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Построение запроса в макросе.
13 сообщений из 13, страница 1 из 1
Построение запроса в макросе.
    #39216813
slv177
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день

Создаю макрос, выполняемый по обновлению таблицы. Макрос привязан к таблице Log , в которой фиксируется факт списания товара такому-то покупателю и изменяет количество товара в таблице Ostatok, ведущей учет товара на складах . В изменяемой таблице Ostatok три поля: название склада, номенклатура товара и остаток.

Макрос работает, когда надо найти определенный товар в таблице Ostatok, без привязки к складу. Но когда добавляю условие со складом, получаю ошибку, что запрос не может быть выполнен, так как идентификатор sklad не находится.

Может быть дело в том, что данные sklad я пытаюсь получить не сразу из таблицы Log, а из привязанной через связи другой таблицы cо списком покупателей и складов?
...
Рейтинг: 0 / 0
Построение запроса в макросе.
    #39216967
Фотография Программист-Любитель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Неверный подход. Остаток вычисляется как поступления - выбытия.
...
Рейтинг: 0 / 0
Построение запроса в макросе.
    #39217919
slv177
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Программист-Любитель,

Подход может и не верный, но технический вопрос остается открытым.
...
Рейтинг: 0 / 0
Построение запроса в макросе.
    #39217950
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
slv177но технический вопрос остается открытым.

технический вопрос остаётся не заданным...
ни схемы данных, ни таблиц, ни связей...
...
Рейтинг: 0 / 0
Построение запроса в макросе.
    #39217991
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
slv177,
Программист-ЛюбительНеверный подход. Остаток вычисляется как поступления - выбытия. Не пытайтесь делать неправильно-даже если решить поставленную задачу, в дальнейшем, возникнут другие проблемы. Короче убирайте из БД таблицу Ostatok.Если желаете подробней-публикуйте схему данных. (И забывайте про макросы-это тупиковый путь-если хотите создавать что-то стоящее обратите свой взор в сторону VBA)
...
Рейтинг: 0 / 0
Построение запроса в макросе.
    #39218077
slv177
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
sdku, спасибо за совет.
Но все таки, если не хранить остатки в таблице и рассчитывать их при необходимости, то как быть, если журнал поступления-списания будет очень большим, а запросы на остатки на складе будут приходить часто? Не получится ли так, что экономичнее было бы хранить значения остатков?
...
Рейтинг: 0 / 0
Построение запроса в макросе.
    #39218293
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
slv177,
Поймите следующее: если у Вас в базе имеются все необходимые, для получения информации она в базе не хранится (например:цена кг. яблок 3 рубля-это данные, Вася купил 2 кг (данные) яблок,стоимость покупки составила 6 рублей (это уже информация 3*2=6). Пользуясь запросом Вы всегда будете иметь актуальную информацию.
Запуская запрос хоть тысячу раз-результат будет один и тот же (в отличии от человека железяка не ошибается)
...
Рейтинг: 0 / 0
Построение запроса в макросе.
    #39218298
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вдогонку: если при занесении в таблицу остатка допущена ошибка-все последующие записи
будут ошибочны
...
Рейтинг: 0 / 0
Построение запроса в макросе.
    #39218386
slv177
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
sdku, соглашусь.
тогда подскажите, если на форме заказа надо вывести остаток такой-то позиции на таком-то складе, то эти данные нужно пересчитывать? полагал, что проще было бы взять из таблицы.
...
Рейтинг: 0 / 0
Построение запроса в макросе.
    #39218517
D.B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
D.B
Гость
slv177sdku, соглашусь.
полагал, что проще было бы взять из таблицы.
Конечно проще взять из таблицы , никто же этого и не оспаривает. Куплено 10 ,продано 6 ,вот и получите остаток .
...
Рейтинг: 0 / 0
Построение запроса в макросе.
    #39218534
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
slv177,
дополните ф."движение" такой процедурой
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
Private Sub âûäàíî_BeforeUpdate(Cancel As Integer)
Dim ost
If Me.NewRecord Then
ost = DSum("прибыло-выдано", "движение", "товар=" & Me.товар)
If Me.выдано > ost Then
MsgBox "можно выдать " & ost
Cancel = True
Me.выдано.Undo
End If
End If
End Sub


-уберите в таблице значение по умолчанию (строка должна быть пустой)
-при нескольких складах нужно сохранить информацию куда приходуете и вычисляя остаток учитывать с какого склада выдаете (если одно и то же наименование может быть на разных складах)
...
Рейтинг: 0 / 0
Построение запроса в макросе.
    #39218537
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Прошу пардону, должно быть так:
Код: vbnet
1.
2.
Private Sub выдано_BeforeUpdate(Cancel As Integer)
.....
...
Рейтинг: 0 / 0
Построение запроса в макросе.
    #39219507
slv177
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
sdku,
спасибо большое. Смотрю на VBA в access теперь.
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Построение запроса в макросе.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]