Ms Access Функция MonthName вызывает сбой - PullRequest
0 голосов
/ 20 апреля 2020

В запросе, который работал годами, я добавил функцию MonthName, чтобы я мог в конечном итоге сгруппировать это значение в отчете. Часть, которую я добавил, выглядит следующим образом:

MonthName([WorkDate],False) AS Expr1

После добавления его в запрос, каждый раз, когда я запускаю его, я получаю результаты, показанные как обычно, но как только я прокручиваю, чтобы увидеть вновь добавленный столбец , Access аварийно завершает работу, не давая мне сообщения об ошибке и полностью закрывается!

SELECT 
    tbl_Customers.CustomerID, 
    tbl_Customers.CompanyName, 
    tbl_TimeSheet.WorkDate, 
    tbl_TimeSheet.TimeWorked, 
    tbl_Project.ProjectName AS Projekt, 
    tbl_TimeSheet.Description, 
    tbl_TimeSheet.Billable, 
    MonthName([WorkDate],False) AS Expr1
FROM 
    tbl_Customers INNER JOIN 
    (tbl_Project RIGHT JOIN tbl_TimeSheet ON tbl_Project.ConsProjectID = tbl_TimeSheet.ConsProjectID) 
    ON tbl_Customers.CustomerID = tbl_TimeSheet.CustomerID
ORDER BY 
tbl_TimeSheet.WorkDate;

Кто-нибудь сталкивался с таким поведением? Я неправильно использую функцию или это ошибка в Access? Какой обходной путь?

1 Ответ

1 голос
/ 20 апреля 2020

Функция MonthName имеет два аргумента, Month As Long и Abbreviate As Boolean. Поэтому, когда вы передаете ему полную дату, это неправильный тип данных. Вместо этого вы должны использовать его вместе с функцией Month:

SELECT 
    tbl_Customers.CustomerID, 
    tbl_Customers.CompanyName, 
    tbl_TimeSheet.WorkDate, 
    tbl_TimeSheet.TimeWorked, 
    tbl_Project.ProjectName AS Projekt, 
    tbl_TimeSheet.Description, 
    tbl_TimeSheet.Billable, 
    MonthName(Month([WorkDate]),False) AS Expr1
FROM 
    tbl_Customers INNER JOIN 
    (tbl_Project RIGHT JOIN tbl_TimeSheet ON tbl_Project.ConsProjectID = tbl_TimeSheet.ConsProjectID) 
ON tbl_Customers.CustomerID = tbl_TimeSheet.CustomerID
ORDER BY 
tbl_TimeSheet.WorkDate;

С уважением,

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