|
|
|
Несоответствие типов данных!!!
|
|||
|---|---|---|---|
|
#18+
Есть форма "Дата" с одним полем "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 Исправляя в поле формы дату или время, а затем нажимая в форме кнопку "Открыть отчет" выходит следующее окошко "Несоответствие типов данных в выражении условия отбора". Везде, и в таблице и в форме и в отчете формат поля стоит "Полный формат даты". Как быть? С уважением, Игорь!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2003, 09:42 |
|
||
|
Несоответствие типов данных!!!
|
|||
|---|---|---|---|
|
#18+
читай ФАКи!! дата оформляется как ">=#" & format(дата,"mm\/dd\/yy") & "#" если хочешь с точностью до времени, то проще так ">=" & CDbl(дата) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2003, 09:46 |
|
||
|
Несоответствие типов данных!!!
|
|||
|---|---|---|---|
|
#18+
Посмотреть в дебаге, что отправляется из процедуры в запрос, и почитать форум поподробнее на тему форматов даты... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2003, 09:46 |
|
||
|
Несоответствие типов данных!!!
|
|||
|---|---|---|---|
|
#18+
Я так понимаю, что надо перейти к американскому формату и сделать так: 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# и т. д. и нет проблем с извлечением данных в отчет. Но в новой базе все в одном поле и переделывать в такой вид нет смысла и нельзя, потому что на основе этой таблицы повязаны многие связи с др. таблицами и запросами. Поэтому я и прибегнул к решению передавать данные из поля формы в условие запроса в отчете. Но увы, результата нет. Как быть? Может предложите другое решение или лучше все таки добить этот программный код. С уважением, Игорь!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2003, 12:23 |
|
||
|
Несоответствие типов данных!!!
|
|||
|---|---|---|---|
|
#18+
Format([Forms]![Дата]![datavkl], "mm\/dd\/yyyy") ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2003, 12:29 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32342916&tid=1677842]: |
0ms |
get settings: |
7ms |
get forum list: |
17ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
26ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
50ms |
get tp. blocked users: |
2ms |
| others: | 220ms |
| total: | 337ms |

| 0 / 0 |
