vb中输入新的数据 但是把原来的第一个数据给覆盖了,并且在数据的最后一行还出现空行
Dim rs_dian As New ADODB.Recordset
Dim conn As New ADODB.Connection
Dim sql As String
If Trim(Text1.Text) = "" Then
MsgBox "电流信息不能为空", vbOKOnly + vbExclamation, ""
Text1.SetFocus
Exit Sub
End If
If Trim(Text2.Text) = "" Then
MsgBox "脉冲宽度不能为空", vbOKOnly + vbExclamation, ""
Text2.SetFocus
Exit Sub
End If
If Trim(Text3.Text) = "" Then
MsgBox "脉冲间隔不能为空", vbOKOnly + vbExclamation, ""
Text3.SetFocus
Exit Sub
End If
If Trim(Text4.Text) = "" Then
MsgBox "高压信息不能为空", vbOKOnly + vbExclamation, ""
Text4.SetFocus
Exit Sub
End If
If Trim(Text5.Text) = "" Then
MsgBox "间隙电压不能为空", vbOKOnly + vbExclamation, ""
Text5.SetFocus
Exit Sub
End If
If Trim(Text6.Text) = "" Then
MsgBox "极性信息不能为空", vbOKOnly + vbExclamation, ""
Text6.SetFocus
Exit Sub
End If
If Trim(Text7.Text) = "" Then
MsgBox "损耗信息不能为空", vbOKOnly + vbExclamation, ""
Text7.SetFocus
Exit Sub
End If
If Trim(Text8.Text) = "" Then
MsgBox "放电间隙不能为空", vbOKOnly + vbExclamation, ""
Text8.SetFocus
Exit Sub
End If
If Trim(Text9.Text) = "" Then
MsgBox "表面粗糙度值不能为空", vbOKOnly + vbExclamation, ""
Text9.SetFocus
Exit Sub
End If
If Trim(Text10.Text) = "" Then
MsgBox "序号不能为空", vbOKOnly + vbExclamation, ""
Text10.SetFocus
Exit Sub
End If
If Trim(Combo2.Text) = "" Then
MsgBox "请选择标准范围", vbOKOnly + vbExclamation, ""
Combo2.SetFocus
Exit Sub
End If
conn.Open "provider=Microsoft.Jet.OLEDB.4.0; data source=" & App.Path & "\表1.mdb"
sql = "select * from 电火花加工 where 序号='" & Text10.Text & "'"
rs_dian.Open sql, conn, adOpenKeyset, adLockPessimistic
If rs_dian.EOF Then
rs_dian.AddNew
rs_dian.Fields(0) = Trim(Text10.Text)
rs_dian.Fields(1) = Trim(Text1.Text)
rs_dian.Fields(2) = Trim(Text2.Text)
rs_dian.Fields(3) = Trim(Text3.Text)
rs_dian.Fields(4) = Trim(Text4.Text)
rs_dian.Fields(5) = Trim(Text5.Text)
rs_dian.Fields(6) = Trim(Text6.Text)
rs_dian.Fields(7) = Trim(Text7.Text)
rs_dian.Fields(8) = Trim(Text8.Text)
rs_dian.Fields(9) = Trim(Text9.Text)
rs_dian.Fields(10) = Trim(Combo2.Text)
rs_dian.Update
MsgBox "添加零件信息成功!", vbOKOnly, ""
rs_dian.Close
Exit Sub
End If
End Sub 展开
2013-07-25
仿照你的代码做了一个 测试,并无问题,如果需要就下载看看。
我推测问题并不在这段代码里面,或者你的代码已经修改过了和数据库不符。
注意到你的截图序号栏 应该是 数字类型,
可是你代码中序号却是通过文本类型查询的,
"select * from 电火花加工 where 序号='" & Text10.Text & "'"
如此,根据你提供的信息还无法做出判断
将所有的数据类型都转成 文本,再测试一下,
数据保存应该不会出错。
如果,你 需要使用现在的 数据类型,那么在给数据库赋值的时候必须做一个转换。
比如:
rs_dian.Fields(0) = Trim(Text10.Text)
这个显然是序号的字段,就要改成:
rs_dian. Fields(0) = val(Trim(Text10.Text) )
而检查序号唯一性的判断:
"select * from 电火花加工 where 序号='" & Text10.Text & "'"
要改成:
"select * from 电火花加工 where 序号=" & val(Text10.Text)
其他的字段如果是数值格式,也需要转换,举个例子:
rs_dian("间歇电压")=val(trim(Text5.text))
再给你一个例子吧,修改后,适应数字字段: