OptionExplicit Private mclsMidTier As clsMidTier Dim rs As Recordset Dim strCmd AsString Public LoginSucceeded AsBoolean PrivateSub cboUserName_LostFocus() '全局用户名 UserName = cboUserName.Text End Sub PrivateSub cmdCancel_Click() '设置全局变量为 false '不提示失败的登录 LoginSucceeded =False End End Sub PrivateSub cmdOK_Click() Dim strFindUser AsString Dim strCondition AsString strFindUser = cboUserName.Text strCmd ="Select UserName,UserPassword From UserInfo " strCondition ="UserName='"& strFindUser &"'" Set rs = mclsMidTier.GetList(strCmd, strCondition) IfNot rs.BOF Then rs.MoveFirst EndIf '检查正确的密码 If rs.RecordCount <>0Then If rs("UserPassword") = txtPassword.Text Then LoginSucceeded =True Load frmMDIMain frmMDIMain.Show Unload Me ElseIf rs("UserPassword") <> txtPassword.Text Then MsgBox"无效的密码,请重试!", vbOKOnly + vbExclamation, "登录提示" txtPassword.SetFocus SendKeys "{Home}+{End}" EndIf EndIf End Sub PrivateSub cboUserName_KeyPress(KeyAscii AsInteger) If KeyAscii =13Then KeyAscii =0 SendKeys "{Tab}" EndIf End Sub PrivateSub Form_Load() Set mclsMidTier =New clsMidTier Set rs = mclsMidTier.GetList("select * from UserInfo") If rs.RecordCount =0Then rs.AddNew rs("UserName") ="System" rs("UserPassword") ="123456" rs.Update Else rs.MoveFirst EndIf DoWhileNot rs.EOF cboUserName.AddItem rs("UserName") rs.MoveNext Loop End Sub PrivateSub Form_Unload(Cancel AsInteger) rs.Close Set rs =Nothing Set mclsMidTier =Nothing End Sub