MS_4G
Дата: 07.03.2008 15:07:48
Здравствуйте все!
Что-то вдруг застопорился на такой проблеме.
В базе данных в единой таблице регистрируются разные типы оборудования. Число типов открытое, поэтому вопрос расщепления этой таблицы на несколько таблиц (отдельно по каждому типу) не обсуждается.
Для некоторых типов оборудования (заведомо не для всех) в числе параметров фиксируется заводской серийный номер (для остальных графа не заполняется).
Нужно, чтобы при наборе через форму не дать возможность оператору задавать повторно уже имеющийся в таблице серийный номер. Индексами по таблице этого сделать нельзя, т.к. по другим типам оборудования соответствующие пустые поля могут и будут дублироваться.
Начал делать скрипт по обработке события Потеря фокуса для поля Серийный номер, там ловится заданный оператором новый серийный номер (и, конечно, ловится, тот ли это тип оборудования, для которого дублирование не разрешено), но как тогда войти в эту же таблицу для проверки, ведь она уже открыта как источник данных для формы ввода.
Хотелось бы ловить возможные повторы именно в момент ввода, а не после того, когда повторные данные уже будут внесены в таблицу.
Заранее спасибо всем, у кого появятся какие-нибудь соображения на этот счет.
Владимир Саныч
Дата: 07.03.2008 15:19:08
MS_4G |
Индексами по таблице этого сделать нельзя, т.к. по другим типам оборудования соответствующие пустые поля могут и будут дублироваться. |
Имеется в виду, что для одного серийного номера может быть несколько записей? Если нет, то замените "нельзя" на "можно".
MS_4G |
Начал делать скрипт по обработке события Потеря фокуса для поля Серийный номер |
Принято для этих целей пользоваться событием AfterUpdate.
MS_4G |
но как тогда войти в эту же таблицу для проверки, ведь она уже открыта как источник данных для формы ввода. |
А Вы попробуйте. Если будут проблемы, напишите. Но проблем не будет.