VB 子程序或函数未定义!急啊,高手帮帮忙

来源:百度知道 编辑:UC知道 时间:2024/06/07 20:48:43
我要实现的功能是text1失去焦点后自动连接数据库,并将数据库表里的东西显示在相应的地方,可是运行的时候报错说子程序或函数未定义,这个怎么定义啊?急死了,,,高手帮帮忙
Option Explicit
Private Sub Command4_Click()
填写检查结果.Hide
End Sub
Private Sub Text1_Change() “这里报错。。。。。
Dim MsgText As String
Dim sql As String
Dim rs As New ADODB.Recordset
rs.Open sql, conn, adOpenKeyset, adLockPessimistic
sql = "select * from 学生信息表 where 体检单号=" '&Text1.Text&'""
Set rs = QuaryExt(sql, MsgText)
If Text1.Text.LostFocus Then
If rs.EOF = True Then
MsgBox "没有这个体检单号,请重新输入!", vbOKOnly + vbExclamation, "警告"
Text1.Text.SetFocus
Else
Trim(Text4.Text) = Trim(rs.Fields(2))
Trim(Text13.Text) = Trim(rs.Fields(3))
Trim(Text5.Text) = Trim(rs.Fields(1))
Trim(Text14.Text) = Trim(rs.Fields(4))
Trim(Text3.Text) = Trim(rs.Fields(5))
Trim(Text2.Text) = Trim(rs.Fields(2))

--------------------------------------------------------
rs.Open sql, conn, adOpenKeyset, adLockPessimistic

sql = "select * from 学生信息表 where 体检单号=" '&Text1.Text&'""
--------------------------------------------------------
先RS.OPEN再设置SQL语句,反了吧
sql = "select * from 学生信息表 where 体检单号='" &Text1.Text&"'"
rs.Open sql, conn, adOpenKeyset, adLockPessimistic

还有,你把单引号放在双引号外面了
如果你的体检单号是数字型,就不要加单引号

感觉有点像在玩 找茬

同意上面的修改意见
另,text1失去焦点后,并不是Text1_Change()阿?
而应当是:Text1_LostFocus()
否则,文本框动一下,就搞一次数据库,很烦的哦
例如你输入没有完成,他就开始警告你了