|
|
|
Не обновляется содержимое текстового поля
|
|||
|---|---|---|---|
|
#18+
Сразу скажу: опыта в Access маловато, поэтому столкнулся с ситуацией. Есть форма с двумя текстовыми полями, в которые вводятся даты. Если ввод корректный, т.е. Дата1 <= Даты2 <= Текущая Дата, значения сохраняются в таблицу, подключенную через ADO. Если же условие не выполняется, выдается сообщение и осуществляется возврат к редактированию. Сохранение происходит при нажатии на соответствующую кнопку. Не понимаю почему после ошибочного ввода и последующей коррекции все равно выдается та же ошибка ? Хотя значение в поле изменилось, проверял. Ответьте пожалуйста. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.04.2004, 19:53 |
|
||
|
Не обновляется содержимое текстового поля
|
|||
|---|---|---|---|
|
#18+
[дата1] =Format([дата1],"\#mm\/dd\/yy\#") [дата2] =Format([дата1],"\#mm\/dd\/yy\#") http://am.rusimport.ru/MsAccess/topic.aspx?ID=134 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.04.2004, 20:33 |
|
||
|
Не обновляется содержимое текстового поля
|
|||
|---|---|---|---|
|
#18+
Извиняюсь, наверное неточно выразился. До сохранения значений в таблице дело не доходит. Ввожу в текстбоксы заведомо неправильные значения дат, т.е. Дата1 > Дата2, жму кнопку "Сохранить", получаю программное сообщение об ошибке, возвращаюсь к вводу в первый текстбокс, ввожу правильное значение, жму Enter, жму "Сохранить" и снова получаю сообщение об ошибке. Как-будто ничего не изменилось. Но когда вывожу textbox.value вижу правильное значение. Словно Access "не увидел" замены. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.04.2004, 21:26 |
|
||
|
Не обновляется содержимое текстового поля
|
|||
|---|---|---|---|
|
#18+
А как сделана проверка и выдача сообщения? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.04.2004, 21:32 |
|
||
|
Не обновляется содержимое текстового поля
|
|||
|---|---|---|---|
|
#18+
Вот так: ... ... If Me.txtBeginDate <= Me.txtEndDate And Me.txtEndDate <= Date Then With rstPeriod .Fields("BeginDate") = Me.txtBeginDate .Fields("EndDate") = Me.txtEndDate .Update .Close End With Set rstPeriod = Nothing DoCmd.Close Else MsgBox "Неверно задан период расчета " & CStr(Me.txtBeginDate), vbCritical + vbOKOnly, "Analyst" Me.txtBeginDate.SetFocus End If ... ... Пожалуйста больно не бить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.04.2004, 22:15 |
|
||
|
Не обновляется содержимое текстового поля
|
|||
|---|---|---|---|
|
#18+
А у текстбоксов txtBeginDate и txtEndDate, насколько я понимаю, ControlSource пустой. Они не привязаны к полю в таблице, которое имеет тип Date/Time. Таким образом, проверка\r Me.txtBeginDate <= Me.txtEndDate\r и т.п. берет то, что в них написано, как простой текст, а не как дату. Например, "31.01.1950" будет больше, чем "01.01.2000", потому что первое начинается на цифру 3, а второе на цифру 0.\r \r Решение - преобразовывать текст в дату явным образом. Например:\r /topic/86096\r \r Это же касается и занесения дат в таблицу -\r .Fields("BeginDate") = Me.txtBeginDate\r и т.п. Если явным образом не перевести текст в дату, то Аксесс переведет ее сам - и совершенно не факт, что он это сделает правильно. Например, 01.02.2004 - это 1 февраля или 2 января? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.04.2004, 22:28 |
|
||
|
Не обновляется содержимое текстового поля
|
|||
|---|---|---|---|
|
#18+
To Владмимр Саныч. Похоже Вы правы. Завтра попробую и сообщу результат. Спасибо большое. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.04.2004, 23:03 |
|
||
|
Не обновляется содержимое текстового поля
|
|||
|---|---|---|---|
|
#18+
Не удержался и попробовал сейчас. Правда я просто явно указал формат данных текстбоксов и все пошло. Еще раз СПАСИБО! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.04.2004, 23:52 |
|
||
|
|

start [/forum/topic.php?fid=45&fpage=1643&tid=1675125]: |
0ms |
get settings: |
5ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
50ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
55ms |
get tp. blocked users: |
1ms |
| others: | 205ms |
| total: | 352ms |

| 0 / 0 |
