2009-02-13 97 views
2

我遇到了在那裏DoCmd.OutputTo acOutputQuery刪除查詢本身運行它的第二個時間的問題。奇怪的錯誤:「DoCmd.OutputTo acOutputQuery」被刪除查詢

是否有此漏洞的任何變通辦法/補丁(至少看起來像我的錯誤)?

+0

你可以發佈你正在使用的實際代碼(即使你必須匿名它)嗎?您是否曾嘗試在調用DoCmd之前放置一個斷點並逐步查看並在第二次運行期間查看查詢是否真的被刪除? – BIBD 2009-02-13 16:23:48

+0

實際上這很奇怪。我製作了數據庫的副本,並且副本現在可以正常工作。 – 2009-02-13 16:55:33

+0

我也看到了這種行爲。 – stimms 2011-12-12 05:26:36

回答

1

回覆:您的評論。

你做一個文件拷貝,還是你複製兩個數據庫之間的對象?如果是第二個,你可能想嘗試在原始文件的副本上進行壓縮和修復。

你甚至可能想試試真正的原創。

1

我想您所描述的行爲「...刪除查詢本身,它運行在第二次」時,查詢返回任何記錄發生。

0

它也發生在我身上。 我使用Access 2003.

我發現的唯一解決方法是保留原始mdb的副本,這樣我可以在發生時恢復mdb。

看來Access 2007沒有這個問題。

1

即使2007年有這個問題,這是發生在我身上也有,但是非常隨機。有時,錯誤發生之前,我可以運行了很多次,正好馬上其他時候,它是一個小型的數據庫,共有29條記錄,和一個小的查詢,所以它肯定是在訪問

1

一個錯誤,我知道這是一段時間以來,原帖,但我找到了一個我在這裏沒有看到的解決方案。我使用的是Access 2010.似乎幾乎每次執行DoCmd.OutputTo acOutputQuery...時,我保存的查詢仍然出現在我的查詢列表中,但SQL被清除,隨後從網絡中刪除了我的輸出文件。

我只是重置SQL調用DoCmd.OutputTo acOutputQuery...

CurrentDb.QueryDefs("MyQuery").SQL = "SELECT..." 

前,然後調用

DoCmd.OutputTo acOutputQuery, "MyQuery"... 

到目前爲止好。

0

另一個解決辦法是改變原有的查詢生成表查詢,然後使用

DoCmd.OutputTo acOutputTable, TableName, ... 

這意味着你有一個額外的表遊逛,但你總是可以在代碼中或通過做刪除表後來進行查詢清理。