我有一个仓库数据库,它使用"ShipRefs“(在表单上标记为form)字段将项目与特定的货件关联起来。我现在正在创建一个发票表格,以便为该客户每个月的货件生成一份账单。我可以通过一个组合框选择基于客户的货件,但如果这些货件是一个月的账单,我就不能过滤这些货件。

什么是最好的方法来确定一批货物是否已经为本月开单,并且只显示那些没有在组合框中开单的货物?(请注意,“最后一个Billdate”字段在此尝试失败)数据:

查询托运组合框行源:
SELECT DISTINCT ItemList.ShipRef, ItemList.CRef, InvoiceData.[Last Billdate]
FROM ItemList AS ItemList_1, ItemList INNER JOIN InvoiceData ON ItemList.ShipRef = InvoiceData.Shipment
WHERE (((ItemList.CRef)=[Forms]![InvoiceData]![Customer]) AND ((InvoiceData.[Last Billdate])>=Date()-30));发布于 2015-09-01 13:47:04
从你的回应..。
我只想要不属于当前月份的记录,只有发票日期为空的记录。
我认为DateSerial()在确定目标日期方面应该是有用的。下面是一个即时窗口示例:
? DateSerial(Year(Date()), Month(Date()), 1)
9/1/2015
? DateSerial(Year(Date()), Month(Date()) + 1, 1)
10/1/2015 下面是一个使用这些DateSerial表达式的查询,并将结果集限制为发票日期为Null的行:
SELECT id.*
FROM InvoiceData AS id
WHERE
id.[Invoice Date] Is Null
And
(
id.[Last BillDate] < DateSerial(Year(Date()), Month(Date()), 1)
Or id.[Last BillDate] >= DateSerial(Year(Date()), Month(Date()) + 1, 1)
);https://stackoverflow.com/questions/32332521
复制相似问题