1

我有一个仓储数据库,它使用“ShipRefs”(在表单上标记为货件)字段将物品与特定货件相关联。我现在正在创建一个发票表格,以便为该客户每月每次发货生成账单。我可以通过组合框根据客户选择货件,但我无法根据这些货件是否已按月计费来过滤这些货件。在此处输入图像描述

确定货件是否已为当月计费并仅在组合框中显示未计费的货件的最佳方法是什么?(请注意“最后一个账单日期”字段是一个失败的尝试)数据:

在此处输入图像描述

查询货件组合框行来源:

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));
4

1 回答 1

1

从你的回复...

我只想要不属于当月的记录,是的,只想要发票日期为空的记录

我认为DateSerial()在这里确定目标日期应该很有用。这是一个立即窗口示例:

? DateSerial(Year(Date()), Month(Date()), 1)
9/1/2015 

? DateSerial(Year(Date()), Month(Date()) + 1, 1)
10/1/2015 

这是一个使用这些表达式的查询,并将结果集限制为发票日期为空DateSerial的那些行:

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)
        );
于 2015-09-01T13:47:04.430 回答