2010-09-11 58 views
1

我必須使用Microsoft Access數據庫在Microsoft Office Word中創建不同的批量字母。這在大多數情況下工作得很好,但只要數據源包含由Access數據庫中的VBA代碼計算的列,就無法在Word中使用View(在Access中定義)。嗯,我需要這個計算出來的值,把它放到Microsoft Office Word字段中。在Access中使用VBA計算的Word中的值使用

不幸的是沒有辦法做到這一點在SQL計算,所以我需要一個解決方案,我可以如何使用這些視圖作爲MS Word中的來源。

我發現只有一種方式:將Access從Access導出到Excel工作表中,並將其用作Word中的源代碼。你可以認爲這是非常不可用:-(。

(我們使用Microsoft Office 2003)

乾杯, 格雷戈爾

+0

您是從Access還是從Word啓動合併? – 2010-09-11 19:27:36

+0

在大多數情況下,其中一個「用戶」(至少具有Word和Access經驗的用戶)創建Word文檔並從Access中添加數據。所以它是從Word開始的。 – Gregor 2010-09-12 09:20:51

回答

2

嘗試使用Access「Make Table」查詢。生成的表格將具有預先計算的所有值,Word將不會有問題讀取它。

這很像使用文本文件的建議,但沒有使用戶生成文本文件的額外混亂。

+0

如果你經常使用Word和Access,你會看到一個文本文件的值,事實上,簡單地輸出一個文本文件的代碼示例的數量說明了這個問題,我注意到Albert Kallal提供了一些代碼的鏈接。用戶所要做的就是點擊一個按鈕或類似於Word或Access的按鈕,具體取決於所選擇的應用程序,並且運行郵件合併。我想大多數用戶會發現這更方便,奇怪的額外的Access實例彈出。 – Fionnuala 2010-09-11 18:32:13

+0

我認爲這取決於郵件合併的觸發位置。如果它來自Access,我會做@apenwarr建議的事情,並預先填充一個表,以便郵件合併作爲其數據源。我不會使用MakeTable,但使用一個持久表,根據需要清空並重新填充。事實上,幾乎所有的應用程序都已經具有這種結構。不過,如果你從Word開始合併,這並不是那麼簡單。一些邏輯可以用If/Then/Else邏輯在Word字段中複製,但這真的很不方便(因爲編輯它們有多困難)。 – 2010-09-11 19:27:08

2

的解決方案是使用輸出查詢一些訪問Word合併碼一個文本文件,然後啓動word模板並將模板指向該中間文本文件

上述方法有很多優點,例如,不要讓word附加到ms-access,所以整個方法更穩定(如果凍結一個應用程序不會影響另一個應用程序) ou使用sql server,甚至是工作組安全訪問數據庫,因爲訪問代碼正在生成該中間文件,所以無關緊要。因此,即使對於SQL服務器,Oracle,MySql等,由於我們生成中間文本文件,單詞合併將繼續工作。因此,相同的合併系統適用於JET,MySql,Oracle,SQL服務器,並且事情可以正常工作,無需擔心數據庫上的安全問題。

另外使用中間文件也意味着你不必訴諸於一些書籤的例子,這通常意味着你必須爲每一個合併編寫新的代碼(這是沒有道理的!)。而且,書籤很難被看到並插入word文檔中。

這裏的另一個好處是用戶可以繼續使用他們的培訓課程,教學和書籍以及如何設置單詞合併文檔。使用合併字段的另一個好處是它允許在編輯和編寫單詞模板文檔期間實時預覽數據。而且,最終生成的合併文檔在其中沒有任何特殊代碼或字段。

我在這裏有一個工作示例,它允許您使用一行代碼來啓用任何表單。這個超級簡單的詞彙合併系統然後接管。

http://www.members.shaw.ca/AlbertKallal/msaccess/msaccess.html

剛下來,直到你到達超易Word合併滾動以上。

以上將允許您的查詢中的VBA表達式也用於單詞合併。

+0

我不得不同意,文本文件讓生活變得如此簡單。 – Fionnuala 2010-09-11 18:03:05

+0

我真的很喜歡這個解決方案,但我現在已經使用了一個解決方案,因爲它更容易完成,我不需要一個防彈的實現。謝謝。 *投票* – Gregor 2010-09-11 18:53:46

+0

我已經使用阿爾伯特的解決方案,但只是在一個嚴重改變的形式。說實話,我不喜歡依賴Access中的表單加載的數據,而當我使用它時,我不得不爲此創建表單。我不記得爲什麼我不能使用現有的表單(這是一個子表單,但我不認爲Albert的代碼不能使用子表單),我也不記得爲什麼我的常用臨時表方法不起作用。但是我感覺受到艾伯特的工具的制約,必須作出相當大的改動,因爲它對我來說不僅有用。 – 2010-09-11 19:34:40

相關問題