-Поиск по дневнику

Поиск сообщений в rss_sql_ru_access_programming

 -Подписка по e-mail

 

 -Постоянные читатели

 -Статистика

Статистика LiveInternet.ru: показано количество хитов и посетителей
Создан: 16.03.2006
Записей:
Комментариев:
Написано: 4


Overflow при использовании dlookup

Суббота, 19 Марта 2016 г. 03:20 + в цитатник
Доброго времени суток всем.
Уважаемые знатоки, подскажите пожалуйста, решение.

Есть образец базы, mdb, ещё формата Access 2000 (в прицепе).
У клиента есть реестр дисконтных карточек, причём их номера состоят из 12-ти символов.
Необходимо, что бы при вводе номера новой карточки программа проверяла его уникальность, и если такой номер уже введён, то, допустим, выдавала сообщение "Номер занят". А если такого номера в реестре ещё нету - появлялось сообщение "Номер свободен".
Таблица с номерами карточек "ТСкидкаРег", поле с номерами - "КодКарты" (тип поля - Числовой, размер - Действительное, точность - 18, с запасом).
В форме с реестром карточек FDiscontSpisok по нажатию кнопки "Новая карточка" открывается форма FRegDiscontKDir с полем для ввода нового номера Штрихкод (поле свободное). Вводим новый номер, жмём кнопочку "Регистрировать".
И по нажатию выполняется:

Private Sub Рег_Click()
Код& = Nz(DLookup("[КодКарты]", "ТСкидкаРег", "[КодКарты] =" & [Forms]![FRegDiscontKDir]![Штрихкод]), 0)
If Код = 0 Then
MsgBox "Номер свободен", vbOKOnly, "Предупреждение"
Else
MsgBox "Номер занят", vbOKOnly, "Предупреждение"
End If
End Sub

Этот способ отлично работает при числах до десяти цифр включительно. Но если вводим номер из 12-ти символов (по условию) - новый
номер обрабатывает правильно (Номер свободен). А если такой номер из 12-ти символов уже существует - выдаёт ошибку Overflow.

Пробовал изменить тип поля для номера карточки на текстовый и, соответственно, менял строку на
Код& = Nz(DLookup("[КодКарты]", "ТСкидкаРег", "[КодКарты] ='" & [Forms]![FRegDiscontKDir]![Штрихкод]& "'"), 0)
Результат - точно такой же, Overflow.
Перерыл кучу справок, форум, подозреваю, что как то надо явно указать тип данных - но ничего пока не получилось.
Спасите, просветите...

С уважением.

http://www.sql.ru/forum/1205938/overflow-pri-ispolzovanii-dlookup


 

Добавить комментарий:
Текст комментария: смайлики

Проверка орфографии: (найти ошибки)

Прикрепить картинку:

 Переводить URL в ссылку
 Подписаться на комментарии
 Подписать картинку