vb 数据库无记录提示

请教高手们,下面这个程序我是用来查询数据库后添加新数据的,思路如下,当在数据库中搜索(Command7)不到时,添加(Command1)按钮激活,再添加新数据,这样可以避... 请教高手们,下面这个程序我是用来查询数据库后添加新数据的,思路如下,当在数据库中搜索(Command7)不到时,添加(Command1)按钮激活,再添加新数据,这样可以避免重复,但为什么每次添加(Command1)时总会提示无记录呢?如何能屏蔽?

Private Sub Command7_Click()
str_pla = Text1.Text
Data1.RecordsetType = 0
Data1.RecordSource = "database"
Data1.Refresh
Data1.Recordset.Index = "PLATE"
Data1.Recordset.Seek "=", str_pla
If Data1.Recordset.NoMatch = False Then
Command1.Enabled = False
Else
Command1.Enabled = True
End If
Private Sub Command1_Click()

Data1.Recordset.AddNew
Data1.Recordset.Fields("PLATE") = Text1.Text
...
Data1.Recordset.Update
问个弱问题:res是对什么的操作?还有这句怎么理解:res.Open "select * from animal where animal=' " & text1 & "'", cnn, 1, 3
谢谢
展开
 我来答
以画屏屏8748
2007-12-24 · TA获得超过7191个赞
知道大有可为答主
回答量:2581
采纳率:0%
帮助的人:3301万
展开全部
首先在一个过程里只需要一个on error 语句。

你是用datagrid绑定的吗?
如果是绑定的,只要你输入数据,就会保存记录的,不管有没有重复,也容易出错。
不要在datagrid里添加记录,在里面修改记录还马马虎虎,最好也不要,很容易误操作的。
应该用 res.addnew 命令添加记录,要添加的数据输入在textbox控件里,用赋值语句赋值到每一个字段里,用res.update保存记录。

If MsgBox("确实要增加吗?", vbYesNo) = vbYes Then '确认是否增加记录
If Text1 = "" Then '判断序号不能为空
MsgBox "序号不能为空!请重新输入." '显示对话框
Text1.SetFocus '使text1获得焦点
Exit Sub '退出,重新输入数据
Else
'判断序号是否已经存在
res.Open "select * from animal where animal=' " & text1 & "'", cnn, 1, 3
If Not res.EOF Then
MsgBox "此单词已有,请录入其他单词.", 48, "提示"
exit sub
End If
'增加记录
res.AddNew '在数据库里插入一条空记录
res.Fields("序号") = Text1 '赋值
res.Fields("姓名") = Text2
...........
res.Update '保存记录

End If
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式