2011-05-19 62 views
1

我最近遇到了major problems從MS Access前端插入記錄到SQL Server後端,因爲我使用的是綁定表單來執行插入操作。多個評論者建議使用SQL Server存儲過程來替代執行插入操作。 這通常如何完成?普遍認爲在這種情況下使用SPROCs比使用綁定表單更好嗎?使用SPROC從MS Access前端插入SQL Server後端中的記錄

我對使用存儲過程的幾個具體問題:

  • 子窗體:我可以輕而易舉地想象出使用未綁定的形式通過存儲過程對大多數表執行插入。但是,我不知道如何處理爲下級表添加記錄。通過主窗體上的未綁定控件或從主窗體彈出的彈出窗體?這兩者中的任何一個都將離開我的用戶習慣看到的界面。
  • 版本控制:我有我的Access應用程序在嚴格的版本控制下。我最好使用傳遞查詢將所有程序邏輯保存在一個地方,還是使用存儲在後端數據庫中的存儲過程物理還有其他好處?
  • 改裝:它是實用/值得做大規模(即,幾十個表格)?
+0

關於子表單問題,我通常不允許連續/數據表子表單是可編輯的,但我認爲這不是問題。問題是ADDS,而不是EDITS,所以在我看來,你的子表單將不允許添加,並且你將有一種通過SPROC添加新記錄的方法,然後重新查詢子表單以加載新記錄並導航到它。彈出窗體或細節窗體將正常工作(綁定到列表子窗體的PK的附加子窗體)。這似乎是你的問題的哪一部分? – 2011-05-22 00:29:44

+0

RE:subforms,兩種方法本身都不是問題。但由於它會是一個與我以前使用的界面不同的界面,所以我想測量一下最佳實踐。 – mwolfe02 2011-05-22 17:33:11

回答

1

數據庫中的存儲過程爲您提供了在Access應用程序之外重用它們的好處。

版本控制:你如何提供對其他sql數據庫對象的版本控制?如果你可以在版本控制下放置一個表格,你可以放置一個proc,除非所有的表格創建和更新代碼都在Access中。

除非有數據完整性或性能問題,否則我不會優先對錶單進行改造。您可以隨着時間的推移或更改/更新發生。

+0

RE:數據庫對象的版本控制,我正在使用SSMS(Express Edition)中的Generate Scripts ...嚮導。我還沒有開發出一種方法使我在MS Access中使用SQL Server進行版本控制的過程自動化。這是一個很費力的過程(相對而言),所以我不會像我應該那樣經常或一致地進行。 – mwolfe02 2011-05-19 14:22:28

相關問題