- У меня есть таблица StockMovements, которая записывает все движения моих продуктов. Он имеет поле под названием «Статус», которое может иметь либо значение Продано, либо приобретено, количество и продукт (есть еще несколько, но arent важно сейчас).
- Я сделал запрос, чтобы взять все продукты со статусом «Приобретенные» и взять количество и назвать его Приобретенные продукты (из таблицы StockMovements). Я просто суммировал количество и получил купленное количество для каждого продукта (названное полем «Купленный»).
- Я сделал еще один запрос, все равно только с статусом Проданного.
- После того, как я сделал новый запрос с именем Stock. Его построенный из таблицы Продукты и 2 вопроса, упомянутых выше. Требуется prodict_ID и имя продукта из таблицы Продукт, приобретенное поле от первого запроса и поле Продано от второго запроса, а затем окончательное поле , не связанное с каким-либо из вышеперечисленных, но вычислением. Именованно это ДоступноКоличество и добавлено к нему с помощью конструктора выражений = [Куплено] - [Продано].
- Теперь, когда я запускаю запрос, он отлично работает, кроме одного. Когда у меня есть определенное количество приобретенного продукта, которое я продал до , кто-нибудь еще (даже не 1 шт.) Он не хочет появляться в запросе.
- Я хочу, чтобы продукт отображался в запросе и что доступное количество является приобретенным количеством. Поэтому как-то пропустить значение Продано , если оно 0, и просто записать количество Приобретенное в это поле.
0
A
ответ
0
Если у вас нет проданного количества, ваша сумма эффективно становится покупкой-нулевым, что не приведет к ответу.
Вы должны разрешить нули, используя [Приобретенный] - (Nz ([Продано], 0)), который заставит нуль в вычислении.
0
Я зашел в SQL-представление и изменил INNER JOIN, чтобы ПРАВИЛЬНОЕ СОЕДИНЕНИЕ, он выполнил эту работу.
SELECT tblProduct.Product_ID, tblProduct.ProductName, Nz([Purchased],0) AS
PurchasedQuantity, Nz([Sold],0) AS SoldQuantity, [PurchasedQuantity]-(Nz([SoldQuantity],0))
AS [Available] FROM qrySoldProducts RIGHT JOIN (qryPurchasedProducts RIGHT JOIN
tblProduct ON qryPurchasedProducts.Product_ID = tblProduct.Product_ID) ON
qrySoldProducts.Product_ID = tblProduct.Product_ID;
Спасибо за ответ. Я попробовал, но он все равно не хочет его показывать, однако расчет все еще работает хорошо, поэтому я предполагаю, что функция в порядке. –
Есть ли способ написать в критериях для product_ID, чтобы показать им все, что бы ни случилось? –