是否可以让用户输入希望打印到表单上的所需页数,并能够在每页上打印“ Y的X页”?
我有一个小型的货运标签应用程序,要求为任何给定的货运打印动态数量的标签,并由用户输入。
用于标签信息的数据是从以下存储过程中返回的
SELECT C1.CompanyName,
C1.Address1,
C1.Address2,
C1.City,
C1.Province,
C1.PostalCode,
C2.CustomerName,
C2.ShippingAddress1,
C2.ShippingAddress2,
C2.ShippingAddress3,
C2.ShippingAddress4,
C2.City,
C2.Province,
C2.PostalCode
FROM MyCompany_tb C1,
Customer_tb C2
WHERE C2.CustomerID = @CUSTOMER_ID
AND C2.InvoiceNumber = @INVOICE_NUMBER
这将产生一个包含我公司的“退货地址”信息(C1)并将其与客户的运送信息(C2)配对的记录。获得的标签 打印出来的内容需要根据用户输入的值打印出“ 3个方框1”,“ 3个方框2”等。
我找到了this article,但我希望这样做而不在Access中创建“临时表”。这样可能吗?
答案 0 :(得分:0)
您需要一个附加表,但它可以是一个简单的number table,其中一个LongInt列ID
的编号为1..n
然后使用笛卡尔积获取所需的记录数。
在VBA中:
' lngNumRecords is the number entered by the user
TempVars.Add "NumRecords", lngNumRecords
查询:
SELECT YourQuery.*, "Box " & [tblNumbers].[ID] & " of " & [TempVars]![NumRecords] AS BoxNo
FROM YourQuery, tblNumbers
WHERE tblNumbers.ID <= [TempVars]![NumRecords]
没有JOIN,因此您可以将主记录复制到指定ID的次数。
这假设YourQuery
仅返回一条记录。