powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Блокировка сообщения об ошибке
12 сообщений из 12, страница 1 из 1
Блокировка сообщения об ошибке
    #32136292
SergeyParfenov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброе утро.

Помогите пожалуйста решить проблему:
1. есть 2 тхт поля А1 и А2 на форме Ф
2. по запросу данные из этих полей заносятся в табл. Т в соотв. колонки
3. этим же запросом в таблицу добавляется объедненное значение этих полей в третью колонку. (А1+А2)=А1А2
4. эта третья колонка является индексированной без допущения повторений.
5. таким образом пользователь не сможет добавит повторяющиеся записи в Т

Вопрос:

При попытке добавить повтор. запись Access выдает станд. собщение в треть экрана. Можно ли это сообщение заменить на ("Данная запись уже существует").

Заранее огромное спасибо.
...
Рейтинг: 0 / 0
Блокировка сообщения об ошибке
    #32136295
Sfagnum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Событие формы onError
Вычисли номер ошибки и при возникновение оной подкладывай своё сообщение & Responce=False
...
Рейтинг: 0 / 0
Блокировка сообщения об ошибке
    #32136299
Фотография Senin Viktor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добавляй через ADO / DAO и отлавливай ошибку не уникальности записи или до обновления смотри есть ли искомое значение в таблице - если есть выводи свое сообщение.
...
Рейтинг: 0 / 0
Блокировка сообщения об ошибке
    #32136302
SergeyParfenov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вы не подскажете каким образом можно отловить номер ошибки
...
Рейтинг: 0 / 0
Блокировка сообщения об ошибке
    #32136310
Sfagnum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
поставь точку останова, вызови ошибку и посмотри
...
Рейтинг: 0 / 0
Блокировка сообщения об ошибке
    #32136343
SergeyParfenov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я, наверное, не правильно выразился.

Дело в том, что выдается не ошибка, а сообщение о нарушении уникальности и т.п.

Если на окне нажать "Нет" , формируется код ошибки.

Применяя DoCmd.SetWarnings False сообщение изчезает, но мне нужно заменить его на свое.

Как это реализовать. А главное, как перехватить это сообщение.
...
Рейтинг: 0 / 0
Блокировка сообщения об ошибке
    #32136354
Sfagnum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Реализовать... я проверял уникальность приблизительно так
Код: plaintext
if DCount( "ID" ,  "Table" ,  "ID=Значение" ) >  0  then 'это значение занято
...
Рейтинг: 0 / 0
Блокировка сообщения об ошибке
    #32136527
SergeyParfenov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Объясни плз. по подробней

таблица ccc

aaa bbb vvv
1 0 10
0 1 01
1 1 11
0 0 00

Я пишу

dim d as string
d="10"
Поле5.Value = DCount("[vvv]", "ccc", "[vvv]=d")

В поле5 ничего.
если Поле5.Value = DCount("[vvv]", "ccc", "[vvv]=d") то в поле5 4.
...
Рейтинг: 0 / 0
Блокировка сообщения об ошибке
    #32136545
Sfagnum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Смысл в том чтобы проверить таблицу по уникальным значениям на то есть ли там запись с такими значениями.
DCount - считает сколько записей с указаным параметром, если посчитал и оказалось 0 значит там нет таких записей и можешь смело запускать свой запрос на обновление в противном случае матерись на сколько хватает фантазии и позволяют юзверы: )
...
Рейтинг: 0 / 0
Блокировка сообщения об ошибке
    #32136554
SergeyParfenov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Это понятно. Я хотел уточнть, что в примере что.

ID - имя таблици
Table - тип ID
ID=Значение - не совсем понятно. Я думал, что это имя колонки и ее значение.

Но так не получается.
...
Рейтинг: 0 / 0
Блокировка сообщения об ошибке
    #32136558
Sfagnum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстате
>Поле5.Value = DCount("[vvv]", "ccc", "[vvv]=d")
>
>В поле5 ничего.
>если Поле5.Value = DCount("[vvv]", "ccc", "[vvv]=d") то в поле5 4.


не вижу разницы и правельнее на мой взгляд будет написать либо так:
Код: plaintext
Поле5.Value = DCount( "[vvv]" ,  "ccc" ,  "[vvv]=10 ") 

либо так:
Код: plaintext
1.
2.
dim d as string 
d= "10 " 
Поле5.Value = DCount( "[vvv]" ,  "ccc" ,  "[vvv]="  & d) 
...
Рейтинг: 0 / 0
Блокировка сообщения об ошибке
    #32136568
Sfagnum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ID - имя поля
Table - оно и есть - имя Таблицы/Запроса
ID=Значение - критерий выборки, содержание тоже что и в WHERE запроса
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Блокировка сообщения об ошибке
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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