vb 添加记录时,实时错误 3246 该操作被关联对象取消
来源:百度知道 编辑:UC知道 时间:2024/08/30 23:43:47
以下是我全部的代码,初学数据库,这个问题我网上搜了,答案好像都不行,请指点
简单说明:
我用了一个Data控件,第一次运行创建一个数据库后,再屏蔽了创建的那部分代码,然后在属性栏设置了data1的数据源,textbox控件关联的字段等,再次运行后点击添加按钮,出现了“实时错误 3246 该操作被关联对象取消”
Private Sub Command1_Click()
Data1.Recordset.AddNew
Data1.Recordset.Update
End Sub
Private Sub Form_Load()
Dim db As Database, ws As Workspace
Dim td As TableDef
Dim flds(2) As Field
Dim idx As Index
Set ws = DBEngine.Workspaces(0)
Set db = ws.CreateDatabase("D:\学习\vb\学习测试\数据库\数据库1", dbLangGeneral, dbVersion30)
Set td = db.CreateTableDef("Products")
Set flds(0) = td.CreateField("ProductID", dbLong)
'flds(0).Attributes = dbAutoIncrField
Set flds(1) = td.CreateField("ProductName", dbText)
flds(1).Size = 40
td.Fields.Append flds(0)
td.Fields.Append flds(1)
db.TableDefs.Append td <
简单说明:
我用了一个Data控件,第一次运行创建一个数据库后,再屏蔽了创建的那部分代码,然后在属性栏设置了data1的数据源,textbox控件关联的字段等,再次运行后点击添加按钮,出现了“实时错误 3246 该操作被关联对象取消”
Private Sub Command1_Click()
Data1.Recordset.AddNew
Data1.Recordset.Update
End Sub
Private Sub Form_Load()
Dim db As Database, ws As Workspace
Dim td As TableDef
Dim flds(2) As Field
Dim idx As Index
Set ws = DBEngine.Workspaces(0)
Set db = ws.CreateDatabase("D:\学习\vb\学习测试\数据库\数据库1", dbLangGeneral, dbVersion30)
Set td = db.CreateTableDef("Products")
Set flds(0) = td.CreateField("ProductID", dbLong)
'flds(0).Attributes = dbAutoIncrField
Set flds(1) = td.CreateField("ProductName", dbText)
flds(1).Size = 40
td.Fields.Append flds(0)
td.Fields.Append flds(1)
db.TableDefs.Append td <
Data1.Recordset.AddNew
Data1.Recordset.Update
你这两句中间没有绑定添加的数据,数据库是表的形式,每一列是一个字段。首先data链接到数据库(通过datasource),然后把要输入数据的控件链接(通过datafield)到字段名。
With Data1
.Recordset.AddNew
.Recordset("字段名1") = Text1.Text
.Recordset("字段名2") = Text2.Text
.Recordset("字段名3") = Text3.Text
.Recordset("字段名4") = Text4.Text
.Recordset("字段名5") = Text5.Text
.Recordset.Update
End With