Я преобразовал Access db (.mdb) в SQL Server. Тем временем мне по-прежнему нужно использовать Access как front end, пока не будут созданы новые формы приложений. Может кто-нибудь сказать мне, что я мог бы сделать, чтобы исправить ситуацию, когда:MS Access SQL Server DB - Синтаксис запроса для функции CAST
В 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;
НО! Хотя приведенный выше код будет работать в прямом запросе SQL Server (SQL Management Studio), он будет отброшен в Access с ответом на ошибку синтаксиса в предложении WHERE.
Может быть что-то сделано в Access, поэтому я все еще могу запустить связанные с запросом формы.
Это работает снова с SQL Server из Acces, если: – user1457613
Это работает снова с SQL Server от Acces as: Format (NOW(), "yyyy-mm-dd 00:00:00"). Однако, что может работать в запросе Access, таком как WHERE TransactionTotals. [Дата] Между датой() - 7 И датой() – user1457613
Uhmmm, можете ли вы объяснить немного больше о том, что вам нужно? Из того, что я понял, вам нужно запросить базу данных с условием сравнения текущей даты, а ваш SQL-оператор, который работает на SQL Server, не работает с правом доступа? Вы пытаетесь найти функцию, которая работает на обоих? –