Что такое многоуровневый справочник. Многоуровневые справочники

При построении сложных экономических моделей обычно имеется набор данных, используемых в нескольких таблицах как в качестве параметров расчетов, так и для построения отчетных форм. Создание и использование отдельных таблиц-справочников позволяет ускорить процесс разработки модели, повышает надежность расчетов, а также дает возможность применять специальные средства интерфейса Microsoft Excel.

В прилагаемом примере рассматривается модель с использованием двух типов справочников:

  • Одномерный - продукты с наименованием и единицей измерения
  • Двумерный - прайс-листы с различными ценами по продуктам и периодам.

Поиск в одномерном справочнике

На первом этапе (лист «Пример1») добавим в прайс-листы по продуктам формулу для поиска единицы измерения каждого продукта. Если продукты в прайс-листе располагаются в той же последовательности, что и в справочнике, то очевидно, что формула может использовать простую ссылку на справочник.

Для формирования денежной единицы измерения используем строковую операцию конкатенации (соединения частей текста).

Пример1!B10:

Для добавления единицы измерения в таблицу продаж прямая ссылка на справочник приведет к некопируемой формуле. Чтобы избежать этого, используем функцию поиска ВПР.

Пример1!D17:

VLOOKUP(B17;$A$3:$B$6;2;0)

Функция ВПР ищет значение по определенному номеру столбца (в примере – второй столбец) в прямоугольном диапазоне ячеек. Последний параметр (0 или ЛОЖЬ) используется для указания искать ли ближайшее значение (ИСТИНА), либо точное совпадение (ЛОЖЬ). Первый вариант редко используется на практике, так как требует предварительно отсортированного диапазона поиска. Важное замечание по параметру «столбец». Это не номер столбца во всей электронной таблице, а номер столбца в диапазоне поиска. Для аналойного поиска по горизонтальному массиву используется функция ГПР (HLOOKUP).

Поиск в двумерном справочнике

Сложный случай поиска по двум условиям реализован в формулах выбора цены из прайс-листа для таблицы продажи.

Необходимо выбрать значение из ячейки на пересечении строки покупателя и столбца месяца. Реализация такого алгоритма напрямую приводит к формуле с использованием функций вычисляемых ссылок:

Пример1!E17:

OFFSET($A$9;MATCH(B17;$A$10:$A$13;0);MATCH(DATE(YEAR(A17);MONTH(A17);1);$C$9:$E$9;0)+1)

Функция ПОИСКПОЗ (MATCH) ищет и возвращает порядковый номер элемента в списке (работает аналогично ВПР). Функция СМЕЩ (OFFSET) возвращает значение по относительной ссылке от определенной ячейки – в примере, от верхнего левого угла таблицы прайс-листов. Функция преобразования даты ДАТА (DATE) превращает дату в из таблицы продаж в дату, используемую в прайс-листе – первое число месяца.

Более простой вариант решения задачи использован в нижних ячейках таблицы продаж. Здесь использована формула обработки массива. Причем суммирование ведется по двумерному массиву:

Пример1!E22:

{=SUM(IF(B22=$A$10:$A$13;IF(MONTH(A22)=MONTH($C$9:$E$9);$C$10:$E$13)))}

Функция суммирования в данном случае не осуществляет никаких операций кроме поиска, так как значение выбирается на пересечении строк и столбцов.

Для лучшего понимания формулы, разложим ее в виде структуры и заменим диапазоны на значения (через нажатие F9 на выделенном диапазоне). Получим следующую картину:

SUM(IF("Продукт4"={"Продукт1":"Продукт2":"Продукт3":"Продукт4"}; IF(3={1;2;3}; { 2;2,1;2,2: 3;2,9;3,05: 1299;1280;1350: 6,4;6,9;6,7 })))

Первое условие на продукт возвращает массив {6,4;6,9;6,7}, второе условие выбирает из этого массива последнее значение.

В принципе обе формулы являются копируемыми и можно использовать ту, которая легче для восприятия. В части производительности вероятно первый вариант будет работать быстрее. Но это заметно только на очень больших объемах данных.

Использование справочников для создания пользовательского интерфейса

Обратите внимание на выпадающий список для выбора элементов справочника на листе «Пример2», таблицы «Продажи» (Пример2!B17).

Организация подобных выпадающих списков возможна через опцию «Проверка». Доступ в Excel до 2007 через меню Данные\Проверка (Data\Validation), в Excel 2007 и старше – лента Данные\Работа с данными\Проверка данных (Data\Data Tools\Data Validation).

