主题:[求助] 学习编写数据库,几个问题请教前辈。
ictest
[专家分:0] 发布于 2011-10-13 23:30:00
附件为我摸索着编写的一个单位应用软件,其中运用到了数据库,由于刚开始学习数据库,遇到了几个问题。
1.客户窗口中在增加新客户名称时如何判断相同记录已存在?我试着编写了一下,但是不能输入任何新纪录,如果去除我写的如下语句,可输入新纪录,但是会发生重复纪录的现象:
Adodc1.Recordset.MoveFirst
Adodc1.Recordset.Find "客户名称= ' " & Text1.Text & " ' "
If Not Adodc1.Recordset.EOF Then
MsgBox "此记录已存在!", , "提示窗口"
Else
。
。
。
。
End If
2.如何编写客户窗口中的“结束退出”键的代码,使之只退出“客户窗口”,保留主界面,并且主界面的菜单按钮还继续有效(也就是说“客户”等按钮有效)?
谢谢各位前辈。
最后更新于:2011-10-13 23:31:00
回复列表 (共4个回复)
沙发
老大徒伤悲 [专家分:29120] 发布于 2011-10-14 09:21:00
你的第二个问题相对简单,先说了。在哪里写上代码:UnLoad Me就可以了。
你的第一个问题,从代码上看我也一头雾水,试图运行你的代码不能加载agentctl.dll
板凳
老大徒伤悲 [专家分:29120] 发布于 2011-10-14 09:22:00
数据源还要用户名和密码
3 楼
老大徒伤悲 [专家分:29120] 发布于 2011-10-14 09:57:00
1、 Adodc1.Recordset.AddNew
没有添加内容
2、之所以在不存在记录时也弹出
MsgBox "此记录已存在!", , "提示窗口"
原因是因为
If Not Adodc1.Recordset.EOF Then
语句中Adodc1.Recordset.EOF值为“假”(也就是说当前指针不在结尾处),
Not Adodc1.Recordset.EOF 为真,而导致的。
事实上,只要给你的数据库客户表中预先写入一个记录,就可以避免这种情况。
4 楼
ictest [专家分:0] 发布于 2011-10-16 21:12:00
谢谢各位前辈,我使用了自己的办法,貌似解决了问题。
Private Sub Command1_Click() '添加框内唯一一个“添加”按钮
On Error Resume Next
If Text1.Text = "" Or Text2.Text = "" Then
MsgBox "请填写完整!", vbOKOnly + vbInformation, "提示"
Text1.SetFocus '使控件获得焦点
Exit Sub
End If
If Not Adodc1.Recordset.EOF And Not Adodc1.Recordset.BOF Then
Adodc1.Recordset.MoveFirst
End If
Do While Not Adodc1.Recordset.EOF
If Adodc1.Recordset.Fields("客户名称") = Trim(Text1.Text) Then
MsgBox "请勿添加相同的数据", vbInformation + vbOKOnly
Text1.Text = ""
Text2.Text = ""
Text1.SetFocus
Exit Sub
End If
Adodc1.Recordset.MoveNext
Loop
Adodc1.Recordset.AddNew
Adodc1.Recordset.Fields("客户名称").Value = Trim(Text1.Text)
Adodc1.Recordset.Fields("简称").Value = Trim(Text2.Text)
Adodc1.Recordset.Update
Adodc1.Refresh
MsgBox "数据添加成功", vbInformation + vbOKOnly
Text1.Text = ""
Text2.Text = ""
Text1.SetFocus
End Sub
我来回复