抢分的好机会————在VB中利用DATA开发数据库的菜鸟问题(1!!!

Sjtu_sf0124 2001-09-25 12:51:05
小弟我今日初学VB数据库开发。
今天按照书上在VB中利用DATA开发数据库。
界面很基本,除了几个绑定的TEXTBOX,LABEL,
就是那几个ADD,DELETE的BUTTON.
但是按照书上打完运行后,
除了些问题。
如:在窗体上输入新纪录后,
点击add,
出来了:
实时错误:“3426“
该操作被关联对象取消。
点击调试,
指向add子程序的:
Data1.Recordset.AddNew
这是怎么回事?
向点击CHANGE ,也有类似发生。
...全文
91 点赞 收藏 11
写回复
11 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
Sjtu_sf0124 2001-09-25
dondon2001(dondon) ,我的数据库是空的,
有问题吗》
回复
Sjtu_sf0124 2001-09-25
我得数据库是空的。

代码如下:
Public xg As Boolean
‘XG这一变量标示当前的用户操作类型,若是修改或增添记录,为TRUE,否则为FALSE
Private Sub 增加_Click()
xg = True
确定.Visible = True
取消.Visible = True
增加.Enabled = False
修改.Enabled = False
查询.Enabled = False
删除.Enabled = False
上一个.Enabled = False
下一个.Enabled = False
退出.Enabled = False
Data1.Recordset.AddNew
Text1.SetFocus



End Sub

Private Sub 修改_Click()
xg = True
确定.Visible = True
取消.Visible = True
增加.Enabled = False
修改.Enabled = False
查询.Enabled = False
删除.Enabled = False
上一个.Enabled = False
下一个.Enabled = False
退出.Enabled = False
Data1.Recordset.Edit
Text1.SetFocus
End Sub

Private Sub 查询_Click()
xg = False
ss = "请输入要查询的职工的个人编号"
instring$ = InputBox$(ss, "输入提示", "00000000")
Data1.Recordset.FindFirst "个人编号='" & instring$ & "'"
If Data1.Recordset.NoMatch Then
msg = "没有该职工记录!"
MsgBox msg, vbOKOnly, "提示"
End If
End Sub

Private Sub 删除_Click()
ss = MsgBox("真的删除这个记录?", vbYesNo + vbInformation, "删除记录")
If (ss = vbYes) Then
Data1.Recordset.Delete
Data1.Recordset.MoveNext
If Data1.Recordset.EOF Then
Data1.Recordset.MoveLast
下一个.Enabled = False
End If
End If
End Sub

Private Sub 上一个_Click()
xg = False
Data1.Recordset.MovePrevious
If Data1.Recordset.BOF Then
Data1.Recordset.MoveFirst
上一个.Enabled = False
Else
上一个.Enabled = True
下一个.Enabled = True
End If

End Sub

Private Sub 下一个_Click()
xg = False
Data1.Recordset.MoveNext
If Data1.Recordset.EOF Then
Data1.Recordset.MoveLast
下一个.Enabled = False
Else
上一个.Enabled = True
下一个.Enabled = True
End If

End Sub

Private Sub 退出_Click()
End

End Sub

Private Sub 确定_Click()
On Error GoTo error1
xg = True
Data1.Recordset.Update
确定.Enabled = False
取消.Enabled = False
增加.Enabled = True
修改.Enabled = True
查询.Enabled = True
删除.Enabled = True
上一个.Enabled = True
下一个.Enabled = True
退出.Enabled = True
Exit Sub
error1:
MsgBox Err.Description, vbOKOnly, "错误提示"

End Sub

Private Sub 取消_Click()
On Error GoTo error2
xg = True
Data1.Recordset.CancelUpdate

确定.Enabled = False
取消.Enabled = False
增加.Enabled = True
修改.Enabled = True
查询.Enabled = True
删除.Enabled = True
上一个.Enabled = True
下一个.Enabled = True
退出.Enabled = True
Exit Sub
error2:
MsgBox Err.Description, vbOKOnly, "错误提示"
End Sub

Private Sub Data1_Validate(Action As Integer, Save As Integer)
If Text1.DataChanged Then
Save = True
If Data1.Recordset.RecordCount > 1 Then
上一个.Enabled = True
下一个.Enabled = True
End If
Else
If Text1.Text = "" And xg = True Then
ss = MsgBox("必须要有'单位编码'和'个人编号'!", -vbOKOnly + vbInformation, "提示")
Action = False
确定.Visible = True
取消.Visible = True
增加.Enabled = False
修改.Enabled = False
查询.Enabled = False
删除.Enabled = False
上一个.Enabled = False
下一个.Enabled = False
退出.Enabled = False
End If
End If
If Action = data_actionunload Or Action = data_actionclose Then
Save = True
End If
End Sub


Private Sub Form_Load()
Dim i
Data1.Refresh
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
Text4.Text = ""
Text5.Text = ""
Text6.Text = ""

If Data1.Recordset.RecordCount <= 0 Then
上一个.Enabled = False
下一个.Enabled = False
Else
下一个.Enabled = True
End If
End Sub
回复
伽楠 2001-09-25
我代码贴出来看看
回复
wilddragon 2001-09-25
期待答案
回复
Frazy 2001-09-25
凭空猜测??/
回复
dondon2001 2001-09-25
你的数据库是空的?如是空的是会有一点问题的。
回复
dearfws 2001-09-25
最好不采用数据绑定的方法。VB与Delphi不样。数据绑定太不灵活了。
回复
螺丝刀2000 2001-09-25
对把原代码贴出来看看。
回复
songyangk 2001-09-25
把代码贴出来看看.
回复
dinky 2001-09-25
可能是类型不匹配吧!~
回复
Sjtu_sf0124 2001-09-25
up
回复
相关推荐
发帖

1188

社区成员

VB 数据库(包含打印,安装,报表)
申请成为版主
帖子事件
创建了帖子
2001-09-25 12:51
社区公告
暂无公告