При выборе данного пункта меню появляется диалог, позволяющий организовать проверку вводимых в ячейку данных. Одной из возможностей такой проверки является выбор значений из списка.

Интерфейс с организацией выпадающего списка существенно снижает риск ошибок при вводе строковых значений в ячейку электронной таблицы.

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

К счастью, имеется обходной путь для решения этой проблемы. Проверки не допускает прямых ссылок на другие листы, но нормально понимает именованные диапазоны.

Обратите внимание на описание проверки в ячейке Пример2!B18. Здесь вместо ссылки на лист «Пример1» задана формула

Имя listProducts задано в примере как диапазон Пример1!$A$3:$A$6. Очевидно, что использование такого именованного диапазона делает более прозрачным смысл заданного условия проверки, а также снижает риск ошибки в формуле.

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

Справочники бывают многоуровневыми, наибольшее число уровней равно трем. К примеру, многоуровневыми являются справочники Номенклатура , Сотрудники . Справочник может быть и простым списком.

Каждый элемент справочника имеет уникальный код. Он присваивается автоматически при вводе нового элемента͵ обеспечивает целостность информационной базы.

Некоторые реквизиты справочников имеют свойство периодичности. Это свойство позволяет хранить историю изменения значения, к примеру, курс валют. Новое значение, введенное в справочник, будет действовать, начиная с даты изменения. Периодичность используется при заполнении документа͵ и при построении отчета͵ в связи с этим перед изменением значения такого реквизита следует проверить рабочую дату, установленную в параметрах системы (Сервис Параметры Общие ).

Некоторые справочники подчинœены другим справочникам. К примеру, справочник Банковские счета подчинœен справочнику Фирмы , справочник Расчетные счета – справочнику Контрагенты , справочники Комплектация и Единицы измерения – справочнику Номенклатура .

При работе с подчинœенным справочником сначала должен быть открыт справочник-родитель. Подчинœенный справочник будет содержать только элементы, относящиеся к одному элементу справочника-родителя, при этом режим отображения должен быть в виде иерархического списка.

Просмотр и редактирование справочников возможно из главного меню. Работа с ними облегчает ввод данных в первичные документы. Некоторые справочники можно редактировать и в процессе работы.

Для редактирования справочников существует множество инструментов. Наиболее часто используются кнопки инструментальной панели. Некоторые команды выполняются из меню Действия , из контекстного меню или с использованием горячих клавиш.

Процедура удаления элементов справочника имеет особенности и состоит из двух этапов. При удалении документ сначала только помечается как кандидат на удаление. Реальное удаление следует выполнять через меню Действия Удалить .

При выполнении этой команды сначала происходит контроль данных. В случае если в удаляемых документах есть связанные данные (используемые в других таблицах), данное не может быть удалено.

4.2.1. Справочник «Фирмы»

В модели типовой конфигурации предприятия, объединяемые в единое целое предприятие торговли, имеют название «фирмы». С точки зрения управленческого учета͵ это одно предприятие. С точки зрения финансового учета͵ каждая фирма, это самостоятельное юридическое лицо.

Справочник «Фирмы» предназначен для ведения списка фирм и хранения их реквизитов, необходимых при заполнении первичных документов, ведения учета и составления отчетности. Справочник одноуровневый. Число фирм не ограничено.

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

