Добрый день.Доступ к использованию запроса в отчете
У меня есть приложение инвентаризации. Когда предмет перемещается в производство, для печати требуется билет с именем клиента и названием продукта. Я создал билет в качестве отчета. Я использовал следующий запрос в качестве источника записи в отчете, и он работает точно так, как я хочу.
SELECT [PkgSize] & " " & [PkgUnit] AS Pkg, tblProducts.ProductID, tblProducts.ProductPrintName,
tblProducts.Grade, tblCustomers.CompanyName, tblOrderDetails.ODEPriority
FROM tblCustomers INNER JOIN (tblOrders INNER JOIN (tblProducts INNER JOIN tblOrderDetails
ON tblProducts.ProductID = tblOrderDetails.ODEProductFK)
ON tblOrders.ORDOrderID = tblOrderDetails.ODEOrderID)
ON tblCustomers.ID = tblOrders.ORDCustomerID
WHERE (((tblProducts.ProductID)=[Forms]![frmInventoryTransfers]![cboTransferProductID])
AND ((tblOrderDetails.ODEPriority)=1)
AND (([tblOrderDetails]![ODEQtyOrdered]-[tblOrderDetails]![ODEQtyProduced])>"0"));
Отчет открыт следующим:
DoCmd.OpenReport "rptProductPaperLabelTCTRlogo", acViewPreview
То, что я хочу сделать, это переместить запрос в мою процедуру, потому что мне нужно изменить значение некоторых элементов. Например, мне нужно будет изменить ODEPriority на другое число, например 2 или 3, то есть изменить его на переменную. Это вызовет изменение ORDERustomerID, но не ProductID.
Я создал строку из запроса и попытался
DoCmd.OpenReport "rptProductPaperLabelTCTRlogo", acViewPreview, , , , Qstring
, но я получаю #name? во всех текстовых полях. (Я сначала удалил запрос из источника записи в отчете.)
Я попытался использовать querydef, но не могу получить синтаксис правильно.
Может кто-нибудь помочь мне в том, как переместить запрос в процедуру, чтобы сделать отчет динамичным.
Благодаря
Благодаря Андре. В строке я изменил ее на> 0, но, похоже, она работает в запросе как> «0». Я тоже изменю его там. В противном случае ваше предложение отлично работало. Большое спасибо. Я не мог найти ответ нигде. –
@LesProgrammer: Да, доступ довольно снисходителен к этим вещам и часто автоматически преобразует числа в строки и наоборот по мере необходимости. Но все же вы вычисляете число (разницу), поэтому вам следует сравнить его с числом. :) – Andre