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

Выберите любой раздел ниже, чтобы узнать о сотрудниках в Northwind Developer Edition. 

Сотрудники имеют одну разделенную форму, которая работает как форма списка и сведений. 

Использование сотрудников для добавления новых сотрудников и обновления сведений о существующих сотрудниках. 

Перейдите на вкладку Сотрудники на ленте, чтобы отобразить сотрудников в форме "Список сотрудников " frmEmployeeList, которая представляет собой разделенную форму со следующими функциями: 

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

  • Нижняя часть формы — это представление таблицы всех сотрудников.

  • Выбор сотрудника в любой части также задает фокус на этом сотруднике в другой части формы разделения.

  • Вы можете добавлять, изменять или удалять сотрудников в любой части разделенной формы.

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

Потенциальное влияние на производительность разделенной формы 

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

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

РЕДАКТИРОВАНИЕ СОТРУДНИКОВ

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

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

  • Раскрывающийся список Заголовки ограничивает записи списком предварительно выбранных заголовков. Заголовки находятся в таблице подстановки с именем Titles.

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

    • Для свойства Limit to List поля со списком Название задано значение Да, а форма редактирования для заголовков определяется в свойстве Форма редактирования элементов списка. При выборе раскрывающегося списка в форме на нижнем крае отображается значок правки. 
      ...

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

ПРИМЕЧАНИЕ:В большинстве рабочих сред редактирование или добавление заголовков будет ограничено пользователями с расширенными привилегиями.
 

поля подстановки Self-Referential

Функция employee иллюстрирует концепцию поля идентификатора Self-Referential. Для поддержки назначения руководителя сотрудника в таблице есть поле SupervisorID с идентификаторами employeeIDдля других сотрудников. Чтобы назначить руководителя, в этом поле вводится идентификатор EmployeeID для другого сотрудника. Access обеспечивает целостность данных для этой связи.

ИД руководителя реализуется в форме сотрудника в виде раскрывающегося списка или поля со списком; его источник строк — это отфильтрованный набор записей из таблицы Employee. Так как он является самонаправленным, запрос должен исключить собственный EmployeeID выбранного сотрудника. Например, источник строки для SupervisorID для сотрудника Карен Финстер не включает собственный Идентификатор сотрудника Karen. Она не может быть собственным руководителем.

Поля вложений и элементы управления

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

ПРИМЕЧАНИЕ: Мы включили поле вложения в таблицу Employee , чтобы проиллюстрировать эту функцию в Access. Внедренные изображения увеличивают размер accdb и , следовательно, не считаются лучшими. Тщательно оцените среду перед ее реализацией в рабочем приложении. Предпочтительным вариантом является сетевая папка, в котором хранятся все изображения, и ссылка в текстовом поле таблицы, содержащей путь к изображению, а не поле Вложение.

Подчиненная форма со связанными сведениями

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

Источник записей формы сотрудника

Запрос с именем qryEmployees возвращает записи в форме. Рекомендуется использовать запрос, а не таблицу. Запрос возвращает записи только из одной таблицы. Кроме того, запрос можно параметризовать, чтобы ограничить количество возвращаемых записей. 

  • Предложение Select этого запроса использует подстановочный знак "*" для возврата всех полей из таблицы Employee.

  • Два вычисляемых поля в запросе возвращают FirstName LastName и LastName, FirstName.
     

Вычисляемые значения в элементах управления

ПРИМЕЧАНИЕ: Вычисляемые поля не хранятся в таблице. Однако они доступны в источнике записей формы.

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

Помимо встроенного поведения Access, подчиненные и функции VBA в формах, элементах управления в формах и в автономных модулях выполняют базовую логику, необходимую для сотрудников. В следующем разделе описаны функции и код, реализующий эти функции. 

Встроенное действие элемента управления

