Розділені форми в Access надзвичайно корисні. На жаль, вони не працюють, коли ви розміщуєте їх у навігаційній формі. Дізнайтеся, як можна створити функцію VBA, яка імітуватиме функції розділеної форми Access і змуситиме її працювати навіть у навігаційній формі.
Розділена форма дозволяє одночасно мати два подання ваших записів - вигляд форми та таблицю даних. Це дозволяє вам оглянути всі ваші записи, одночасно даючи вам можливість переглядати та редагувати їх по одному.
На жаль, розділені форми не працюватимуть, коли ви помістите їх у навігаційну форму - те, що мене бентежить. Добре, що для цього є обхідний шлях. Використовуючи VBA, ви можете створити власну функцію, яка буде імітувати розділену форму Access. Просто виконайте наведені нижче дії.
Завантажити зараз
Якщо ви хочете почати користуватися цією функцією якомога швидше, ви можете:
Завантажте Зразок бази даних із кодами VBA зараз
В іншому випадку, якщо ви хочете зробити самостійно, ви можете прочитати вміст нижче.
Кроки для створення власної розділеної форми в Access за допомогою VBA
1. Відкрийте розділену форму та оновіть стандартний вигляд до єдиної форми. 
- Відкрийте розділену форму.
- Під час перегляду дизайну виберіть форму.
- Перейдіть до Аркуша властивостей (ALT + Enter)> вкладка Форма.
- Змініть подання за замовчуванням на: Single Form.
- Закрийте форму та збережіть.
2. Створіть копію форми. Це буде служити поданням таблиці даних.
- Перейдіть на панель навігації.
- Клацніть правою кнопкою миші на формі та виберіть Копіювати.
- Клацніть правою кнопкою миші на порожній області на навігаційній панелі та виберіть Вставити.
- Змініть назву форми. Додайте його до “_Dataheet”.
приклад:
- Форма: Учасники
- Копія форми: Members_Datasheet
3. Відкрийте форму таблиці та оновіть властивості подання форми.
- Відкрийте форму таблиці.
- Під час перегляду дизайну виберіть форму.
- Перейдіть на Аркуш властивостей> вкладку Форма.
- Оновіть такі властивості:
- Вид за замовчуванням: Даташит
- Дозволити перегляд таблиці даних: Так
- Дозволити перегляд форми: Немає
- Закрийте форму та збережіть.
4. Повторно відкрийте основну форму та додайте форму таблиці як підформу.
- Відкрийте основну форму (ту, яку скопіювали) у вікні дизайну.
- Додайте підформу.
- Перейдіть до меню Дизайн. Виберіть Підформу / Підзвіт.
- Клацніть на область Детально форми.
- З'явиться майстер підформи.
- Перейдіть до меню Дизайн. Виберіть Підформу / Підзвіт.
1. Клацніть на «Використовувати існуючу форму».
2.Виберіть форму таблиці.
3. натисніть Далі.
4.Виберіть "Визначити мою власну".
5. натисніть Готово.
3. Форма таблиці даних тепер є підформою основної форми. Відрегулюйте його до бажаного розміру та положення.
5. Нарешті, додайте код.
- Відкрийте редактор VBA (ALT + F11).
- Виберіть основну форму та вставте наступний код.
'MAIN FORM Option Explicit Private Sub Form_AfterUpdate() Me.Members_Datasheet.Requery End Sub Private Sub Form_Current() If Me.NewRecord Then Me.Members_Datasheet.Form.Recordset.AddNew Else Me.Members_Datasheet.Requery End If End Sub
- Після копіювання коду замініть усі екземпляри слова Members_Dataheet з фактичною назвою форми таблиці даних.
- Закінчивши, виберіть свою форму таблиці з меню Проект і скопіюйте код нижче.
'SUBFORM/DATASHEET FORM Option Explicit Private Sub Form_AfterUpdate() Me.Parent.Form.Requery End Sub Private Sub Form_Current() Dim pk_field As String, pk_tbox As Control Dim primaryKey As String, strSearch As String Set pk_tbox = Me.Member_ID 'textbox containing primary key * pk_field = "Member_ID" 'primary key field name * primaryKey = Nz(pk_tbox.Value, 0) 'change value to 0 if null pk_field = "[" & pk_field & "]" 'enclose field name with brackets If primaryKey <> 0 Then 'if not null (or not a new record) strSearch = pk_field & "=" & primaryKey Me.Parent.Recordset.FindFirst strSearch Else Me.Parent.Form.Recordset.AddNew End If End Sub
- Оновіть значення для таких змінних:
- pk_tbox - посилається на текстове поле, що містить первинний ключ.
- pk_field - відноситься до поля первинного ключа джерела запису.
Кожен із них має зірочку (*) у розділі коментарів, щоб ви могли легко їх знайти.
- Закінчивши, збережіть зміни (CTRL + S) і закрийте редактор VBA.
Тепер ви можете додати свою власну розділену форму всередині навігаційної форми. Спробуй!
Виправлення пошкодженої бази даних (.accdb)
Існує багато причин пошкодження бази даних Access. На жаль, ми не можемо контролювати більшість із них. Якщо це все ж таки трапиться з вами, пам’ятайте, що все ще існує спосіб її відновити. DataNumen Inc. створила програмне забезпечення, яке працює Ремонт. Перевір.
Вступ автора:
Джейме Стек - експерт із відновлення даних у DataNumen, Inc., яка є світовим лідером у галузі технологій відновлення даних, в тому числі відновлення SQL та програмні продукти Excel для відновлення. Для отримання додаткової інформації відвідайте WWW.datanumen.com



