У меня есть база данных доступа, и я хочу экспортировать поля из ОДНОЙ выделенной строки в текстовый документ и отправить его получателю по электронной почте.

Из базы данных Access я хочу экспортировать следующие поля: инициалы (символьная строка), HospNo (символьная и числовая строка), дата, комментарий (символьная строка)

И я хочу экспортировать эти поля из выбранной мной строки в текстовый документ c: \ test.docx с 4 объектами MERGEFIELD, отмеченными закладками как Inits, HosNumber, ScanDate, Diagnosis соответственно.

Я думаю, что MailMerge - это решение, и поэтому я использовал Mergefileds в Word. Но я очень мало знаю VBA и не знаю, с чего начать.

У меня на компьютере установлен Office 2010.

Достаточно ли этой информации для объяснения проблемы?

1
hamid zolfaghari 3 Янв 2014 в 13:19

2 ответа

Лучший ответ

С очень высокого уровня вам, вероятно, понадобится создать набор записей в VBA, содержащий только одну запись, которую вы хотите экспортировать. Затем вы можете использовать этот набор записей в качестве источника для вашего mailmerge.

Я никогда не делал mailmerges, но это должно помочь вам:

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 на основе вашей конкретной информации, вы не указали нам имя таблицы или то, как вы хотите определить, какую запись данных для mailmerge.

Либо так, либо вы можете создать запрос, настроить mailmerge из запроса, а затем добавить в запрос фильтры, указывающие на вашу форму. В строке Criteria в запросе (если вы откроете его в представлении «Дизайн») вы должны указать что-то вроде

[Forms]![MyFormName].[MyFieldName]

Кроме того, если у вас есть возможность, измените имя поля даты. Слово «дата» - зарезервированное слово, что означает, что вы должны заключить его в квадратные скобки, чтобы Access не считал его встроенной командой. Измените название поля на scandate или что-то в этом роде, чтобы избежать проблем в будущем.

0
Johnny Bones 3 Янв 2014 в 14:16

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

0
Shannon 3 Янв 2014 в 13:11