Як швидко скопіювати записи у вашому доступі

Поділитися зараз:

Дізнайтеся, як можна створити функцію VBA, яка дозволяє копіювати певні дані з попередніх записів одним натисканням кнопки. Не потрібно повторно вводити одні й ті ж речі.

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

Завантажити зараз

Якщо ви хочете почати користуватися цією функцією якомога швидше, ви можете:

Завантажте Зразок бази даних із кодами VBA зараз

В іншому випадку, якщо ви хочете зробити самостійно, ви можете прочитати вміст нижче.

Кроки, щоб додати функцію "Створити копію запису" в Access

  1. Відкрийте форму у поданні дизайну.Відкрийте форму у поданні дизайну
  2. Додайте командну кнопку. Пропустити майстер командної кнопки.
  3. Додайте На клацанні подія до кнопки.Додайте подію при натисканні на кнопку
  • Під час перегляду дизайну натисніть кнопку.
  • Відкрийте аркуш властивостей (ALT + Enter)
  • Перейдіть на вкладку Подія> На клік> ...
  • Коли Виберіть Builder спливаюче меню, виберіть Конструктор коду.
  • Натисніть кнопку ОК.
  • Це відкриє редактор VBA.
    1. Скопіюйте наступний код та змініть його відповідно до своїх потреб. Використовуйте коментарі як керівництво.
    Private Sub Command24_Click()
        Dim currentID As Long
     
        'TO DO: change all instances of 'BookID' with the actual name of your table's ID or primary key
     
        If IsNull(BookID) Then
            MsgBox prompt:="Please select the record to copy first.", buttons:=vbExclamation
            Exit Sub
        End If
     
        currentID = BookID
        DoCmd.GoToRecord record:=acNewRec
     
        'TO DO: set the fields to be copied (those that most likely will have the same values)
        'FORMAT: fieldName = Dlookup("fieldname", "tableName", "primaryKeyField=" & currentID)
     
         Author = DLookup("Author", "Books", "BookID=" & currentID)
         Country = DLookup("Country", "Books", "BookID=" & currentID)
         Language = DLookup("Language", "Books", "BookID=" & currentID)
         Genre = DLookup("Genre", "Books", "BookID=" & currentID)
         Publisher = DLookup("Publisher", "Books", "BookID=" & currentID)
     
         Title.SetFocus ‘TO DO: change 'Title' with name of field that is going to be edited by the user
     
    End Sub
  1. Тепер протестуйте код, якщо він працює.

Пояснення коду

Наведений вище код був використаний для бази даних книгарні. Через серії книг існують випадки, коли всі подробиці книги (наприклад, автор, країна, мова тощо) однакові, крім одного поля - заголовка. Таким чином, необхідність коду.

У наведеному нижче списку показано потік програми.

  1. Перевірте, чи вибрав користувач запис для копіювання. Повідомлення про помилку з’явиться, якщо користувач натискає кнопку відразу після натискання кнопки Додати новий запис - ідентифікатор стає нульовим.
If IsNull(BookID) Then
     MsgBox prompt:="Please select the record to copy first.", buttons:=vbExclamation
     Exit Sub
End If
  1. Отримайте ідентифікатор або первинний ключ поточного запису та призначте його як значення для поточний ідентифікатор Це буде використано як основу для копіюваних значень.
currentID = BookID
  1. Додайте новий запис.
DoCmd.GoToRecord record:=acNewRec
  1. Встановіть значення для певних полів на основі поточний ідентифікатор Тут копіюються дані із вибраного запису.
'FORMAT: fieldName = Dlookup("fieldname", "tableName", "primaryKeyField=" & currentID)

Author = DLookup("Author", "Books", "BookID=" & currentID)
Country = DLookup("Country", "Books", "BookID=" & currentID)
Language = DLookup("Language", "Books", "BookID=" & currentID)
Genre = DLookup("Genre", "Books", "BookID=" & currentID)
Publisher = DLookup("Publisher", "Books", "BookID=" & currentID)
  1. Встановіть фокус на поле, яке, найімовірніше, користувач першим редагуватиме. Це покращує взаємодію з користувачем, оскільки усуває необхідність вручну вибирати поле, яке все ще потрібно оновити.
 Title.SetFocus      ‘TO DO: change 'Title' with name of field that is going to be edited by the user

Виправити пошкоджену базу даних

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

Вступ автора:

Джейме Стек - експерт із відновлення даних у DataNumen, Inc., яка є світовим лідером у галузі технологій відновлення даних, в тому числі відновлення SQL та програмні продукти Excel для відновлення. Для отримання додаткової інформації відвідайте WWW.datanumen.com

Поділитися зараз:

Коментарі закриті.