|
|
|
| 2003 офис
есть такой запрос:
st = "SELECT [Фамилия] & ' ' & [ИО] AS ФИО, Заявки.АудКаб, Заявки.Корпус, Территории.[Наименование територии], Format([ВремяПЗ],'Long Date') AS Дата, Заявки.ЗаявНеисп " & _
"FROM Статус INNER JOIN ((Территории INNER JOIN Сотрудники ON Территории.КодТерритории = Сотрудники.КодТерритории) INNER JOIN Заявки ON (Территории.КодТерритории = Заявки.КодТерритории) " & _
"AND (Сотрудники.КодСотрудника = Заявки.КодСотрудника)) ON Статус.КодСтатус = Заявки.Статус " & _
"WHERE ((Format(Заявки.ВремяПЗ,'Long Date'))>=[Forms]![Отчеты]![ДатаС] And (Format(Заявки.ВремяПЗ,'Long Date'))<=[Forms]![Отчеты]![ДатаПо]) AND Сотрудники.КодСотрудника<>26 and Статус.КодСтатус=" & status
Он не хочет почему-то брать эту дату корректно, что самое интересное происходит такой глюк: сначала выдает записи, но не верно отобрана дата, при втором запуске данные совсем не отбираються. Between уже тоже пробовала, тот же самый баг. | |
|
| |
|
|
|
|
Format Function
Returns a Variant (String)
Может быть по этому.
| |
|
| |
|
|
|
| Переделала запрос:
st = "SELECT [Фамилия] & ' ' & [ИО] AS ФИО, Заявки.АудКаб, Заявки.Корпус, Территории.[Наименование територии], Format([ВремяПЗ],'Long Date') AS Дата, Заявки.ЗаявНеисп " & _
"FROM Статус INNER JOIN ((Территории INNER JOIN Сотрудники ON Территории.КодТерритории = Сотрудники.КодТерритории) INNER JOIN Заявки ON (Территории.КодТерритории = Заявки.КодТерритории) " & _
"AND (Сотрудники.КодСотрудника = Заявки.КодСотрудника)) ON Статус.КодСтатус = Заявки.Статус " & _
"WHERE (Заявки.ВремяПЗ Between " & CDate(ДатаС) & " And " & CDate(ДатаПо) & ") AND Сотрудники.КодСотрудника<>26 and Статус.КодСтатус=" & status
Как сделать так, чтобы он брал дату не как строку, а именно как дату? Потому что в обычном запросе он все выводит, но сортировка не верная - именно как строчная. А из=за этого в DAO он выдает ошибку | |
|
| |
|
|
|
| WHERE (Заявки.ВремяПЗ)>=FORMAT([Forms]![Отчеты]![ДатаС],"mm.dd.yyyy") And
Заявки.ВремяПЗ<=FORMAT([Forms]![Отчеты]![ДатаПо],"mm.dd.yyyy")
Это при условии, что в таблицах сидят корректные даты. Вообще можно преобразовать к американскому формату и даты в таблицах - по аналогии с датами в полях формы | |
|
| |
|
|
|
| Мог бы и FORMAT ответить. Ему тут и карты в руки. | |
|
| |
|
|
|
| Проблема в пользователе
Она не сообразит тогда как правильно дату нужно ввести
Поэтому делаю не по американскому стилю | |
|
| |