Форумы HiProg.com - MS ACCESS, VBA, VB

 

Ответить на сообщение

Вернуться к теме

Вы отвечаете на сообщение:

ник: Санька
В этом поле для поиска нет необходимости. Аксесс реализует эту функцию в поле со списком (она уже там встроенная) как только начинаешь вводить символы, при первом совпадении предлагаются варианты найденного наиболее близкого совпадения и при нажатии, например, Ентер атоматически возвращается найденная запись, в том числе и по остальным полям этой записи, то есть в моем случае дата рождения и номер паспорта.

Да и если делать сначала поиск в отдельном поле, а потом еще и добавление новой записи через дополнительную форму (для добавления) это, во-первых, занимает больше времени при внесении записей в базу и, во-вторых, выглядит не очень эргономично. Это я знаю, как сделать и если никто не поможет с процедурой, возможно, так и придется идти окольными путями.

А когда прописана эта процедура (добавление в поле со списком) то происходит следующее. Ставим курсор в поле со списком, начинаем вводить (например, фамилию имя и отчество), происходит автоматический поиск и подстановка наиболее подходящей записи. В случае, если такая запись уже есть, мы соглашаемся и она возвращается, то есть отражается во все полях (ФИО, Дата рождения и паспорт). Хотя, конечно, в идеальном варианте уникальность записи (значение ключевого пля - счетчика) необходимо определять по всем трем полям: ФИОУчастника, Дата роджение и Номер паспорта. Тогда вероятнось совпадений будет очень малой. И процедура события "Отсутствие в списке" должна вести поиск по всем указанным полям и предлагать дбавение во все три поля.

Если же такой записи нет, появляется сообщение "Значение отсутствует в списке. Добавить?" и кнопка "ОК". При нажатии "ОК" Аксесс (благодаря этой процедуре) создает новую запись в источнике строк (в таблице, к котрой присоединено поле со списком), автоматически добавляет набранное в поле со спискм значение в источник строк и после ввода значений в поле дата рождения и в поле номер паспорта обновляет форму.

Это позволяет вносить записи очень бысто и просто, к тому же выглядит очень профессионально.

Да и процедура эта небольшая, просто я не владею VBA и потому не могу сам это прописать. А для программстов, знающих язык - это пара пустяков. Лет семь назад, один такой программист прописал мне эту процедуру за 20 минут. И работала она очень красиво. Только, как я уже говорил, утерял я эту базу, а то взял бы процедуру оттуда и приспособил бы ее для этой базы.

В любом случае, спасибо за отклик.


Ваше имя:

Пароль:

Цитировать: [quote][/quote] Код: [code][/code]
Жирный: [b][/b] Наклонный: [i][/i]
URL: [url][/url] 

Сообщение:

 Размер файла не более 50 Кбт. Большие файлы можно размещать на www.slil.ru

Прикрепить:

 

Для вставки смайлов в текст щелкните по значку.