|
|
|
| Кто-нибудь знает не выдавть системное сообщение когда неверно набрана поле типа дата ,а выдать на эту ошибку свое сообщение Спасибо | |
|
| |
|
|
|
| F1
error handling - error trapping - error codes | |
|
| |
|
|
|
| On Error GoTo Err_Кнопка64_Click
.
.
.
.
Exit_Кнопка64_Click:
Exit Sub
Err_Кнопка64_Click:
MsgBox ("Ты че, козел, опуел?")
Resume Exit_Кнопка64_Click
Куда подробнее? Начинается с оператора безусловного перехода куда перейти в случае чего. Переход к метке Err_Кнопка64_Click: . Вместо нее можно написать L и что угодно. Это мастер по созданию кнопок так пишет. Ну там выходит сообщение MSGBOX какое напишешь. Можно ничего не писать, так ничего не будет. Зареми. | |
|
| |
|
|
|
| А можно чуть-чуть поподробнее | |
|
| |
|
|
|
| вот поподробнее
Private Sub Кнопка44_Click()
' не надо ничё сообщать - что ба ни случилося
DoCmd.SetWarnings False
DoCmd.RunSQL "UPDATE Svedeniya SET Svedeniya.Kol_vo = 0, Svedeniya.Korzina = 0 WITH OWNERACCESS OPTION;"
DoCmd.SetWarnings True
' теперь можно любые ошибки обрабатывать и орать - это не так, то не эдак
End Sub | |
|
| |
|
|
|
| Но ведь при таком раскладе, если я введу в поле вместо даты "скороходов-кулацкая морда",
запрос все равно попытается вставить данные.
Имхо, перед выполнением запроса нужно проводить валидацию поля, а уж затем пытаться что-то куда-то пихать.
Где-то читал, что у акса обработка ошибок осуществляется по принципу
OnError GoTo Hell! | |
|
| |
|
|
|
| Так ведь блин я же так и сделал. Допустим кнопка созданная мастером. Вот в ней этот код. Дебуг или казенная запись выставляется в случае чего-то нетого. Вместо него будет msgbox про козла. Его только вписать надо.
Кроме того туда можно целый код вписать, который отменит какие-либо действия и выполнит свои. | |
|
| |
|
|
|
| Я это часу отвечал на его фрагмент кода | |
|
| |
|
|
|
| Да по часу получится что ничего сообщать не будет. Разве что дебуг вылезет если чего-то совсем нитого. У меня такое было ни единожды.
DoCmd.SetWarnings False - блокирует сообщения. | |
|
| |
|
|
|
|
"скороходов-кулацкая морда",
|
не взирая на сегодняшнее мрачное состояние - ржу аки конь и представляю скороходова, 5+ | |
|
| |
|
|
|
| Спасибо.При on error не вхожу в блок обработки ошибки err=0 Warning не блокирует это сообщение .по часу мытарно самому анализировать А может кто- то уже вдавал свое сообщение при неверном задании поля типа дата или оставляли системное? | |
|
| |
|
|
|
|
Private Sub Form_Error(DataErr As Integer, Response As Integer)
Select Case DataErr
Case Is = 2113 ' Возможны и другие
MsgBox "Неправильно введено значение даты", vbInformation, Me.Caption
Response = acDataErrContinue
Case Else
Response = acDataErrDisplay
End Select
End Sub
|
| |
|
| |
|
|
|
| Эта программа будет автоматом запускаться при ошибке или к ней надо обращаться откуда-то | |
|
| |
|
|
|
| Это обработчик события Error формы.
"...будет автоматом запускаться при ошибке..."
Вот что по этому поводу глаголит справка:
The Error event occurs when a run-time error is produced in Microsoft Access when a form or report has the focus. This includes Microsoft Jet database engine errors, but not run-time errors in Visual Basic.
|
| |
|
| |