powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Несоответствие типов данных!!!
6 сообщений из 6, страница 1 из 1
Несоответствие типов данных!!!
    #32342908
IgorGer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть форма "Дата" с одним полем "datavkl", где отображается по умолчанию текущая дата и время. Исправляя в этом поле дату или время хочу сделать выборку из таблицы "obzmeg1_2" и отобразить это в отчете. На событие открытия отчета вставлен следующий код:

Private Sub Report_Open(Cancel As Integer)
If IsNull([Forms]![Дата]![datavkl]) Then
Me.RecordSource = "SELECT * From obzmeg1_2"
Else
Me.RecordSource = "SELECT * From obzmeg1_2 WHERE [vdate]>='" & [Forms]![Дата]![datavkl] & "'"
End If
End Sub

Исправляя в поле формы дату или время, а затем нажимая в форме кнопку "Открыть отчет" выходит следующее окошко "Несоответствие типов данных в выражении условия отбора". Везде, и в таблице и в форме и в отчете формат поля стоит "Полный формат даты". Как быть?

С уважением, Игорь!!!
...
Рейтинг: 0 / 0
Несоответствие типов данных!!!
    #32342915
sasha_1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
читай ФАКи!!
дата оформляется как
">=#" & format(дата,"mm\/dd\/yy") & "#"
если хочешь с точностью до времени, то проще так
">=" & CDbl(дата)
...
Рейтинг: 0 / 0
Несоответствие типов данных!!!
    #32342916
Фотография AlexJuice
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Посмотреть в дебаге, что отправляется из процедуры в запрос, и почитать форум поподробнее на тему форматов даты...
...
Рейтинг: 0 / 0
Несоответствие типов данных!!!
    #32343229
IgorGer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я так понимаю, что надо перейти к американскому формату и сделать так:
Me.RecordSource = "SELECT * From obzmeg1_2 WHERE [vdate]>=" & "#" & Format([Forms]![Дата]![datavkl], "mm/dd/yyyy") & "#"
Выходит "Ошибка синтаксиса", а если # поменять на ', то "Несоответствие типа данных...". Оператор CDbl тоже не проходит.

А формат поля в самой таблице, форме, отчете тоже надо поменять на американский? Может Вы немного недопоняли. У меня в таблицу в одно поле каждый час загружаются данные в виде даты со временем, т.е. полный формат даты, типа =Now(). Мне надо каждый час вытаскивать данные поступившие в таблицу в течение этого часа в виде отчета. Я сделал обычную форму и поместил туда поле типа свободное и кнопку просмотра отчета. В свойствах этого поля установил: формат поля - полный формат даты, значение поля по умолчанию - =Now(), чтобы при запуске формы в поле отображалась текущая дата со временем. Затем в поле исправляя время, например ставлю 10:00:00 нажимаю Enter и нажимаю кнопку загрузки отчета. У меня как бы по идее должен отображаться отчет с отобранными данными сегодняшнего дня и времени начиная с 10:00:00 и бесконечность. Но выходят вот разные ошибки. У меня есть подобная база, но там дата заносится в одно поле, а время в другое поле и там данные извлекаются посредствам поля со списком, где фиксированно заданы временные промежутки:
([Дата])=Date() And ([Время]) Between #8:00:00# And #8:59:59# и т. д. и нет проблем с извлечением данных в отчет. Но в новой базе все в одном поле и переделывать в такой вид нет смысла и нельзя, потому что на основе этой таблицы повязаны многие связи с др. таблицами и запросами. Поэтому я и прибегнул к решению передавать данные из поля формы в условие запроса в отчете. Но увы, результата нет. Как быть? Может предложите другое решение или лучше все таки добить этот программный код.

С уважением, Игорь!!!
...
Рейтинг: 0 / 0
Несоответствие типов данных!!!
    #32343246
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Format([Forms]![Дата]![datavkl], "mm\/dd\/yyyy")
...
Рейтинг: 0 / 0
Несоответствие типов данных!!!
    #32343424
IgorGer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем огромное спасибо!!!
Данное решение помогло:

SELECT * From obzmeg1_2 WHERE [vdate]>=" & Format([Forms]![Дата]![datavkl],"\#mm\/dd\/yyyy
hh:mm:ss\#")

С уважением, Игорь!!!
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Несоответствие типов данных!!!
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]