我需要使用OleDb從我的VB.net程序中創建一個保存的MS Access查詢。但在創建查詢之前,我需要檢查數據庫中是否已經存在。如果它確實存在,我想更新它。如何使用OleDb檢查MS Access中的現有查詢?在MS Access中檢查現有的已保存查詢
1
A
回答
2
「如果確實存在,我想更新它。」
根據評論討論,我明白你會在OleDB連接上執行一條語句來創建查詢。 (在訪問說法中,一個QueryDef
對象。)
當查詢尚不存在時,執行成功並完成。
如果查詢確實存在,則執行嘗試將拋出一個錯誤,您將在您的VB.Net
代碼中捕獲錯誤。此時,您想要修改現有的查詢。不幸的是,我不知道用OleDb來改變現有查詢的方法。但是,您可以放棄現有查詢並重新執行您的語句以創建新版本。
您可以執行Access DDL語句來放棄現有的查詢。其中這兩個版本會做你的需要:
DROP VIEW YourQueryNameHere;
DROP PROCEDURE YourQueryNameHere;
首先針對的是普通SELECT
查詢。第二個是Access訪問「動作查詢」的次數:INSERT
; UPDATE
; DELETE
。當我記得(檢查以確認是否需要它)時,「make table」查詢(SELECT <field list> INTO NewTable FROM ...
)也屬於第二個(PROCEDURE)類別。我認爲SELECT
與PARAMETERS
查詢也屬於第二類(檢查是否需要)。
注意這只是一個建議的方向。我不能爲您提供VB.Net
的代碼。我希望你知道,或者可以計算出如何在VB.Net
中執行所需的錯誤處理。
相關問題
- 1. MS Access - 在VBA中按名稱執行已保存的查詢
- 2. 檢查MS Access查詢中的空值
- 3. MS Access查詢
- 4. MS Access:查詢
- 5. MS Access查詢
- 6. MS ACCESS查詢
- 7. ms-access查詢
- 8. MS ACCESS查詢子查詢
- 9. 查詢在MS-Access 2010中
- 10. 查詢的MS Access
- 11. 在已排序的MS Access查詢中查找連續區域
- 12. Ms-access中的SQL查詢
- 13. MS Access中的查詢
- 14. MS Access 2003中的查詢
- 15. Ms-access中的查詢
- 16. MS Access中的DMIN查詢
- 17. MS-Access中的子查詢
- 18. MS Access子查詢
- 19. MS Access子查詢
- 20. MS Access查詢哪裏不存在
- 21. SQL查詢在MS Access VBA
- 22. 如何使用pyodbc執行MS Access中保存的查詢
- 23. 的MS Access異步查詢
- 24. 的MS Access包含查詢
- 25. 的MS Access 03查詢Criteras
- 26. 的MS Access多值查詢
- 27. 在MS Access查詢中的性能
- 28. 在PHP的MS Access中限制查詢
- 29. 檢查並顯示MS Access查詢中的空值
- 30. 查詢問題聯盟查詢MS Access
您是否排除嘗試創建Access查詢並在錯誤已存在時捕獲錯誤? – HansUp
如果您打算在VBA中創建查詢,則可以在查詢定義之前始終將'On Error Resume Next'放在行上。然後在查詢之後放上'On Error Goto Err_Handler'。很明顯,Err_Handler的命名可能不同。這隻會創建查詢,如果它不存在,並且如果它存在則不會生成錯誤。 – Linger
@HansUp我從來沒有做過任何錯誤陷阱。你能舉個簡單的例子嗎? – gromit1