在VBA中,Recordset对象包含很多的方法,如记录的开启和关闭方法Open与Close,添加新记录方法AddNew以及记录集更新方法Update等。本文以使用AddNew方法向数据库中添加记录为例来介绍使用Recordset对象的方法操作数据库的编程技巧。
1、启动Excel,打开Visual Basic编辑器,在工程资源管理器中插入一个模块,在模块的“代码”窗口中输入如下程序代码:
Sub EditRecord()
Dim conn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim fld As ADODB.Field
Dim arrFld As Variant,arrValue As Variant
conn.Provider="Microsoft.ACE.OLEDB.12.0"
conn.ConnectionString="data source"="&_ThisWorkbook.Path&"罗斯文2007.accdb"
conn.Mode=adModeReadWrite
conn.Open
rs.CursorLocation=adUseClient
rs.Open"运货商",conn,adOpenDynamic,adLockOptimistic
Debug.Print"添加前记录数:"&rs.RecordCount
arrFld=Array("公司","地址","城市","省/市/自治区",_"邮政编码","国家/地区")
arrValue=Array("UPS","福田车公庙工业区泰然九路",_"深圳","广东","518040","中国")
rs.AddNew arrFld,arrValue
Debug.Print"添加前记录数:"&rs.RecordCount
End Sub
2、按F5键运行该过程,此时在“立即窗口”中将显示记录添加结果,如图1所示。打开Access,查看“运货商”数据表,在该数据表中添加了新的字段,如图2所示。
图1 “立即窗口”的输出结果
图2 “运货商”数据表实际效果