2011-12-24 205 views
0

我正在尋找MS-excel或MS-word中的發票。此發票將包含發票編號,客戶名稱,產品信息,數量,金額,日期,客戶地址,電話號碼等多個字段。等等。發票的功能是爲了生成一個唯一的發票號碼,每次我打開它,然後供應商會提及客戶的信息,產品的信息,並點擊提交按鈕或保存它。發票中提到的信息將自動保存在MS-Access數據庫中,無論何時單擊提交按鈕或保存文檔。從ms-access到ms-word獲取數據

因此,客戶的所有記錄都將保存在MS-Access數據庫中。每當我需要搜索特定的客戶時,我應該能夠從發票編號中搜索它。或該特定發票的任何唯一字段。我希望我的問題得到明確解釋。請讓我知道最簡單的方法來做到這一點。我沒有關於這個主題的廣泛知識,所以給我一些新手可以理解的建議。

回答

0

我現在可以告訴你,用Access生成Word文件在屁股上有點痛苦。如果你真的想格式化它會變得很難(是我的經驗)。

我最終生成了HTML文件,我可以在其中控制一切,並打開它們作爲.doc s。但是,如果您真的對此感到陌生,我建議您從一些VBA教程開始,向他們解釋如何從數據庫獲取記錄,並通過它們循環以生成輸出。然後您可以開始查看VBA中的文件寫入功能。

找不到任何教程真正的快(我的女朋友生氣,因爲我們說話),但這裏是一個示例: http://www.access-programmers.co.uk/forums/showthread.php?t=25354

只要看看周圍的論壇,查找文件生成,並通過記錄循環。

+0

你能否給我建議一些鏈接 – Mishigen 2011-12-24 09:12:15

+0

我覺得這裏有一個誤區。如前所述,我的第一個任務是插入上述字段的值,然後將它們保存在數據庫中。稍後,我想從數據庫中搜索客戶。 – Mishigen 2011-12-24 09:26:53

+0

@saratis從Access運行mailmerge並不算太糟糕。 – Fionnuala 2011-12-24 13:16:34

2

我想你是從錯誤的結局開始的。使用Access表單獲取數據並運行郵件合併,最簡單的方法是從Access中輸出文本文件作爲數據文件,並使用Word模板進行合併。

只要您需要的是唯一號碼,自動編號就可以適用於發票號碼。如果你需要記錄的連續數字,你將不得不自己創建。你怎麼做取決於同時工作的用戶數量。

+0

thnks的建議。我想知道你是否可以給我任何可以更好地解釋它的例子。我已經在Access中創建了表格和表單。我需要做的唯一事情就是在發票中提取這些細節。 – Mishigen 2011-12-24 14:59:15

+0

@sumit爲要打印的發票創建一個查詢,使用'docmd.TransferText'將其導出爲文本(您可以鏈接到Access,但最後更容易),請按照Word嚮導創建一個mailmerge使用現有的數據源,並選擇剛剛創建的文件。第一次手動做,看看是否都適合。如果是這樣,這只是一個自動運行郵件合併的問題。我可以用代碼來幫助你。 – Fionnuala 2011-12-24 16:15:06

+0

@Remou不能定義單詞mailmerge以使用Access表或查詢作爲其源代碼嗎?這將允許您跳過'DoCmd.TransferText'步驟。 – phoog 2011-12-27 01:55:33

0

嗨,剛剛閱讀您的文章,就像Remou l強烈建議您使用Access來輸入和存儲數據。可以讓用戶將數據輸入電子表格並將數據寫回Access DB。不是我會爲新手推薦的東西,here is a link to some code on how it could be done

回到第一個問題,創建發票的問題是否考慮過使用報告從Access生成發票?它們可以打印成PDF格式,或導出爲各種電子格式。或者是否有使用Word/Excel的具體原因?如果正在使用Word生成發票的路線,請使用Remou建議的模板。有關示例,請參見link,請參閱標題爲Access> Word的部分。我用這些例子作爲訪問Word的基礎。一些例子雖然使用了一種稱爲DAO的技術,但我明白在Windows 7之後的任何操作系統中都不會包含DAO。只是需要注意的一點。

在數據庫表中搜索記錄這個link has one possible solution。作者還包括一個示例數據庫。