Поведение селектора записей формы по умолчанию: 

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

  • Щелкнув правой кнопкой мыши селектор записей слева от формы в одном представлении, откроется меню для выполнения таких действий, как вырезать, скопировать или вставить запись. При удалении или вырезании записи активируется функция EmployeeCanBeDeleted, описанная ниже.

  • Чтобы это поведение по умолчанию было доступно, должны быть включены селекторы записей.
     

Целостность данных для записей в форме

Целостность данных предотвращает удаление сотрудников, у которых есть дочерние записи в связанных таблицах. Таким образом, Access выдает ошибку, если пользователь пытается удалить запись с дочерними записями. Форма Northwind Employee Access заменяет универсальные сообщения об ошибках по умолчанию в отношении целостности ссылок пользовательскими сообщениями.

Код в процедуре Delete формы реагирует на попытки вырезать запись из контекстного меню или удалить запись с помощью клавиши Delete

Частная функция EmployeeCanBeDeleted проверяет наличие связанных записей для этого сотрудника в таблицах Заказы, Заказы на покупку, Сотрудники и Привилегии сотрудников

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

Проверки

Сотрудники реализуют проверку и стандартную обработку ошибок. Существует два типа проверки элементов управления.

  • Обязательные поля

  • Стандартные форматы

Обязательная проверка поля

 Для всех сотрудников требуются три поля:

  • Имя

  • Фамилия

  • Должность

В этой версии для разработчика событие перед обновлением формы проверяет обязательные поля. Если пользователь пытается сохранить запись сотрудника без значений для одного или нескольких обязательных полей, не имеющих значения, проверка отменяет сохранение и выделяет все обязательные поля, которые не имеют значения. В форме Employee в Northwind обязательная проверка поля обрабатывается событием перед обновлением формы, а не отдельными элементами управления.

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

Модуль modValidation содержит следующие функции:

  • ValidateForm

  • IsValidForm

  • HighlightInvalidControls

  • HighlightControl

  • ValidateForm_RemoveHighlights

Управление новыми сотрудниками

При нажатии кнопки Добавить сотрудника запускается btnNewEmployee_Click Private Sub, чтобы: 

  • сохраните текущую запись и

  • Установка фокуса формы на новую запись
    '

Подстановочные знаки и именованные поля в запросе Select

Предложение SELECT в qryEmployees использует подстановочный знак "*" для выбора всех полей в таблице. Макет запроса с подстановочными знаками автоматически включает все только что добавленные поля из базовой таблицы, что невозможно при наличии списка определенных полей. С другой стороны, можно перечислить определенные поля, чтобы ограничить возвращаемый набор записей только теми полями, которые нужны только в форме отображения, например.

Подходящие варианты оформления

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

ComboBoxes, привязанные к таблицам подстановки— два подхода

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

Поле со списком из двух столбцов со скрытым столбцом идентификатора и видимым столбцом Description позволяет выполнить эту работу. В форме сотрудника поле со списком "Руководитель" привязано к простому запросу из двух столбцов. См. свойство RowSource для супервизора.

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

Если список возможных значений невелик и является очень стабильным, например должность сотрудника, его часто называют закрытым доменом. Изменение или добавление значений для title не является обычным явлением. Таблицы подстановки закрытых доменов являются кандидатами для подхода к запросу с одним столбцом.

В форме Employee поле со списком Title привязывается к запросу заголовков из одного столбца. См. свойство RowSource для заголовков. 

Нужна дополнительная помощь?

Нужны дополнительные параметры?

Изучите преимущества подписки, просмотрите учебные курсы, узнайте, как защитить свое устройство и т. д.

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

Были ли сведения полезными?

Насколько вы удовлетворены качеством перевода?
Что повлияло на вашу оценку?
После нажатия кнопки "Отправить" ваш отзыв будет использован для улучшения продуктов и служб Майкрософт. Эти данные будут доступны для сбора ИТ-администратору. Заявление о конфиденциальности.

Спасибо за ваш отзыв!

×