Экспорт полей выделенной строки в Access Databse в документ Word
У меня есть база данных доступа, и я хочу экспортировать поля из ОДНОЙ выделенной строки в текстовый документ и отправить ее получателю по электронной почте.
Из базы данных Access я хочу экспортировать следующие поля: инициалы (символьная строка), HospNo (символьная и числовая строка), дата, комментарий (символьная строка)
и я хочу экспортировать эти поля из выбранной мной строки в текстовый документ c:\test.docx с 4 MERGEFIELD, помеченными как Inits, HosNumber, ScanDate, Diagnosis соответственно.
Я думаю, что MailMerge является решением, и именно поэтому я использовал Mergefileds в Word. Но я очень мало знаю VBA и не знаю, с чего начать.
У меня Office 2010 на моем ПК.
Достаточно ли этой информации для объяснения проблемы?
2 ответа
На очень высоком уровне вам, вероятно, понадобится создать набор записей в VBA, который будет содержать только одну запись, которую вы хотите экспортировать. Затем вы можете использовать этот набор записей в качестве источника для вашего mailmerge.
Я никогда не делал почтовых рассылок, но это поможет вам начать:
Dim db as Database
Dim rec as Recordset
Set db = CurrentDB
Set rec = db.OpenRecordset("SELECT Initials, HospNo, [date], comment FROM MyTableName WHERE SomeFilterCriteria")
'Mailmerge based on "rec"
Очевидно, что вам нужно изменить MyTableName и MyFilterCriteria на основе вашей конкретной информации, вы не указали нам имя таблицы или то, как вы хотите определить, какую запись данных отправлять в почтовый ящик.
Либо так, либо вы можете создать запрос, настроить почтовое слияние из запроса, а затем добавить в запрос фильтры, которые указывают на вашу форму. В строке "Критерии" в запросе (если вы откроете его в представлении "Дизайн"), вы должны поместить что-то вроде
[Forms]![MyFormName].[MyFieldName]
Кроме того, если у вас есть возможность сделать это, измените имя поля даты. Слово "дата" является зарезервированным словом, что означает, что вы должны заключить его в квадратные скобки, чтобы Access не думал, что это встроенная команда. Измените имя поля на scandate или что-то другое, чтобы избежать проблем в будущем.
Если вы уже работаете с MailMerge, вы можете просто выбрать строку в Access и использовать функцию слияния Word под ссылкой внешних данных. Если вы ищете более автоматизированную процедуру, я думаю, вам нужно будет использовать код.