Преобразование данных из Word в базу данных Access

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

В этой статье TipsMake.com расскажет, как использовать приложение Word для сбора пользовательских данных и последующего переноса всех этих данных в таблицу в Access. Для этого метода требуются коды Access, приложения базы данных Word и Visual Basic для приложений (VBA). (Приведенные ниже инструкции реализованы в Word 2003 и 2007, но этот метод также будет совместим с версиями Win 2000, XP и 2002).

Примечание к базе данных

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

  1. Путь и имя базы данных.

  2. Имя таблицы в Access.
  3. Назовите поля в таблице и тип данных.

Пример выполняется в форме (форме) Word (рисунок A), вы обновляете два поля в таблице Shippers: Название компании а также Телефон . Оба эти поля представлены в текстовой форме. Пример пути:

C: Программные файлы Microsoft Office11Office11SamplesNorthwind.mdb

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

Изображение 1: Преобразование данных из Word в базу данных Access

Рисунок A: Приложение Word упрощает ввод данных для сбора данных для Access.

Сбор данных из формы Word

Форма Word – это документ, содержащий пустые ячейки, называемые полями, чтобы вы могли вводить данные. Поле – это предопределенная ячейка, в которой хранятся и принимаются входные данные. В примере формы Word, показанном на рисунке A, у нас есть два поля ввода. Используя это приложение, пользователи могут обновлять таблицу Shippers, а затем аналогичные базы данных будут перенесены в Access без необходимости запускать Access или даже вам не нужно разбираться в базе данных.

В таблице «Грузоотправители» 3 поля, но одно из них – автоматическая нумерация ( AutoNumber ). Когда приложение передает новую запись, Access отсортирует значения. Поэтому отображаются только два поля: txtCompanyName а также txtPhone .

Чтобы создать пример в форме Word, вставьте два текстовых поля (символа) в документ Word следующим образом:

1. В меню «Просмотр» выберите «Панели инструментов», а затем – «Формы».

2. Вставьте два элемента управления «Поле текстовой формы» и укажите, как провести линию между ними.

3. Дважды щелкните поле, чтобы открыть диалоговое окно «Параметры поля».

4. Использование свойства Bookmark для определения первого поля: txtCompanyName , Рисунок Б.

5. Повторите шаг 4 и определите второй элемент управления как txtPhone .

6. Сохраните файл.

Изображение 2: Преобразование данных из Word в базу данных Access

Рисунок B. Определите два текстовых элемента управления

В Word 2007 вам нужно добавить тег разработчика следующим образом:

1. Нажмите кнопку «Офис», а затем выберите «Параметры Word» (в правом нижнем углу).

2. Щелкните “Популярные”.

3. Выберите вкладку «Показать разработчика» в разделе «Лента» и нажмите «ОК».

Обратите внимание, что имена полей в Word должны совпадать с именами полей в Access, которые будут Название компании а также Телефон . Единственная разница в том, что текст приставка. Нет необходимости называть поля в Word таким образом, но такое именование упростит сопоставление полей в Word и Access. ( текст чтобы определить, что это поле для ввода текста).

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

1. Откройте редактор Visual Basic (VBE), нажав Alt + F11.

2. Выберите «Модуль» в меню «Вставка».

3. Введите функцию в Код А. Обязательно обновите путь правильно, если ваш путь отличается от примера.

4. В меню «Инструменты» выберите «Ссылки» и установите флажок «Библиотека объектов данных Microsoft ActiveX 2.x (ADO)», как показано на рисунке C. (Он не будет выбирать этот элемент библиотеки самостоятельно, вы должны выбрать его). Будет сделана ссылка на объект Word и библиотеку VBA.

5. Щелкните OK, чтобы вернуться в модуль.

Код

Sub TransferShipper ()

‘Передача новой звукозаписывающей компании

‘Таблица грузоотправителей в базе данных Northwind.

Dim cnn As ADODB.Connection

Dim strConnection как строка

Dim strSQL как строка

Dim strPath как строка

Dim doc As Word.Document

Dim strCompanyName As String

Dim strPhone As String

Dim byt Продолжить как Byte

Dim lngSuccess As Long

Установить doc = ThisDocument

При ошибке GoTo ErrHandler

strCompanyName = Chr (39) & doc.FormFields (“txtCompanyName”). Результат и Chr (39)

strPhone = Chr (39) & doc.FormFields (“txtPhone”). Результат и Chr (39)

‘Подтвердите новую запись.

bytContinue = MsgBox («Вы хотите вставить эту запись?», vbYesNo, «Добавить запись»)

Debug.Print bytContinue

‘Обработка значений значений.

Если bytContinue = vbYes Тогда

strSQL = “ВСТАВИТЬ В грузоотправителей” _

& “(Название компании, Телефон)” _

& “ЗНАЧЕНИЯ (” _

& strCompanyName & “,” _

& strPhone & “)”

Отладка.Печать strSQL

‘Если возможно, замените путь и строку подключения на DSN.

strPath = “C: Program FilesMicrosoft Office11Office11SamplesNorthwind.mdb”

strConnection = “Provider = Microsoft.Jet.OLEDB.4.0;” _

& “Источник данных =” & strPath

