2013-12-05 2 views
1

Теперь, когда у меня есть помощь от этого форума, у меня есть команда sql, которая может привести к правильному результату в ACCESS. Однако, когда я привел это для использования в ASP, ошибка говорила вот так.Почему моя команда sql не работает на asp, когда она показывает правильный результат в ACCESS?

Microsoft JET Database Engine error '80040e14' 

The SELECT statement includes a reserved word or an argument name that is misspelled or missing, or the punctuation is incorrect. 

что я сделал не так? мой asp-код ....

Dim rsBill 
set rsBill = Server.CreateObject("ADODB.Recordset") 
rsBill.ActiveConnection = Conn_string<br> 
rsBill.Source ="select sum(tbt.bill_total) as bill_total ,iif(sum_vat_total is null, 0, sum_vat_total) as vat_total, iif(sum_vat_total is null, 0, sum_vat_total) + sum(bill_total) as sum_of_all, month(showndate) as month from tbl_bill_total tbt left join (select sum(vat_total) as sum_vat_total , month(showndate) as month from tbl_vat_bill_total where if_paid = true and year(showndate) = 2013 group by month(showndate)) tvt on tvt.month = month(tbt.showndate) where year(showndate) = 2013 group by month(showndate) , sum_vat_total" 
rsBill.CursorType = 0 
rsBill.CursorLocation = 3 
rsBill.LockType = 3 
rsBill.Open() 
rsBill.PageSize = 20 

Я пробовал в течение нескольких дней, чтобы узнать, что не так, но все еще не смог его получить.

ответ

3

SELECT заявление включает в себя месяц в качестве псевдонима (в двух местах) ...

month(showndate) as month 

Поскольку существует функция с тем же именем, месяц, скорее всего, зарезервированное слово, которое двигатель db жалуется. Если вы хотите сохранить этот псевдоним, заключите его в квадратные скобки.

month(showndate) as [month] 

Сообщалось, что запрос был запущен без ошибок в сеансе доступа. В этой ситуации запрос выполняется из DAO. Но он не работает при запуске из ADO, потому что ADO, похоже, менее прощает зарезервированные слова.

+0

спасибо. Ваша помощь много значит для меня. Теперь мой код работает. – Alxan

Смежные вопросы