SecretBob
Дата: 21.11.2006 15:03:02
Имеется главная форма, где вводится Специальность (например, бухучет), подчиненная форма Курс связана с главной.
Добавляю новый курс (текст, например, 3 курс). А в таблице уже есть для этой специальности запись, т.е. у бухучета есть 3 курс, если не делать проверку на наличие записи - 3 курс, то в таблицу добавится еще одна такая же запись - бухучет, 3 курс.
На подчиненной форме Курс, рядом с полем, где отображаются записи Курс, есть кнопка -- добавить курс, при нажатию на которой поле Курс очишается, и курсор стоит для ввода новой записи. Новая запись Курс добавляется с помощью макроса.
Как проверить наличие уже существующей записи? Т.е. на главной форме выбрана запись Специальность - бухучет, нажав на кнопку Добавить курс, я ввожу, например, 3 курс (а запись для специальности бухучет уже существует), должно появится сообщение, что такая запись существует, и поле Курс очищается для ввода нового курса...
Я новичок...В форуме читал про это, но применить к себе никак не удалось! Помогите!
toly_m
Дата: 22.11.2006 11:05:04
Сделать составной индекс - в таблице в режиме конструктора выделить мышкой сразу два столбца и нажать в меню на ключик.
dlookup("Поле","Таблица","Условие")
Поле, таблица - те, в которых ищется, условие - условия поиска
strKurs = dlookup("ПолеКурса","ТаблицаКурсов","ПолеКурса=" & me!ПолеКурса)
me!ПолеКурса - ссылка на поле формы, где вводится новый курс.
if len(strKurs)>0 then
msgbox "Такая запись существует!"
end if
Удачи!
SecretBob
Дата: 22.11.2006 14:06:44
Спасибо! Попробую...Нужно только после сообщения, что такая запись существует, очистить поле и передать управление опять для ввода нового значения! И еще...Этот код пишется в событии после обновления или другом?
toly_m
Дата: 22.11.2006 15:13:35
У вас база mdb? Если да, то быстрее можно решить вопрос, если ее выложите сюда (с усеченными данными, в заархивированном виде).