vb+access问题。大家帮帮忙,谢谢

窗体有Text1。Text2。姓名。有数据库d:\a.mdb。表users。字段名称“编号”。“姓名”我在Text1输入“编号”。按Command1时,判断是否存在,不存... 窗体有Text1。Text2。姓名。
有数据库d:\a.mdb。表users。字段名称“编号”。“姓名”
我在Text1输入“编号”。按Command1时,判断是否存在,不存在并提醒
存在的话,Text2显示“姓名”
展开
 我来答
qinxiaojie1985
2011-06-05
知道答主
回答量:21
采纳率:0%
帮助的人:0
展开全部
Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim sql As String
Private Sub Command1_Click()
cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & "d:\a.mdb;Persist Security Info=False"
sql = "select 姓名 from users where 编号 = " & Trim(Text1.Text)
rs.Open sql, cn, adOpenKeyset, adLockOptimistic
If rs.RecordCount = 0 Then
MsgBox "没有此用户", vbCritical, "提示"
Else
Text2.Text = rs.Fields("姓名")
End If
End Sub
'简单的一个代码流程,希望是你想要
追问
谢谢你的帮助。
这我试过了,有些不足,当Text1为空时,出现“如图”
还有第一次输入“编号”还可以运行,第二次输入“编号”运行就不行了。
你能帮我修改吗?
追答
晕,条件的判断自己也不会呀?
你再试下一下的代码,也不全,常见问题处理了
Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim sql As String
Private Sub Command1_Click()
If Trim(Text1.Text) = "" Or Not IsNumeric(Trim(Text1.Text)) Then
MsgBox "编号为空或不正确!"
Else
sql = "select 姓名 from users where 编号 = " & Trim(Text1.Text)
rs.Open sql, cn, adOpenKeyset, adLockOptimistic
If rs.RecordCount = 0 Then
MsgBox "没有此用户", vbCritical, "提示"
Else
Text2.Text = rs.Fields("姓名")
End If
If rs.State = adStateOpen Then
rs.Close
Set rs = Nothing
End If
End If
Text1.Text = ""
Text1.SetFocus
End Sub

Private Sub Form_Load()
cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\a.mdb;Persist Security Info=False"
End Sub

Private Sub Form_Unload(Cancel As Integer)
If cn.State = adStateOpen Then
cn.Close
Set cn = Nothing
End If
End Sub
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式