Debug.Print strConnection

Установите cnn = New ADODB.Connection

cnn.Open strConnection

cnn.Execute strSQL, lngSuccess

cnn.Close

MsgBox “Вы вставили” & lngSuccess & “record”, _

vbOKOnly, “Ошибка добавлена”

doc.FormFields (“txtCompanyName”). TextInput.Clear

doc.FormFields (“txtPhone”). TextInput.Clear

Конец, если

Установить doc = Nothing

Установите cnn = Nothing

Дополнительный выход

ErrHandler:

MsgBox Err.Number & “:” & Err.Description, _

vbOKOnly, “Ошибка”

При ошибке GoTo 0

При ошибке Возобновить Далее

cnn.Close

Установить doc = Nothing

Установите cnn = Nothing

Конец подписки

Изображение 3: Преобразование данных из Word в базу данных Access

Рисунок C: Ссылка на библиотеку ADO

Вернитесь в приложение Word и дважды щелкните на txtPhone . В диалоговом окне Параметры выберите TransferShipper из Выход раскрывающийся список, рисунок D. Делайте это до тех пор, пока последнему полю не будет присвоен код для передачи входных данных в Access.

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

Изображение 4: Преобразование данных из Word в базу данных Access

Рисунок D: Выполнение функции из элемента управления Выход последнего элемента управления

Теперь вы защитите форму, созданную в Word. Нажмите «Защитить форму» на панели инструментов «Формы». Сохраните всю карту образцов и закройте ее.

Используйте форму

Откройте файл формы Word и введите значение в оба поля, рис. E. Поле «Телефон» в таблице «Грузоотправители» принимает значение «телефон» почти для всех форматов. При применении этого метода убедитесь, что вы указали специальные атрибуты форматирования.

Изображение 5 Преобразования данных из Word в базу данных Access

Рисунок E: Введите новую запись

После ввода номера телефона нажмите Tab, чтобы закрыть это поле, TransferShipper () дочерняя функция будет работать (известная как макрос). После операторов объявления числа код объединит некоторые Chr () функции для ввода значения для добавления специальных символов. В этом случае Chr (39) функция возвращает значение (‘). Дата требует символов (#). Для числовых значений не требуются специальные символы.

Простое сообщение, которое вы видите на рисунке F, позволяет вам повторно подтвердить процесс передачи данных (рисунок E). Это также знак для проверки правильности входных значений пользователя. Например, вы можете проверить пустое поле или несоответствующий тип данных.

Изображение 6: Преобразование данных из Word в базу данных Access

Рисунок F: Подтвердите новую запись

Когда вы нажмете Да, код создаст инструкцию SQL INSERT INTO, которая включает поля доступа и значения, введенные в примерную таблицу:

ВСТАВИТЬ В accesstable (acessfld1, acessfld2,.)

ЗНАЧЕНИЯ (wordinputfld1, wordinputfld2,.)

Вам не нужно вводить значения для каждого поля в таблице Access, но вам нужно ввести обязательные поля. Обратите внимание на порядок совпадения полей ввода данных в Access и Word. Если вы опускаете ссылку на поле Access, вы также должны опустить входное значение в Word, поле AutoNumber вводить не нужно.

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

cnn. Открыть строку подключения, идентификатор пользователя, пароль, параметры

Если для базы данных существует имя источника данных (DSN), обратитесь к нему следующим образом:

cnn.Open = “DSN = имя источника данных”

С DSN легче работать, чем со сложной цепочкой соединений. Наконец, метод Execute поместит данные в таблицу Shippers. База данных может быть открыта, но вы захотите подсчитать много пользователей и заблокировать возможности.

На рисунке G показано сообщение, подтверждающее завершение процесса передачи данных. Если вы пропустите этот шаг, произойдет ошибка. Если оператор INSERT INTO не работает, вам нужно будет решить эту проблему несколькими способами.

Например, вы можете удалять поля и добавлять новые значения. Лучшее решение – выявить ошибки, чтобы вовремя их избежать. Помните, что входные данные должны соответствовать всем свойствам поля в Access. Два наиболее распространенных инцидента:

  1. Несовместимые типы данных – Это означает, что вы не можете вводить текст в числовое поле и наоборот.

  2. Игнорируйте обязательные значения в таблице доступа – Если для запрошенного свойства поля доступа установлено значение «Да», вы не можете ввести нулевое значение. Если ты уйдешь txtCompanyName пусто, код будет ошибочным, потому что Access должно иметь значение в этом поле.

<

p style=”text-align: justify;”>

Изображение 7: Преобразование данных из Word в базу данных Access

<br>Рисунок G: Пример таблицы, показывающий код, который вставил новую запись

После успешного преобразования код очистит поля в Word. Очень простое управление ошибками. Тщательно проверьте эту технику и учтите все возможные ошибки. Если вы не уверены, что он работает должным образом, вы можете открыть панель «Отправители» в Access. На рисунке H показана только что добавленная запись. (Не беспокойтесь о AutoNumber значения; они не важны.)

Изображение 8: Преобразование данных из Word в базу данных Access

Рисунок H: Значения добавлены в таблицу

Успешное преобразование

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

Похожие записи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *