我用DbGrid控件连Data,查出一条记录,代码:
Set Data_Popu.Recordset = DbMain.OpenRecordset(lf_YufuInfoSql(ls_bianhao))
Data_Popu.Recordset.MoveLast已经显示出来我所需要的一条记录
现在我要在里面再手工建一条记录,写的代码是
With Data_Popu.Recordset
.AddNew
.Fields("Name").Value = "zl"
.Update
End With
但跟踪以后,在.AddNew
这行出错,提示:不能更新,数据库或对象为只读。
但我的数据库的只读属性我去掉了,这个没问题
请问为何不能添加第二条记录哪?
Set Data_Popu.Recordset = DbMain.OpenRecordset(lf_YufuInfoSql(ls_bianhao))
Data_Popu.Recordset.MoveLast已经显示出来我所需要的一条记录
现在我要在里面再手工建一条记录,写的代码是
With Data_Popu.Recordset
.AddNew
.Fields("Name").Value = "zl"
.Update
End With
但跟踪以后,在.AddNew
这行出错,提示:不能更新,数据库或对象为只读。
但我的数据库的只读属性我去掉了,这个没问题
请问为何不能添加第二条记录哪?
'用 Data 控件访问有密码的 Access 数据库
With Data1
.DatabaseName = [数据库路径及名称]
.Connect = ";pwd=" + [数据库密码]
.RecordSource = [查询语句]
.Refresh
.AddNew
.Fields("Name").Value = "zl"
.Update' ...
End With'用 DAO 访问有密码的 Access 数据库
Dim OpenDB As Database
Dim Rst As DAO.Recordset
Set OpenDB = DBEngine.Workspaces(0).OpenDatabase([数据库路径及名称], False, False, "MS Access;PWD=" + [数据密码])
Set Rst = OpenDB.OpenRecordset([查询语句], dbOpenSnapshot)
'...例如:
Set Data_Popu.Recordset = DbMain.OpenRecordset(lf_YufuInfoSql(ls_bianhao),dbOpenSnapshot)Data_Popu.Recordset.MoveLastWith Data_Popu.Recordset
.AddNew
.Fields("Name").Value = "zl"
.Update
End With
sql="insert into table(field1,field2....) values(field1,field2....)"
rs.open sql,conn你想添加多少條記錄,你就插入多少次,而且這種方法比 rs.addnew 好