![]() |
Модераторы: Akina |
![]() ![]() ![]() |
|
Yashustik |
|
|||
Новичок Профиль Группа: Участник Сообщений: 15 Регистрация: 29.5.2007 Репутация: нет Всего: нет |
Помогите решить такую проблему: у меня есть таблица с обязательными для ввода полями, при попытке закрытия таблицы Access ругается если хотя бы одно из этих полей не заполнено. Как можно обработать эту ошибку, чтобы в корректной форме пользователь мог отказать от сохренения такой записи.
|
|||
|
||||
Akina |
|
|||
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 30 Всего: 454 |
А почему пользователю вообще дозволено напрямую работать с таблицами??? для этого существуют формы ввода - связанные или свободные.
-------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
Yashustik |
|
|||
Новичок Профиль Группа: Участник Сообщений: 15 Регистрация: 29.5.2007 Репутация: нет Всего: нет |
Так он и работает через ленточную форму, данных вводить надо много, в какой то момент он передумал заводить все доконца и решил закрыть форму, вот тут то ошибки и побежали, пользователь пугается, нельзя ли его более корректно предупредить что данные не сохранятся(точнее только последняя запись)
Это сообщение отредактировал(а) Yashustik - 26.8.2008, 15:11 |
|||
|
||||
Akina |
|
|||
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 30 Всего: 454 |
А вы используйте Default Value для каждого поля - никаких предупреждений и не будет. А если дефолтные значения будут формально валидны, но смысловО нелогичны - выслеживание таких "недоделанных" записей, случайно попавших в таблицы, станет очень простым делом. Их можно будет и исключить из обработки, и предлагать на редактирование при следующем открытии формы ввода.
Хотя по-хорошему надо бы оторвать форму от таблицы и записывать туда сразу всю запись со всеми полями. Программненько. По кнопочке. А заодно проверять, чего там оператор навносил... -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
Yashustik |
|
|||
Новичок Профиль Группа: Участник Сообщений: 15 Регистрация: 29.5.2007 Репутация: нет Всего: нет |
Попробовала везде по умолчанию забить нули, но ошибка все равно вываливается...:(
|
|||
|
||||
Yashustik |
|
|||
Новичок Профиль Группа: Участник Сообщений: 15 Регистрация: 29.5.2007 Репутация: нет Всего: нет |
Попробовала сделать так, но даже после закрытия формы сообщение об ошибке все равно вылетает :(
|
|||
|
||||
bopoha |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1283 Регистрация: 10.5.2006 Где: Беларусь, Минск Репутация: 21 Всего: 21 |
А как именно аксес рукгается?
Есть подозрение, что не на обязательное поле ругается. Возможные шаги для решения: 1. Обратите внимание на текстовые поля. Например, Null вводить нельзя, а он естественно вводится. Или нельзя вводить пустые значения. 2. При этом еще проверте по структуре таблицы условия на значения полей. 3. Найдите это поле (или несколько), при не заполнении которого, происходит ошибка. |
|||
|
||||
Yashustik |
|
|||
Новичок Профиль Группа: Участник Сообщений: 15 Регистрация: 29.5.2007 Репутация: нет Всего: нет |
Мне в принципе не важно на что ругается, главное, чтобы была возможность у пользователя несохранять недоделанную по каким бы то причинам запись, откатиться назад, либо просто выйти без сохранения.
|
|||
|
||||
Akina |
|
||||||||
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 30 Всего: 454 |
А сообщение об ошибке не связано с формой, оно генерируется подсистемой контроля целостности данных.
Значит, где-то что-то пропускаете. Забивайте не тупые нули, а осмысленные формально валидные значения. А то ноль, скажем, в дате, ну никак контроля не пройдет... Добавлено через 52 секунды
-------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
||||||||
|
|||||||||
bopoha |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1283 Регистрация: 10.5.2006 Где: Беларусь, Минск Репутация: 21 Всего: 21 |
Нужно же понять почему и где.
Попробуйте обработать ошибку (штатными средствами VB - On error) в события до вставки и до обновления (только я не уверен, что это может помочь). |
|||
|
||||
![]() ![]() ![]() |
Правила форума "MS Access" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | MS Access | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |