Обработка доступа Нет текущей записи - PullRequest
0 голосов
/ 23 октября 2018

У меня есть следующий код:

If CurrentDb.OpenRecordset("SELECT tbl_F.[Fecha] FROM tbl_F WHERE tbl_F.[Fecha]=#" & Forms!frm_Name!txt_Fecha & "#;").Fields(0) > 0 Then
    MsgBox "This record already exists"
    Else
        DoCmd.RunCommand acCmdSaveRecord
End If

Таблица table_F выглядит следующим образом:

|---------------------|
| ID  | Fecha         |
|---------------------|
| 1   | 16/10/2018    |
|---------------------|
| 2   | 17/10/2018    |
|---------------------|

Если я введу новый регистр в поле Fechaнаверняка Access будет отброшен Ошибка 3021 Нет текущей записи, что является ожидаемым.Поэтому вместо того, чтобы показывать это сообщение об ошибке, я хочу обработать эту ошибку.Я уверен, что это может быть обработано как исключения на Java.В этом порядке я могу использовать Try Catch, но я новичок в этом, не уверен, какой тип исключения будет использоваться.

1 Ответ

0 голосов
/ 23 октября 2018

Устранить ситуацию, которая вызывает ошибку, а не обрабатывать ее.Используйте DLookup ().

If IsNull(DLookup("[Fecha]", "tbl_F", "[Fecha]=#" & Forms!frm_Name!txt_Fecha & "#")) Then
    DoCmd.RunCommand acCmdSaveRecord
Else
    MsgBox "This record already exists"
End If

Вы показываете даты в международном формате.Это может вызвать проблемы.Отзыв http://allenbrowne.com/ser-36.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...