2014-09-03 29 views
1

我有一個表單按鈕,運行刪除查詢和追加查詢。我希望能夠向用戶顯示將刪除多少行以及將添加多少行並將它們存儲在表單上。查詢已經存在於VBA之外的按鈕。所以我只是用DoCmd.OpenQuery調用查詢。我關閉了警告,所以彈出窗口沒有發生,說「你真的想刪除這麼多行嗎?」但我仍想知道有多少行將被刪除或追加,並將該數字作爲變量存儲在某處,以便用戶可以看到它。我怎樣才能做到這一點?從行動查詢拉行數

我試過了一個DCount函數,但是因爲這些都是動作查詢,所以無法工作。我還想避免將查詢的SQL放入我的VBA中。我喜歡他們與VBA分開,並且可以自行編輯。

回答

2

假設ACE/Jet,您可以使用currentdb的實例運行查詢,然後查看RecordsAffected屬性。

Dim db As Database 
Set db = CurrentDb 

db.Execute "Delete From Table1 Where Id = 1" 
Debug.Print db.RecordsAffected 

或者與已保存的查詢

Dim db As Database 
Set db = CurrentDb 

db.Execute "ADelete" 
Debug.Print db.RecordsAffected 
+0

我以前沒有做過。什麼是基本的VBA來做到這一點? – Nigel 2014-09-03 15:53:34

+0

我已編輯。 – Fionnuala 2014-09-03 15:54:01

+0

這工作。謝謝。我不得不編輯我的查詢一下,以使其工作。它一直告訴我參數太少,因爲我有一個由用戶在表單中輸入的標準。我想我需要更多地瞭解.execute函數。通常我使用OpenQuery。但OpenQuery無法告訴我受影響的記錄。再次感謝您的幫助。它完美的作品。 – Nigel 2014-09-03 17:43:26