Перейти до основного
Підтримка
Вхід
Вхід за допомогою облікового запису Microsoft
Увійдіть або створіть обліковий запис.
Вітаємо,
Виберіть інший обліковий запис.
У вас є кілька облікових записів
Виберіть обліковий запис, за допомогою якого потрібно ввійти.

Виберіть будь-яку тему нижче, щоб дізнатися про працівників у випуску Northwind Developer Edition. 

У працівників є одна розділена форма, яка працює як список і докладна форма. 

Використовуйте функцію "Працівники", щоб додавати нових працівників і оновлювати відомості про наявних працівників. 

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

  • Верхня частина форми – це єдине подання одного працівника.

  • Нижня частина форми – це вікно табличного подання даних усіх працівників.

  • Вибір працівника в будь-якій частині також установлює фокус на працівника в іншій частині розділеної форми.

  • Ви можете додавати, редагувати або видаляти працівників у будь-якій частині розділеної форми.

  • Використання розділеної форми з частиною вікна табличного подання даних передбачає, що джерело записів форми має кілька записів.

Потенційний вплив на продуктивність розділеної форми 

Більшість розробників не завантажують нефільтровану таблицю або запит як джерело записів для форми. Фільтрування форми до одного запису зменшує обсяг даних, які потрібно перенести з таблиці до форми. У локальній таблиці Access різниця між завантаженням відфільтрованого джерела записів і невеликим невідфільтрним джерелом записів може бути ледь помітною. Проте ця продуктивність втрачається, якщо таблиці Access замінено на віддалену серверну базу даних, наприклад SQL Server. 

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

РЕДАГУВАННЯ ПРАЦІВНИКІВ

Під час додавання або редагування записів у розділеній формі користувачі можуть вводити значення в поданні форми або у вікні табличного подання даних. Деякі поля обов'язкові, деякі – необов'язкові. Форма перевіряє наявність значень у обов'язкових полях. Див . розділ Обов'язкова перевірка поля нижче.

Таблиці підстановки, списки значень і елементи керування розкривного списку

  • Розкривний список Заголовки обмежує записи списком попередньо вибраних заголовків. Заголовки містяться в таблиці підстановки під назвами.

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

    • Для властивості Limit to List (Обмеження до списку) поля зі списком Title (Назва ) установлено значення Yes (Так), а форма редагування заголовків – у властивості List Items Edit Form (Форма редагування елементів списку). Якщо вибрати розкривний список форми, з нижнього краю екрана з'явиться піктограма редагування. 
      ...

Якщо клацнути піктограму редагування, відкриється форма редагування заголовків (frmEmployeeTitles), у якій можна змінити або додати до списку затверджених назв. 

ПРИМІТКА:У більшості робочих середовищ редагування або додавання назв буде обмежено користувачами з розширеними правами.
 

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

Функція працівника ілюструє концепцію поля ідентифікатора Self-Referential. Щоб підтримати позначення керівника працівника, у таблиці є поле Наглядового ідентифікатора з ідентифікатором працівникадля інших працівників. Щоб призначити керівника, у це поле вводиться ідентифікатор працівника для іншого працівника. Access застосовує цілісність даних для цього зв'язку.

Ідентифікатор нагляду впроваджується у формі працівника як розкривний список або поле зі списком; його джерело рядків – це відфільтрований набір записів із таблиці "Працівник". Оскільки він є самопосилальним, запит має виключити власний ідентифікатор працівника вибраного працівника. Наприклад, джерело рядків для SupervisorID для працівника Карен Фінстер не містить ідентифікатор працівника Карен. Вона не може бути її власним керівником.

Поля вкладень і елементи керування

Зображення працівників зберігаються в полі вкладення таблиці. Ви додаєте нові зображення або змінюєте наявні зображення, використовуючи стандартну поведінку Access для полів вкладень. 
...

ПРИМІТКА: Ми включили поле вкладення в таблицю "Працівник ", щоб проілюструвати цю функцію в Access. Вбудовані зображення збільшують розмір accdb і , отже, не вважаються найкращою практикою. Уважно оцініть своє середовище перед його впровадженням у виробничій програмі. Основною альтернативою є мережева папка, у якій зберігаються всі зображення, а посилання в текстовому полі таблиці, що містить шлях до зображення, а не поле Вкладення.

Підформа з пов'язаними відомостями

У підформі "Замовлення" (у правій частині форми "Працівник") відображаються нещодавні замовлення (якщо вони є), оброблені працівником. Порядок списків підформ у вікні табличного подання даних, відсортований від найновішого до найстарішого. Щоб змінити наявне замовлення для цього працівника, у підформі "Замовлення" клацніть ідентифікатор замовлення за гіперпосиланням #.

Джерело записів форми працівника

Запит qryEmployees повертає записи у формі. Зазвичай краще використовувати запит, а не таблицю. Запит повертає лише записи з однієї таблиці. Крім того, можна параметризувати запит, щоб обмежити кількість повернутих записів. 

  • Речення Select цього запиту використовує символ узагальнення "*", щоб повернути всі поля з таблиці "Працівник".

  • Два обчислювані поля в запиті повертають ім'я "Прізвище" та "Прізвище", "Ім'я".
     

Обчислювані значення в елементах керування

ПРИМІТКА: Обчислювані поля не зберігаються в таблиці. Проте вони доступні в джерелі записів форми.

Більшість елементів керування у формі "Працівник " увімкнуто , тому їх можна вибрати за допомогою миші або клавіші табуляції та не заблоковано , щоб їх можна було редагувати. 

