|
|
|
Может я изверг? On Error Goto. При ошибке форму закрываю и снова открываю.
|
|||
|---|---|---|---|
|
#18+
Есть справочник для хранения данных. Форма основана на таблице с ключевым полем. Есть на форме список с помощью которого юзер переходит к нужной записи. Далее есть кнопки "добавить" "правка" "удалить" "отменить ввод" "сохранить". Кроме этого в форме есть поле для редактирования. Оно в 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 Как сделать так чтобы после ошибки форма "жила" а не вываливалась? Может ребята посоветуете как лучше сделать справочник? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2004, 09:29 |
|
||
|
Может я изверг? On Error Goto. При ошибке форму закрываю и снова открываю.
|
|||
|---|---|---|---|
|
#18+
Меня сильно смущает название процедуры... неужели в листбокс можно чой то вписывать? я справоники делаю при помощи листбокса + текстбоксов&комбобоксов где данные ввожу в текстбоксы&комбобоксы и при подобных ошибках выдаю ошибку пердупреждение, и больше ничего не делаю, в итоге остаюсь автоматом на неправильной строчке... да и стараюсь не давать ключ на растерзание юзеру... Сделать можно всё!!! Только бы знать как... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2004, 10:13 |
|
||
|
Может я изверг? On Error Goto. При ошибке форму закрываю и снова открываю.
|
|||
|---|---|---|---|
|
#18+
2 Sfagnum У меня в справочнике единственное поле и оно ключевое. Да , я даю его на растерзание юзеру. Как у тебя в форме происходит переход м/у записями. Кнопки ">" "<" ? > в итоге остаюсь автоматом на неправильной строчке... Как? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2004, 12:18 |
|
||
|
Может я изверг? On Error Goto. При ошибке форму закрываю и снова открываю.
|
|||
|---|---|---|---|
|
#18+
Была похожая ситуация, есть ЛистБокс откуда юзер должен выбрать значение. Но, т.к. случаи всякие бываю и юзер может такого натворить, то я сделал следующим образом: На форме где заносятся данные разместил ЛистБокс, который связан с формой (пусть будет ЛистБоксФорма). И сделал его невидимым при выводе на экран. На эту же форму добавил ЛистБокс, который в источнике записей имеет, туже форму, а в разделе Данные - пусто. (ЛистБоксПсевдо). После занесения данных в ЛистБоксПсевдо, при нажатии "Добавить"/"Сохранить" или еще чего, происходит обработка ЛистБоксПсевдо, и только если данные соответсвуют, тогда они копируются в ЛистБоксФорма. И в конце, стоит переход на новую запись. Надеюсь это поможет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2004, 12:40 |
|
||
|
Может я изверг? On Error Goto. При ошибке форму закрываю и снова открываю.
|
|||
|---|---|---|---|
|
#18+
А как осуществляешь редактирование? У моего листБокса свойство "данные" пустое. >После занесения данных в ЛистБоксПсевдо Что имеется в виду? Весь геморрой как раз и состоит в том, что юзер работает с ключевым полем. Может гад не ввести значение, может ввести существующее. Может ты мне пришлешь мне на мыльце твой пример со справочником? (Только не на профильное) Вот на это. podolsk@sn.nornik.ru ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2004, 12:54 |
|
||
|
Может я изверг? On Error Goto. При ошибке форму закрываю и снова открываю.
|
|||
|---|---|---|---|
|
#18+
А я у себя на событие "добавить" повесил открытие другой формы. В этой форме я и произвожу добавление ключевого поля. А на событие "получение фокуса" в первой форме я повесил Recuery. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2004, 13:25 |
|
||
|
Может я изверг? On Error Goto. При ошибке форму закрываю и снова открываю.
|
|||
|---|---|---|---|
|
#18+
Добавление: На событие "получение фокуса" поля со списком... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2004, 13:28 |
|
||
|
Может я изверг? On Error Goto. При ошибке форму закрываю и снова открываю.
|
|||
|---|---|---|---|
|
#18+
А в новой форме добавляешь запись. Это ясно. Но так ты добавляешь запись, а как редактируешь то? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2004, 13:29 |
|
||
|
Может я изверг? On Error Goto. При ошибке форму закрываю и снова открываю.
|
|||
|---|---|---|---|
|
#18+
Жму кнопку"добавить/изменить", вылезает форма. На этой форме у меня TextBox. Источник данных у этого TextBox ключевое поле. Мне редактировать не нужно, нужно только добавлять. Поэтому я использую TextBox. Если бы нужно было редактировать, то я бы поставил ПолеСоСписком (ComboBox помоему :-). Нашел нужный элемент, выбрал, поправил. Закрыл форму. А если нужно добавить то: У ПоляСоСписком есть интересное свойство. Код: plaintext 1. 2. 3. 4. Т.е. юзер набирая значение в ПолеСоСписком будет находить соответствующие значения. Если он наберет то, чего нет, то и ошибки не будет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2004, 14:01 |
|
||
|
Может я изверг? On Error Goto. При ошибке форму закрываю и снова открываю.
|
|||
|---|---|---|---|
|
#18+
Спасибо. Это все понятно! >У ПоляСоСписком есть интересное свойство. Знаю. Но у меня то все базируется на списке. Плюнул . Делаю обработчики ошибок в каждой справочной форме. >Т.е. юзер набирая значение в ПолеСоСписком будет находить соответствующие значения. Если он наберет то, чего нет, то и ошибки не будет. Не каждый юзер сообразит еще что по первым набранным символам буду фильтроваться значения. Ну вообщем ясно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2004, 14:17 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32400327&tid=1676795]: |
0ms |
get settings: |
7ms |
get forum list: |
14ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
149ms |
get topic data: |
8ms |
get forum data: |
4ms |
get page messages: |
41ms |
get tp. blocked users: |
1ms |
| others: | 213ms |
| total: | 441ms |

| 0 / 0 |
