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

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

Вопрос:

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

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

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

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

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

Как это реализовать. А главное, как перехватить это сообщение.
...
Рейтинг: 0 / 0
09.04.2003, 10:49
    #32136354
Sfagnum
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Блокировка сообщения об ошибке
Реализовать... я проверял уникальность приблизительно так
Код: plaintext
if DCount( "ID" ,  "Table" ,  "ID=Значение" ) >  0  then 'это значение занято
...
Рейтинг: 0 / 0
09.04.2003, 12:30
    #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
09.04.2003, 12:39
    #32136545
Sfagnum
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Блокировка сообщения об ошибке
Смысл в том чтобы проверить таблицу по уникальным значениям на то есть ли там запись с такими значениями.
DCount - считает сколько записей с указаным параметром, если посчитал и оказалось 0 значит там нет таких записей и можешь смело запускать свой запрос на обновление в противном случае матерись на сколько хватает фантазии и позволяют юзверы: )
...
Рейтинг: 0 / 0
09.04.2003, 12:46
    #32136554
SergeyParfenov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Блокировка сообщения об ошибке
Это понятно. Я хотел уточнть, что в примере что.

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

Но так не получается.
...
Рейтинг: 0 / 0
09.04.2003, 12:47
    #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
09.04.2003, 12:52
    #32136568
Sfagnum
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Блокировка сообщения об ошибке
ID - имя поля
Table - оно и есть - имя Таблицы/Запроса
ID=Значение - критерий выборки, содержание тоже что и в WHERE запроса
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Блокировка сообщения об ошибке / 12 сообщений из 12, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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