2008-10-17 32 views
1

我已經構建了一個可以創建各種格式(PDF,XLS,CSV,XML)報告文件的MS Access 2007應用程序。
我想允許創建這些報告,可以從網頁訪問,用戶只需點擊鏈接並下載我的Access應用程序生成的報告。使用MS Access在Web服務器中返回按需報告?

我想保持簡單,並且我對重寫.Net中的數據處理的這個階段不感興趣。我只想找到一種方法來自動創建用戶報告,以返回可下載的文件。
本質上,我的Access應用程序將作爲某種Web服務。

Web服務器是在Windows 2003上IIS

任何指針或想法將受到歡迎。我不熟悉IIS管理或ASP頁面。

感謝所有迴應。

回答

1

第一快速和骯髒的方法我能想到的是打電話從shell訪問,並通過它的幾個參數打開爲已讀只能運行一個宏。

該宏必須從某處(可能是env變量)提取報告參數,運行報告並將其保存爲Excel,PDF或其他任何名稱。爲此,您需要傳遞報告名稱,唯一的請求標識和一個參數數組來處理多個(或沒有)參數。

最後但並非最不重要的你的訪問宏/ VBA Sub將需要關閉訪問權限。

這不是一個很好的解決方案,因爲每個請求啓動一個Access副本並不是真的可取。

另一種選擇是在服務器上啓動Access,並啓動打開的VBA子文件。這個子集可以輪詢一個目錄,查找由您的Web服務器寫入的請求。然後在收到請求後運行報告並將其寫入某處。再次,你必須以一個唯一的請求ID爲基礎。

我不確定哪個「解決方案」會更好....作爲命令行報告生成器或Access作爲批處理報告服務訪問。兩者都會令人討厭,但會讓你過度駝背,直到你可以遷移到報告服務。

0

這是一種實現你所要求的方式。您可以使用包含報告服務組件的免費版本的sql server express 2005或2008 advance版本。使用報告生成工具,您可以將訪問2007年報告轉換爲SQL Server報告,並將這些報告提供給訪問數據庫。如果你想要走這條路線,你也可以將數據庫遷移到sql server。報告服務將生成PDF,xls,csv和xml格式作爲報告的輸出,您只需將url中的參數傳遞給服務器即可生成這些報告,服務器將以請求的格式返回報告。

連接到SQL Server 2008 Express高級版:

http://www.microsoft.com/express/sql/download/

+0

感謝您的建議,但同時我們計劃在不久的將來遷移到SQL Server這不是真的,此刻的解決方案。 報告的代碼已經存在,我們希望使用它。 這僅僅是將請求傳遞給Access並獲取文件的問題。 – 2008-10-17 07:30:45

0

如果你不想在.Net中重寫,那麼經典ASP和VBScript怎麼樣? VBScript與VBA有許多共同之處,因此不應該花費太長時間才能創建可用的東西,並且在Internet上有很多ASP和VBScript的幫助。例如,一個簡單的搜索返回從ASP創建與Adobe PDF文件的這個方法:

Creating a PDF with ASP