ype=cboUserType.ListIndex
EndSub
PrivateSubcmdCancel_Click()
UnloadMe
EndSub
PrivateSubcmdOK_Click()
''取得用户输入的用户名和密码
DimuserAsString,pwdAsString
user=txtUser
pwd=txtPwd
''根据不同的身份,选择不同的表用以查询
DimrAsNewADODB.Recordset
Setr=DataEnv.rssqlSeek
DimstrSQLAsString
SelectCasemnUserType
Case0:'选择身份为管理员
strSQL="select*fromadminwherename='"&user&"'andpwd='"&pwd&"'"
Case1:'选择身份为教师
strSQL="select*fromteacherwherename='"&user&"'andserial='"&pwd&"'"
EndSelect
ResumeNext
Ifr.State=adStateOpenThenr.Close
r.OpenstrSQL
''用户密码错误的次数,如果错误次数超过3次,则退出系统
StaticnTryCountAsInteger
Ifr.EOFThen''登录失败
MsgBox"对不起,无此用户或者密码不正确!请重新输入!!",vbCritical,"错误"
txtUser.SetFocus
txtUser.SelStart=0
txtUser.SelLength=Len(txtUser)
nTryCount=nTryCount+1
IfnTryCount>=3Then
MsgBox"您无权操作本系统!再见!",vbCritical,"无权限"
UnloadMe
EndIf
Else''登陆成功
''显示MDI窗体,并将用户类型和用户名传到MDI窗体中
LoadMDIMain
WithMDIMain
.mnUserType=cboUserType.ListIndex
.msUserName=pwd
.Show
EndWith
UnloadMe
EndIf
EndSub
PrivateSubForm_Load()
cboUserType.ListIndex=0
EndSub
2.主界面
主界面代码:
OptionExplicit
'表示当前的用户类型
'0---管理员类型的用户;1---教师类型的用户
PublicmnUserTypeAsInteger
'表示当前登录的用户名
PublicmsUserNameAsString
PrivateSubMDIForm_Activate()
''根据不同的用户类型,使相应的菜单项可见
SelectCasemnUserType
Case0:'以管理员身份登录
mnuFind.Visible=True
Case1:'以教师身份登录,只能查询自己的信息
mnuFind.Visible=False
EndSelect
EndSub
PrivateSubMDIForm_QueryUnload(CancelAsInteger,UnloadModeAsInteger)
IfMsgBox("真的要对出本系统吗?",vbQuestion+vbYesNo+vbDefaultButton2,"退出")=vbNoThen
Cancel=1
EndIf
EndSub
PrivateSubmnuAbout_Click()
LoadfrmSplash
frmSplash.mbAbout=True
frmSplash.ShowvbModal
EndSub
PrivateSubmnuExit_Click()
UnloadMe
EndSub
PrivateSubmnuFind_Click()
frmTeacher.Show
frmTeacher.cmdSeek.Value=True
EndSub
PrivateSubmnuLogin_Click()
IfMsgBox("若重新登录,所有窗体都将关闭!是否重新登录?",vbQuestion+vbYesNo+vbDefaultButton2,"重新登录")=vbYesThen
UnloadMDIMain
frmLogin.Show
EndIf
EndSub
PrivateSubmnuStudent_Click()
IfmnUserType=0Then
frmTeacher.Show
Else
frmLook.Show
EndIf
EndSub
3.教师信息管理界面:
教师信息管理代码:
OptionExplicit
DimmbCloseAsBoolean'是否能关闭
DimmsSerialAsString'当前编辑的教师号
'''在DataEnv.rsTeacher中查询serial为sSerial的学籍信息
SubSeekTeacher(sSerialAsString)
IfNot(DataEnv.rsTeacher.EOFAndDataEnv.rsTeacher.BOF)Then
DimTempAsString
Temp="serial="&"'"&sSerial&"'"
DataEnv.rsTeacher.MoveFirst
DataEnv.rsTeacher.FindTemp
EndIf
EndSub
'''当改变记录集时,需要刷新整个网格控件
SubRefreshGrid()
grdScan.DataMember=""
grdScan.Refresh
IfDataEnv.rssqlSeek.State<>adStateClosedThenDataEnv.rssqlSeek.Close
DataEnv.rssqlSeek.Open
grdScan.DataMember="sqlSeek"
grdScan.Refresh
''刷新各个绑定控件
CallgrdScan_Change
EndSub
'''用以在浏览时,根据当前记录所出的位置不同,来改变个浏览按钮的状态
SubChangeBrowseState()
WithDataEnv.rssqlSeek
''如果没有任何记录,则清空显示目录;并且使浏览部分和管理部分的按钮无效
If.State=adStateClosedThen.Open
If.BOFAnd.EOFThen
cmdAdd.Enabled=True
cmdEdit.Enabled
上一篇:
vb教师管理系统vb+access含源代码+可执行程序+论文+开题报告+外文翻译+答辩稿()(论文和程序)
下一篇:
对硕士毕业生迁移失业目的地的实证研讨