Ввод и редактирование информации о фирме выполняется в окне диалога, содержащем три вкладки.


  • - Справочники

    Константы Некоторые данные в системе учета изменяются очень редко или, в идеале, не изменяются вовсе. Такие данные обычно хранятся в константах. Например - это информация о валюте регламентированного учета. Обычно такой учет ведется в рублях, но в конфигурации... [читать подробенее]


  • - Словари, энциклопедии, справочники

    Грамматики Учебники и учебные пособия Список сокращений Имена цитируемых писателей А. А. – А. Ахматова А. Б. – А. А. Блок А. В. – А. Вознесенский Арс. – Арсеньев А. Г. – А. Галич А. Гр. – А. С. Грибоедов А. К. – А. Куприн Акс. – С. Т. Аксаков А. С. – А. И.... [читать подробенее]


  • - Справочники исполнителей.

    Принципиальная технологическая схема возведения объекта. Тема №4. Состав и разработка документации исходного этапа моделирования. 4.1. Принципиальная технологическая схема возведения объекта. 4.2. Справочники исполнителей. 4.3. Локальные сетевые модели... [читать подробенее]


  • - Онлайновые энциклопедии и справочники

    Метапоисковые системы Интернет развивается стремительными темпами - каждый день появляются сотни тысяч новых Web-страниц. Рост количества документов происходит быстрее, чем поисковые системы успевают их проиндексировать. Отсюда следует неутешительный вывод, что,... [читать подробенее]


  • - Словари и справочники

    1. Абрамов Н. Словарь русских синонимов и сходных по смыслу выражений. Любое издание. 2.Агеенко Ф.Л., Зарва М.В. Словарь ударений русского языка. М., 2000 3.Бельчиков Ю.А., Панюшева М.С. Словарь паронимов русского языка. М., 1994 4.Большой орфографический словарь русского языка. Ред.... [читать подробенее]


  • - Правовые базы данных и справочники

    Корректность ведения учета требует от бухгалтера хорошего знания существующей нормативной базы. Самостоятельно отсле­живать все изменения в законодательстве достаточно сложно. Поэтому многие бухгалте­ры и экономисты являются пользователямиправовых баз данных....

  • Многоуровневые справочники

    Заполнение справочников

    Периодические константы

    Если константа периодическая, то в списке констант храниться не только последнее ее значение, но и все ранее существовавшие значения с датами их ввода.

    Для просмотра и редактирования истории значения константы необходимо:

    Данные необходимые для организации аналитического учета и заполнения документов хранятся в справочниках. Каждый справочник предназначен для хранения сведений об однотипных объектах, представленных в виде таблицы:


    Открыть нужный справочник можно через меню Справочники .

    Для ввода в справочник нового элемента используется клавиша Insert или

    В зависимости от объема хранимой об объекте информации данные могут быть введены непосредственно в ячейки таблицы или в специальную форму.

    Одноуровневый справочник – это простой список элементов.

    Многоуровневый справочник – это иерархический список, в котором записи объединяются в группы. Некоторые справочники позволяют создавать группы внутри групп. В окне многоуровневого справочника отображается структура списка .


    Для создания новой группы в многоуровневом справочнике используется кнопка Новая группа на панели инструментов окна или на клавиатуре Ctrl+F9 .

    Щелчком по знаку +(-) на дереве групп можно сворачивать и разворачивать структуру. Двойной щелчок по папке (на дереве папок или в списке) открывает группу. На клавиатуре Ctrl+↓ -- открыть группу, Ctrl+ -- закрыть группу.

    Данные справочников используются при регистрации хозяйственных операций, вводе значений в документы, другие справочники и т.д.

    Для ввода данных справочника достаточно в окне редактируемого объекта нажать кнопку выбора элемента справочника или на клавиатуре F4 .

    В результате данные справочника будут представлены в виде нового окна либо справочник будет открыт в режиме выбора элемента.

    Чтобы выбрать элемент, надо выделить его и нажать клавишу Enter или двойным щелчком.

    В режиме выбора доступно создание новых элементов и их редактирование.

    Элементы справочника могут быть объединены в группы. Если объекты справочника можно группировать, то в меню Действия используется команда Новая группа , а на панели инструментов окна – кнопка Новая группа (желтая папка на верхней панели любой открытой формы). Для каждой новой группы автоматически задается уникальный код (но менять его можно) и название. Чтобы открыть группу, надо дважды щелкнуть по значку «желтая папка » или выбрать Действия \ Следующий уровень . Некоторые справочники позволяют создавать дерево групп, т. е. группы внутри групп (группы второго, третьего и т. д. уровней). Дерево групп показывается на левой половине многоуровневых справочников. Щелчком по знаку +(-) на дереве групп можно сворачивать и разворачивать структуру групп. Двойной щелчок по папке на дереве открывает группу. Для возврата к списку предыдущего уровня надо дважды щелкнуть по значку открытой группы (открытая папка) или выбрать Действия \ Предыдущий уровень .

    Рис.8. Перемещение по уровням справочника.

    Подчиненные справочники . Система позволяет связывать между собой элементы разных справочников. Например, в справочнике Договоры хранятся номера договоров, заключенных с конкретной организацией (или частным лицом) – элементом справочника Контрагенты . Говорят, что один справочник подчинен другому. В данном случае Контрагенты – справочник-владелец, а Договоры – подчиненный справочник.

    ВИДЫ СПРАВОЧНИКОВ

    Номенклатура.

    Этот справочник предназначен для сохранения списка ТМЦ – товаров, продукции, материалов, услуг и т.д. – которые выполняются и получаются. Он используется как для заполнения документов, так и для ведения аналитического учета по бухгалтерским счетам. Для элементов этого справочника можно использовать несколько единиц измерения.

    Необоротные активы.

    Справочник предназначен для сохранения списка объектов основных средств, нематериальных активов, других необоротных материальных активов, других необоротных активов и используется при редактировании документов и при ведении аналитического учета по трехуровневой структуре, что дает возможность соединять его элементы в произвольные группы и подгруппы.

    Каждый необоротный актив характеризуется видом, который задается в реквизите «Вид необоротного актива», однозначно определяет счет и методологию учета актива и может принимать такие значения: «Основные средства», «Другие необоротные материальные активы», «Нематериальные активы», «Другие необоротные активы». В отличие от справочника «ТМЦ», для элементов этого справочника существует только одна единица измерения.

    Склад продукции.

    Это подчиненный справочник; справочник – владелец – «ТМЦ».



    Для каждого ТМЦ с установленным видом «Продукция» справочник «Состав продукции» содержит список материалов и других расходов, которые обычно идут на производство этого ТМЦ. Кроме стандартного меню, справочник может быть открыт с помощью кнопки «Состав продукции» при редактировании ТМЦ вида «Продукция».

    Подчиненный справочник справочника «Номенклатура». В нем хранится список партий ТМЦ. В случае использования метода учета «По партиям» записи в документе создаются автоматически – при проведении приходных документов, например, «Приходной накладной» или «Калькуляции». Для учета ТМЦ по средневзвешенной цене в справочнике существует только одна партия – «Партии по умолчанию», по которой и ведется весь учет.

    Единицы измерения.

    Справочник – владелец – «ТМЦ». Редактирование происходит путем открытия из «ТМЦ» и выбора вида ТМЦ, единицы измерения которого надо редактировать, и последующего перехода в справочник «Единицы измерения». Важным реквизитом единицы измерения является «Коэффициент». Он задает коэффициент перерасчета из указанной единицы измерения в базовую (в которой учитываются остатки товаров). Например, если некий товар учитывается в штуках и упаковках, причем в одной упаковке – 5 штук, то для такого товара можно установить базовую единицу «шт.» (в самом справочнике «ТМЦ»), и в справочнике «Единицы измерения создать дополнительную единицу «уп.», для которой указать коэффициент перерасчета, равный 5.

    Справочник предназначен для сохранения списка валют и их курсов, а также используется при формировании бухгалтерских проводок по счетам, на которых установлен признак ведения валютного учета. Справочник имеет одноуровневую структуру. На вкладке «Основные» для каждого элемента справочника необходимо указать наименование, короткое наименование, курс НБУ и кратность.

    Денежные счета

    Одноуровневый; подчиненный справочника «Контрагенты». Сохраняте списки счетов контрагента для совершения расчетов на безналичной основе.

    Места хранения.

    Предназначен для ведения списка мест сохранения материально – производственных запасов (основных средств, нематериальных активов, материалов) организации. Этот справочник используется как для выписки первичных документов, так и для ведения аналитического учета по счетам 10,11,12,20,26,28 и др..

    Каждый элемент справочника характеризуется типом места хранения – склад или материально – ответственное лицо, за которым числится конкретный объект учета, а также собственно наименованием места хранения.

    Счета нашей фирмы.

    Здесь хранится список всех мест, где могут находиться наличные и безналичные средства. Этот справочник используется как для редактирования документов, так и для ведения аналитического учета по таким счетам бухгалтерского учета: «Касса», «Счета в банках», «Балансовая стоимость валюты (налоговый учет)».

    Сотрудники.

    Справочник предназначен для хранения информации о сотрудниках, работающих в организации. Справочник имеет трехуровневую структуру, сотрудников в нем можно объединять в произвольные группы и подгруппы.

    Валовые доходы/расходы.

    Справочник используется для ведения аналитического учета по забалансовым счетам «Валовые расходы» и «Валовые доходы». Реализован трехуровневым. Верхний уровень – «Валовые расходы» ВР, «Валовые доходы» ВД и элемент «Не доходы и не расходы». Справочник организован в соответствии со структурой Декларации о прибыли. Если в каждой проводке по счетам ВР, ВД в каждом документе правильно указывать статью из этого справочника, то Декларация о прибыли сформируется автоматически.

    Виды затрат

    Трехуровневый справочник, используемый при создании документов и ведении аналитического учета по бухгалтерским счетам.

    Налоги и отчисления.

    Справочник содержит список налогов, отчислений, сборов в различные государственные целевые фонды, а также дополнительную информацию о каждом виде отчислений и налогов: ставку, границу, организацию – получателя и т.д. Справочник предназначен для автоматического вычисления сумм налогов и отчислений, при редактировании документов и ведения аналитического учета. Каждый элемент справочника характеризуется уникальным текстовым кодом и набором реквизитов.

    ЗАПОЛНЕНИЕ СПРАВОЧНИКА «НОМЕНКЛАТУРА».

    Повторим понятия справочника «Номенклатура », в котором хранится список ТМЦ и оказываемых или получаемых услуг.

    Для удобства поиска информации, справочник реализован трехуровневым, т.е. ТМЦ в нем можно объединять в произвольные группы и подгруппы. В нижней части окна справочника выводятся цены с НДС и без него для выбранного элемента.

    С помощью кнопки «Открыть партии » можно просмотреть список всех партий ТМЦ, на котором в данный момент установлен курсор.

    Информация о каждом элементе справочника разделена на закладки «Цены » и «Дополнительно ». Каждый ТМЦ имеет отпускную цену и валюту продажи. Это означает, что при выписке документов (счетов – фактур и накладных) эти цены будут пересчитаны в валюту образуемого документа по заранее обозначенному курсу. Цены покупки и продажи сохраняются без НДС, а розничная цена – с НДС, и только в гривнах. Отметим, что цены не могут быть «твердыми», их можно менять в каждом конкретном документе.

    Укажем особенности учета каждого вида ТМЦ:

    «Товар ». Под товаром подразумевается ТМЦ, который можно приобретать и продавать. Бухгалтерский счет товаров по умолчанию – 28.1.

    «Услуга ». Под услугой понимаются как услуги, оказываемые нами, так и те, которые оказываются нам сторонними организациями. Бухгалтерский счет услуг по умолчанию – 84.

    «Тара ». Отличие тары от товара только в особенностях заполнения документа «Приходная накладная». Счет учета тары по умолчанию – 28.4.

    «Продукция ». Под этим термином понимается ТМЦ, который производится и продается нашей организацией. Счет продукции по умолчанию – 26.

    «Полуфабрикат ». Это ТМЦ, который производится и продается нашей организацией и включается в состав продукции при производстве. Счет полуфабрикатов по умолчанию – 25.

    «Материал ». Это ТМЦ, который приобретается организацией и затем используется для производства продукции. Счет по умолчанию - 20.1.

    «Стройматериал» , «Топливо ». Под этими видами ТМЦ подразумеваются стройматериалы и топливо, используемые для собственных нужд. Эти ТМЦ не подлежат продаже. Бухгалтерский счет по умолчанию – 20.5 и 20.3.

    «Запчасти ». Сюда относятся запасные части и агрегаты, предназначенные для ремонта и замены изношенных машин, транспортных средств, разного оборудования. Бухгалтерский учет по счету 20.7

    «МБП ». Малоценные и быстроизнашиваемые предметы (мелкое оборудование, инвентарь, спецодежда ит.д.). Счет учета – 22.

    Для каждого вида ТМЦ, кроме бухгалтерского счета учета, необходимо также указывать счет затрат и вид затрат, которые будут использоваться при формировании проводок по приходованию услуг и по списанию ТМЦ в производство. ДЛЯ МБП в реквизитах «Счет » и «Вид затрат » необходимо указать счет и статью расходов, на которые будет списана учетная стоимость МБП при введении их в эксплуатацию.

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

    В предыдущей главе предлагалось вместо создания множества однотипных справочников сделать один макет справочной формы и цеплять к нему источник данных при запуске. Но можно углубиться еще дальше. Воспользуемся идеей, которую предложил Валерий Крук - сделаем одну справочную таблицу и будем хранить в ней данные всех справочников. Для этого потребуется еще одно поле - идентификатор «справочной таблицы», чтобы определить, к какому справочнику относится данная запись. А для реализации двухуровнего справочника создадим вторую таблицу, в которой будут храниться связанные с первой таблицей записи.

    При установке связей между таблицами СПРАВОЧНИК и СПРАВОЧНИК Sub установим флажок «Каскадное удаление связанных записей» - это как раз тот случай, когда такая процедура будет полезной. Ведь при удалении записи из таблицы «СПРАВОЧНИК» связанные с ней данные становятся не нужными.

    Если Вы откроете схему данных, то увидите только две связанные между собой справочные таблицы. В предыдущем примере к основной таблице «Адресат» были привязаны все справочники, и я еще подробно рассказывал о связях, флажках… Дело в том, что при данной схеме организации справочной системы мы не сможем прицепить таблицу «СПРАВОЧНИК» к какому либо полю, ведь в ней теперь хранятся все справочные данные. Да в этом и нет надобности. Если учесть, что пользователь будет работать с базой исключительно через формы, то вероятность ввода в основную таблицу записей, которых нет в справочной, сводиться практически к нулю.

    Параметры справочников хранятся в служебной таблице tSystemFormPar. В поле Tabl указан идентификатор соответствующего справочника.
    Рассмотрим отличия от предыдущего варианта.

    Все глобальные переменные и константы я перенес в специальный модуль, который так и называется Constants. Хотя объявлять их можно в любом модуле, главное, чтобы они были в разделе General и начинались с ключевого слова Public, но лучше хранить их для наглядности в одном месте.

    В модуль SprawForm добавилась новая функция - fFilListBox. Она во многом похожа на fFilForm, но служит для фильтрации списка, поэтому в параметрах вместо frm As Form поставлено lst As ListBox. Кроме этого, в обеих функциях изменена строка формирования фильтра:

    strFiltr = " WHERE Left([" & strFieldName & "]," & Len(strFiltr) & ") = "" & strFiltr & """ & " and СПРАВОЧНИК.Type = " & strTableName

    Ведь теперь нужно фильтровать не только по значению в поле фильтра, но так же и по параметру (идентификатору справочника) в таблице tSystemFormPar. Так же если для формы источник данных задается через

    RecordSource = strSql1 & strFiltr & " " & strSql2

    то для списка нужно использовать свойство RowSource

    RowSource = strSql & strFiltr & " " & strSql1

    В модуле формы «Справочник» добавилось условие отбора по полю Type таблицы СПРАВОЧНИК

    Me.Subfrm.Form.RecordSource = strSql2 & " WHERE СПРАВОЧНИК.Type = " & strTableName & strSql3

    и появилось новое - присвоение полю Type значения по умолчанию, равное текущему значению переменной strTableName

    Me.Subfrm.Form!Type.DefaultValue = " & strTableName

    Ведь если этого не сделать, то запись в таблице СПРАВОЧНИК окажется не привязанной к текущему типу справочника.

    В модуле формы двухуровневого справочника «СправочникМ» видим, что формируются две пары строк - источников данных: strSql, strSql1 - для списка и strSql2, strSql3 - для табличной формы. Строки разбиты на пары потому, что между ними нужно будет вставлять условие отбора (WHERE…) Чтобы новое введенное значение в поле формы тут же отображалось в списке, служит процедура

    Private Sub Fld_AfterUpdate()
    DoCmd.RunCommand acCmdSaveRecord
    Me.ListB.RowSource = strSql & " WHERE СПРАВОЧНИК.Type = " & strTableName & strSql1
    End Sub

    А для навигации по форме (поиску нужной записи) используем

    Private Sub ListB_AfterUpdate()
    Dim rs As Object
    Set rs = Me.Recordset.Clone
    rs.FindFirst " = " & Str(Nz(Me!, 0))
    If Not rs.EOF Then Me.Bookmark = rs.Bookmark
    End Sub

    Чтобы исключить возможность ввода в табличную форму (источник - СПРАВОЧНИК Sub) записей, не связанных с основной формой (источник - СПРАВОЧНИК) служит процедура, которая выводит соответствующее сообщение при подобной попытке и блокирует ее:

    Private Sub Subfrm_Enter()
    If flgDeleteRecord = False Then
    If IsNull() Then
    MsgBox "Сначала нужно завести основные данные!", vbCritical, NomWers
    Fld.SetFocus
    End If
    End If
    End Sub

    Раз на форме появилось второе поле фильтра, появилась соответствующая процедура фильтрации по этому полю

    Private Sub П2_Change()
    strFiltr = Me.П2.Text
    Set idField = Me.П2
    Call fFilForm(strFiltr, strSql2, strSql3, Me.Subfrm.Form, "Name")
    End Sub

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

    А теперь можете поэкспериментировать, создавая разного вида справочники - простые и двухуровневые.