powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Может я изверг? On Error Goto. При ошибке форму закрываю и снова открываю.
11 сообщений из 11, страница 1 из 1
Может я изверг? On Error Goto. При ошибке форму закрываю и снова открываю.
    #32400254
Фотография # Darth Vader #
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть справочник для хранения данных.

Форма основана на таблице с ключевым полем.

Есть на форме список с помощью которого юзер переходит к нужной записи. Далее есть кнопки "добавить" "правка" "удалить" "отменить ввод" "сохранить".

Кроме этого в форме есть поле для редактирования. Оно в Enable=False до тех пор пока юзер не нажмет "правка". На кнопке "сохранить" повешен Requery для списка (чтоб юзер видел что запись изменилась / добавилась).

Вок к примеру что может натворить юзер. При добалении новой записи ничего не ввести (ошибка- пустое значение ключа). Добавить запись для которой есть уже ключ. Короче форма при этом затыкается и я ничего лучше не нашел, как при ошибки закрывать форму и потом снова ее открывать. Вот скажем пример обработки ошибки при переходе к другой записи в списке.

Private Sub ListName_AfterUpdate()
On Error GoTo fin
' Поиск записи, соответствующей этому элементу управления.
Me.RecordsetClone.FindFirst "[imia2] = '" & Me![ListName] & "'"
Me.Bookmark = Me.RecordsetClone.Bookmark

ListName_AfterUpdate_exit:
Exit Sub

fin:

Select Case Err.Number
Case 3058

MsgBox "Надо ввести имя ! ", vbCritical, "Ошибка..."
DoCmd.Close , , acSaveNo
DoCmd.OpenForm "frmSprName"

Case 3022
MsgBox "Уже существует такое имя ! ", vbCritical, "Ошибка..."
DoCmd.Close , , acSaveNo
DoCmd.OpenForm "frmSprName"
End Select
End Sub

Как сделать так чтобы после ошибки форма "жила" а не вываливалась?

Может ребята посоветуете как лучше сделать справочник?
...
Рейтинг: 0 / 0
Может я изверг? On Error Goto. При ошибке форму закрываю и снова открываю.
    #32400327
Sfagnum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Меня сильно смущает название процедуры... неужели в листбокс можно чой то вписывать?

я справоники делаю при помощи листбокса + текстбоксов&комбобоксов
где данные ввожу в текстбоксы&комбобоксы и при подобных ошибках выдаю ошибку пердупреждение, и больше ничего не делаю, в итоге остаюсь автоматом на неправильной строчке...
да и стараюсь не давать ключ на растерзание юзеру...

Сделать можно всё!!!
Только бы знать как...
...
Рейтинг: 0 / 0
Может я изверг? On Error Goto. При ошибке форму закрываю и снова открываю.
    #32400595
Фотография # Darth Vader #
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Sfagnum
У меня в справочнике единственное поле и оно ключевое. Да , я даю его на растерзание юзеру.

Как у тебя в форме происходит переход м/у записями. Кнопки ">" "<" ?

> в итоге остаюсь автоматом на неправильной строчке...
Как?
...
Рейтинг: 0 / 0
Может я изверг? On Error Goto. При ошибке форму закрываю и снова открываю.
    #32400657
novss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Была похожая ситуация, есть ЛистБокс откуда юзер должен выбрать значение.
Но, т.к. случаи всякие бываю и юзер может такого натворить, то я сделал следующим образом:

На форме где заносятся данные разместил ЛистБокс, который связан с формой (пусть будет ЛистБоксФорма). И сделал его невидимым при выводе на экран.

На эту же форму добавил ЛистБокс, который в источнике записей имеет, туже форму, а в разделе Данные - пусто. (ЛистБоксПсевдо).

После занесения данных в ЛистБоксПсевдо, при нажатии "Добавить"/"Сохранить" или еще чего, происходит обработка ЛистБоксПсевдо, и только если данные соответсвуют, тогда они копируются в ЛистБоксФорма. И в конце, стоит переход на новую запись.

Надеюсь это поможет
...
Рейтинг: 0 / 0
Может я изверг? On Error Goto. При ошибке форму закрываю и снова открываю.
    #32400680
Фотография # Darth Vader #
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А как осуществляешь редактирование?

У моего листБокса свойство "данные" пустое.

>После занесения данных в ЛистБоксПсевдо
Что имеется в виду?

Весь геморрой как раз и состоит в том, что юзер работает с ключевым полем. Может гад не ввести значение, может ввести существующее.

Может ты мне пришлешь мне на мыльце твой пример со справочником? (Только не на профильное)

Вот на это.

podolsk@sn.nornik.ru
...
Рейтинг: 0 / 0
Может я изверг? On Error Goto. При ошибке форму закрываю и снова открываю.
    #32400772
Фотография Daf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А я у себя на событие "добавить" повесил открытие другой формы. В этой форме я и произвожу добавление ключевого поля. А на событие "получение фокуса" в первой форме я повесил Recuery.
...
Рейтинг: 0 / 0
Может я изверг? On Error Goto. При ошибке форму закрываю и снова открываю.
    #32400783
Фотография Daf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добавление:

На событие "получение фокуса" поля со списком...
...
Рейтинг: 0 / 0
Может я изверг? On Error Goto. При ошибке форму закрываю и снова открываю.
    #32400785
Фотография # Darth Vader #
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А в новой форме добавляешь запись. Это ясно. Но так ты добавляешь запись, а как редактируешь то?
...
Рейтинг: 0 / 0
Может я изверг? On Error Goto. При ошибке форму закрываю и снова открываю.
    #32400845
Фотография Daf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Жму кнопку"добавить/изменить", вылезает форма. На этой форме у меня TextBox. Источник данных у этого TextBox ключевое поле.
Мне редактировать не нужно, нужно только добавлять. Поэтому я использую TextBox. Если бы нужно было редактировать, то я бы поставил ПолеСоСписком (ComboBox помоему :-). Нашел нужный элемент, выбрал, поправил. Закрыл форму.

А если нужно добавить то:

У ПоляСоСписком есть интересное свойство.
Код: plaintext
1.
2.
3.
4.
 "По мере ввода символов выполняется инкрементный поиск
соответствующего элемента в списке. Нажатие, например, клавиши М 
приведет к поиску в списке первого элемента, у которого первым символом 
является М. Последующее нажатие клавиши [и] привет к поиску в списке 
первого элемента, у которого первые два символа Ми." 


Т.е. юзер набирая значение в ПолеСоСписком будет находить соответствующие значения. Если он наберет то, чего нет, то и ошибки не будет.
...
Рейтинг: 0 / 0
Может я изверг? On Error Goto. При ошибке форму закрываю и снова открываю.
    #32400875
Фотография # Darth Vader #
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо. Это все понятно!
>У ПоляСоСписком есть интересное свойство.
Знаю.
Но у меня то все базируется на списке.

Плюнул . Делаю обработчики ошибок в каждой справочной форме.

>Т.е. юзер набирая значение в ПолеСоСписком будет находить соответствующие значения. Если он наберет то, чего нет, то и ошибки не будет.

Не каждый юзер сообразит еще что по первым набранным символам буду фильтроваться значения. Ну вообщем ясно.
...
Рейтинг: 0 / 0
Может я изверг? On Error Goto. При ошибке форму закрываю и снова открываю.
    #32401463
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Ничего не понимаю. (С) Колобки.

Ответ на вопрос - это Resume Next в конце обработчика. Разве вопрос был не об этом?
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Может я изверг? On Error Goto. При ошибке форму закрываю и снова открываю.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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