2013-04-25 157 views
3

我遇到了問題。VBA Excel - ACCESS中的更新記錄

我想使用EXCEL中的VBA更新Access數據庫表中的現有記錄。

我的代碼:

sqlik = "UPDATE query which works in access" 

Set ZAP_QUERY2 = baza.CreateQueryDef("", sqlik) 

With ZAP_QUERY2 

    ![abc] = Edit_Form.abc.Text 
    ![bcd] = Edit_Form.bcd.Text 
    ![cde] = Edit_Form.cde.Text 

End With 

當我用sqlik =「SELECT查詢其在接入作品」它沒有做任何改變。但是用sqlik =「更新查詢在訪問中起作用」它說「在這個集合中找不到任何對象」

任何想法?

感謝您使用DAO您的幫助

+0

CreateQueryDef爲訪問對象,不能在Excel VBA中使用。請參考此鏈接http://vbadud.blogspot.in/2009/03/how-to-update-access-table-using-vba.html – Santosh 2013-04-25 18:28:06

+0

您應該瞭解ADODB,這是您需要與JET/ISAM數據庫。 – 2013-04-26 19:38:11

回答

2

A液:

... 
dim db as DAO.Database, rec as Dao.Recordset 
dim strSQL as String 
Set db = OpenDatabase("c:\DatabaseFolder\YourDatabase.accdb") 
strSQL = "SELECT * FROM yourTable WHERE yourField=1" 
Set rec = db.OpenRecordset(strSQL, dbOpenDynaset, dbEditAdd) 
With rec 
    .MoveFirst 
    ![aField] = Edit_Form.abc.Text 
    .Update 
End With 
rec.Close 
db.Close 
... 

希望這有助於你