我用VB做的一个登录界面,编译老说函数未定义。希望高手帮我看看,问题出在哪
下面是我写的代码:DimobjrsAsRecordsetPrivateSubForm1_load()OnErrorGoTodealerrorstrcn="Provider...
下面是我写的代码:
Dim objrs As Recordset
Private Sub Form1_load()
On Error GoTo dealerror
strcn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\My Documents\学生成绩管理系统.mdb;Persist Security Info=False"
objcn.ConnectionString = strcn
objcn.Open
Set objrs = New Recordset
Set objrs.ActiveConnection = objcn
objrs.CursorLocation = adUseClient
strsql = "select * from 系统用户"
objrs.Open strsql
objrs.ActiveConnection = Nothing
objcn.Close
Set objcn = Nothing
cmbstatus.ListIndex = 0
Exit Sub
dealerror:
msg = "程序执行出错,错误信息如下:" & vbCrLf & Err.Description
showerror msg
End Sub
Private Sub cmdcancel_Click()
n = MsgBox("你选择了退出系统登录,退出将不能启动管理系统!" & vbCrLf & "是否真的退出?", vbYesNo, "登录验证")
If n = vbYes Then
Unload Me
End If
End Sub
Private Sub cmdok_Click()
On Error GoTo dealerror
objrs.MoveFirst
objrs.Find "用户名 ='" & txtusername & "'"
If objrs.EOF Then
MsgBox "用户名错误!", vbOKOnly + vbCritical, "系统登录"
txtusername.SetFocus
Else
If objrs!口令 <> txtpassword Then
MsgBox "口令错误!", vbOKOnly + vbCritical, "系统登录"
txtpassword.SetFocus
Else
If objrs!身份 <> cmbstatus Then
MsgBox "身份错误!", vbOKOnly + vbCritical, "系统登录"
cmbstatus.SetFocus
Else
thisusername = txtusername
thispassword = txtpassword
Unload Me
systemmain.Show
End If
End If
End If
Exit Sub
dealerror:
msg = "程序执行出错,错误信息如下:" & vbCrLf & Err.Description
showerror msg 它老说这一行的SHOWERRROR没定义。真是奇怪!!!
End Sub
Private Sub from1_unload(cancel As Integer)
Set objrs = Nothing
End Sub
End Sub
Private Sub Form1_load()里面的showerror msg通过编译了,没说函数没定义啊。
不知道为作么Private Sub cmdok_Click()里面的showerror msg 老说不行。
请高手指点 展开
Dim objrs As Recordset
Private Sub Form1_load()
On Error GoTo dealerror
strcn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\My Documents\学生成绩管理系统.mdb;Persist Security Info=False"
objcn.ConnectionString = strcn
objcn.Open
Set objrs = New Recordset
Set objrs.ActiveConnection = objcn
objrs.CursorLocation = adUseClient
strsql = "select * from 系统用户"
objrs.Open strsql
objrs.ActiveConnection = Nothing
objcn.Close
Set objcn = Nothing
cmbstatus.ListIndex = 0
Exit Sub
dealerror:
msg = "程序执行出错,错误信息如下:" & vbCrLf & Err.Description
showerror msg
End Sub
Private Sub cmdcancel_Click()
n = MsgBox("你选择了退出系统登录,退出将不能启动管理系统!" & vbCrLf & "是否真的退出?", vbYesNo, "登录验证")
If n = vbYes Then
Unload Me
End If
End Sub
Private Sub cmdok_Click()
On Error GoTo dealerror
objrs.MoveFirst
objrs.Find "用户名 ='" & txtusername & "'"
If objrs.EOF Then
MsgBox "用户名错误!", vbOKOnly + vbCritical, "系统登录"
txtusername.SetFocus
Else
If objrs!口令 <> txtpassword Then
MsgBox "口令错误!", vbOKOnly + vbCritical, "系统登录"
txtpassword.SetFocus
Else
If objrs!身份 <> cmbstatus Then
MsgBox "身份错误!", vbOKOnly + vbCritical, "系统登录"
cmbstatus.SetFocus
Else
thisusername = txtusername
thispassword = txtpassword
Unload Me
systemmain.Show
End If
End If
End If
Exit Sub
dealerror:
msg = "程序执行出错,错误信息如下:" & vbCrLf & Err.Description
showerror msg 它老说这一行的SHOWERRROR没定义。真是奇怪!!!
End Sub
Private Sub from1_unload(cancel As Integer)
Set objrs = Nothing
End Sub
End Sub
Private Sub Form1_load()里面的showerror msg通过编译了,没说函数没定义啊。
不知道为作么Private Sub cmdok_Click()里面的showerror msg 老说不行。
请高手指点 展开
展开全部
你别用这俩句了:
msg = "程序执行出错,错误信息如下:" & vbCrLf & Err.Description
showerror msg
showerror是你自己写的函数吗?
你用这代替:
MsgBox "由于本次出现了(" & err.Description & ")错误,所以登陆不成功!", vbInformation, err.Number
刚才发起的会话我不在,
我想是load里的那句根本没运行。
因为你这个是写在错误处理里的,在load中没有出错的时候,是不会运行的。
你可以尝试F9定点,然后shift+F8调试一下。
msg = "程序执行出错,错误信息如下:" & vbCrLf & Err.Description
showerror msg
showerror是你自己写的函数吗?
你用这代替:
MsgBox "由于本次出现了(" & err.Description & ")错误,所以登陆不成功!", vbInformation, err.Number
刚才发起的会话我不在,
我想是load里的那句根本没运行。
因为你这个是写在错误处理里的,在load中没有出错的时候,是不会运行的。
你可以尝试F9定点,然后shift+F8调试一下。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询