问题:我现在要给数据库的4个表中添加信息(在一个界面中),比如A,B,C,D表。我添加表的记录时(界面中用文本框和其他的控件输入数据),当我添加到C表的数据时出错,这时程序跳出,但是A表的B表的添加的信息却已生成。比方说text1输入A表的信息,text2输入B表的信息,当我输入text3(C表的信息)时由于数据类型出错跳出,但是text1,text2的数据已经在A,B表中生成。而C表没有。这个错误陷进该如何设置。我是这样设置的:Private Sub CmdAddNewClient_Click()
Dim i As Integer
Dim sql As String
On Error GoTo err1:
……'中间是向数据库添加记录的代码
……
……
err1:
MsgBox Err.Description, vbOKOnly + vbExclamation, "添加新记录失败"恳请各位高人帮帮我,怎样使只要出现错误,任何表中都不添加新记录!
Dim i As Integer
Dim sql As String
On Error GoTo err1:
……'中间是向数据库添加记录的代码
……
……
err1:
MsgBox Err.Description, vbOKOnly + vbExclamation, "添加新记录失败"恳请各位高人帮帮我,怎样使只要出现错误,任何表中都不添加新记录!
解决方案 »
- VB存取信息+数据到ACCESS
- 帮我看看从哪里输入坐标值,谢谢
- 如何让状态栏显示到最前面!!!!
- 一个小问题
- access如何根条件求和
- 卸载Vb6英文版后,如何安装Vb6中文版
- 用vb如何从execl中读数据到access中
- 大家都来想想
- 如何用按钮控制ActiveReport2.0的ARviewer
- 新发现:access2000的mdb如果有命名为note的字段,执行rs.execute "insert into (note) values('" & Mynote & "')"时出错
- 为什么在listtree对NODE 对象赋值时会出现类型不匹配,高手们帮帮我,谢谢
- 如何能快速的显示图表VBA
其实,你应该在添加数据的时候,先把Text1,Text2,Text3的类型做个判断。
如果正确了才可以添加进入数据。
private command1_click()
Dim i As Integer
Dim sql As String
On Error GoTo err1:
……'中间是向数据库添加记录的代码
……
……
dim st as integer
On Error GoTo err2:
i = Text3.Text
……
……‘做其他的处理
Exit Sub
err2:
MsgBox ("请输入一个整数")
err1:
MsgBox Err.Description, vbOKOnly + vbExclamation, "添加新记录失败"
END
结果数据类型不对程序就跳出来了,A,B的数据仍然录入了。
请问这个陷进该在什么位置设置!
private command1_click()
Dim i As Integer
Dim sql As String
dim st as integer
//判断数据都为非空的数字 ,一个例子而已
for i = 0 to 3
if trim(text1(i).text)="" or isnumeric(text1(i).text)=false then
MsgBox ("请输入一个数TEXT") & i+1
exit sub
end if
next
//这里数据都是正确的数据了,
数据库操作
Dim sql As String
On Error Goto RollBack 'Begin the transaction
cn.BeginTransaction……'中间是向数据库添加记录的代码
……
…… ' No errors ocurred, so commit the transaction & exit
cn.CommitTrans '数据库事务提交
On Error Goto 0
Exit Sub
RollBack:
MsgBox Err.Description, vbOKOnly + vbExclamation, "添加新记录失败"
cn.RollBackTrans '数据库事务回滚
err.Clear