问题描述
在我的项目中,我有一些订单,其中包含一定数量的小时数,这些小时数必须通过费率来开具发票,它们都存储在表格中。订单具有有效期自日期。所有订单都必须按有效价格在Order.TimeStamp之前的最后一个价位开票。
我尝试过的解决方案是:
OrderDate = DLookup("TimeStamp","Order","OrderID=" & ThisOrderID & ")
LastRateDate = DMAX ("ValidFrom","CompanyRate","CompanyID=" & ThisCompanyID & " AND ValidFrom <=" & OrderDate)
CompanyRate = DLookup ("Rate","CompanyID=" & ThisCompanyID & " AND "ValidFrom =" & LastRateDate)
这给出了几个不同的错误:
- 不带分号(按书面规定):缺少语法错误运算符。
- 具有单个分号'数据类型冲突
- 带有双分号“(chr(34))数据类型冲突
我使用德语计算机,德语为Windows和MS-Access语言。我运行MS-Access 2013
我该如何解决?
解决方法
尝试使用正确的语法:
OrderDate = DLookup("TimeStamp","Order","OrderID = " & ThisOrderID & "")
LastRateDate = DMax("ValidFrom","CompanyRate","CompanyID = " & ThisCompanyID & " AND ValidFrom <= #" & Format(OrderDate,"yyyy\/mm\/dd") & "#")
CompanyRate = DLookup("Rate","CompanyID = " & ThisCompanyID & " AND ValidFrom = #" & Format(LastRateDate,"yyyy\/mm\/dd") & "#")