Окрім вбудованої поведінки Access, підсайти та функції VBA у формах, елементи керування у формах і в автономних модулях виконують базову логіку, необхідну для працівників. У наведеному нижче розділі описано функції та код, який впроваджує ці функції. 

Вбудована дія керування

Стандартна поведінка засобу вибору записів форми: 

  • Клацання лівою кнопкою миші на селекторі записів ліворуч від форми в одному поданні дає змогу зберегти поточний запис із будь-якими змінами. Збереження, клацнувши лівою кнопкою миші селектор записів, викликає відповідні підрозділи та функції VBA.

  • Якщо клацнути правою кнопкою миші селектор записів ліворуч від форми в одному поданні, з'явиться меню для виконання таких дій, як Вирізання, Копіювання або Вставлення запису. Видалення або вирізання запису викликає функцію EmployeeCanBeDeleted, описану нижче.

  • Щоб ця поведінка за промовчанням була доступна, потрібно ввімкнути вибір записів.
     

Цілісність даних для записів у формі

Цілісність даних запобігає видаленню працівників, які мають дочірні записи в пов'язаних таблицях. Таким чином, Access викликає помилку, якщо користувач намагається видалити запис із дочірніми записами. У формі "Працівник Компанії Northwind" Програма Access замінює загальні стандартні повідомлення про помилки, що стосуються цілісності даних, на настроювані повідомлення.

Код у процедурі видалення форми відповідає на спроби вирізати запис із контекстного меню або видалити запис за допомогою клавіші Delete

Функція Private, EmployeeCanBeDeleted, перевіряє наявність пов'язаних записів для цього працівника в таблицях "Замовлення", "Замовлення на придбання", "Працівники" та "Права працівників". 

Якщо їх буде знайдено, ця функція пригнічує стандартне повідомлення про помилку та інформує користувача про причину, з якої не можна видалити запис, використовуючи таке саме універсальне діалогове вікно, що й форма Клієнта , щоб сповістити користувача про причину видалення Клієнта.

Перевірки

Працівники реалізують перевірку та стандартну обробку помилок. Існує два типи перевірки елементів керування.

  • Обов'язкові поля

  • Стандартні формати

Обов'язкова перевірка поля

 Для всіх працівників потрібно три поля:

  • Ім’я

  • Прізвище

  • Посада

У цій версії розробника подія Перед оновленням форми перевіряє обов'язкові поля. Якщо користувач намагається зберегти запис працівника без значень для одного або кількох обов'язкових полів, які не мають перевірки значення, скасовує збереження та виділяє обов'язкові поля, які не мають значення. У формі "Працівник" у компанії Northwind обов'язкова перевірка поля обробляється подією Before Update форми, а не окремими елементами керування.

Подія " Перед оновленням " форми "Працівник" перевіряє наявність значень для трьох обов'язкових полів. Збереження нового або зміненого запису працівника призводить до того, що подія форми Before Update (Перед оновленням ) у формі викликає наявність або відсутність необхідних значень у загальнодоступних функціях, які перевіряють наявність і відповідають на них.

Модуль modValidation містить такі функції:

  • Перевірити форму

  • IsValidForm

  • Виділити елемент керування в категорії "Основне"

  • Елемент керування виділенням

  • ValidateForm_RemoveHighlights

Керування новими працівниками

Якщо натиснути кнопку Додати працівника, відкриється btnNewEmployee_Click Private Sub, щоб: 

  • зберегти поточний запис і

  • установити фокус форми на новий запис
    '

Символи узагальнення та іменовані поля в вибірковому запиті

Речення SELECT у qryEmployees використовує символ узагальнення "*", щоб вибрати ВСІ поля в таблиці. Макет запиту із символами узагальнення автоматично містить усі нові додані поля з базової таблиці, що неможливо створити зі списком певних полів. З іншого боку, можна рахувати певні поля, щоб обмежити набори записів лише полями, необхідними лише для відображення, наприклад.

Відповідні варіанти оформлення

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

Поля зі списками, зв'язані з таблицями підстановки – два підходи

Пов'язані елементи, наприклад керівник працівника, відображаються в розкривних списках або полях зі списком у формах. У запиті джерела записів форми потрібен лише зовнішній ключ для ідентифікатора нагляду, оскільки це поле прив'язане до поля зовнішнього ключа (SupervisorID). У полі зі списком також відображається відповідне текстове значення.

Це дає змогу створити поле зі списком із двома стовпцями з прихованим стовпцем ідентифікатора та видимим стовпцем Опис. У формі працівника поле зі списком Керівник прив'язано до простого запиту на два стовпці. Див. властивість RowSource для supervisor.

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

Якщо список можливих значень невеликий і стабільний, наприклад посада працівника, його часто називають закритим доменом. Змінення або додавання значень для заголовка не є поширеним явищем. Таблиці підстановки закритого домену є кандидатами для запиту в один стовпець.

У формі "Працівник" поле зі списком Назва прив'язано до запиту з одним стовпцем заголовків. Див. властивість RowSource для заголовків. 

Потрібна додаткова довідка?

Потрібні додаткові параметри?

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

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

Чи ця інформація була корисною?

Наскільки ви задоволені якістю мови?
Що вплинуло на ваші враження?
Натиснувши кнопку "Надіслати", ви надасте свій відгук для покращення продуктів і служб Microsoft. Ваш ІТ-адміністратор зможе збирати ці дані. Декларація про конфіденційність.

Дякуємо за відгук!

×