我已将Access数据库(.mdb)转换为SQL Server。与此同时,我仍然需要使用Access作为前端,直到构建新的应用程序表单。有人可以告诉我,我可以做些什么来解决以下情况:
在Access 2007中,查询如下:
SELECT *
FROM TransactionTotals
WHERE TransactionTotals.[Date]= Date()
ORDER BY TransactionTotals.EntryID DESC;
工作,但由于Date()函数不能与SQL Server一起使用,在上一篇文章的帮助下,正确的语法是:
SELECT *
FROM TransactionTotals
WHERE TransactionTotals.[Date]= CAST(GETDATE() AS DATE)
ORDER BY TransactionTotals.EntryID DESC;
BUT!虽然上面的代码可以在直接SQL Server查询(SQL Management Studio)中使用,但它将在Access中被抛出,并在WHERE子句上使用语法错误响应。
可以在Access中完成某些操作,这样我仍然可以运行查询绑定表单。
答案 0 :(得分:0)
我通常完全按照您的方式执行操作,在迁移到SQL Server之前首先访问。与服务器类型数据库相比,Access有一些非常奇怪的语法,特别是在JOIN子句和日期时,GETDATE()仅适用于SQL Server,在Access中,请尝试此...
SELECT *
FROM TransactionTotals
WHERE TransactionTotals.[Date]= Format(NOW(),"General Date")
ORDER BY TransactionTotals.EntryID DESC;
随时更改日期格式。