在窗体上放置多个文本框和下拉式列表框,用来输入员工个人基本信息 。从窗体上可以看到在这一个窗体内可以对信息进行添加、编辑、删除、移动,一个窗体解决了四种不同的操作,当选择修改和删除员工信息操作时出现的也是这个界面。其中“移动”的作用是按照编号的顺序,可以在此窗体中逐个查看员工信息。
在这个界面上还可以添加工作经验,查看信息列表,这是通过一个控件SSTAB(属性页控件)实现的,将各种文本录入控件放在属性页控件的各个页面上,组成“基本信息”、“工作经验”、“信息列表”。
用户输入完毕后,单击“cmdSave ” 按钮将触发Click 事件,代码如下:
Private Sub CmdSave_Click()
Dim StrSQL As String
StrSQL = "select 员工编号 from 员工档案 where 员工编号='" & Trim(TxtCode.Text) & "'"
If Trim(TxtForID.Text) <> Empty Then
Call UpRsValue '//调用更新记录集的过程
On Error GoTo ErrSave
' If RsCheckCode.State = adStateClosed Then
' RsCheckCode.Open StrSQL, DBCON, adOpenKeyset, adLockPessimistic, adCmdText
' End If
' If RsCheckCode.RecordCount > 0 Then
' MsgBox "员工编号已存在", vbInformation + vbOKOnly, "验证错误"
' RsCheckCode.Close
' SSTRecord.Tab = 0
' TxtCode.Text = ""
' TxtCode.SetFocus
' Else
RsRecord.Update '//更新记录
Call CmdMove_Click
MsgBox "数据已保存", , "保存成功"
SSTRecord.Tab = 0
Call CmdState2
Call TxtState1
' End If
Else
MsgBox "原身份不能为空", , "验证失败"
SSTRecord.Tab = 1
End If
Exit Sub
ErrSave:
Select Case Err.Number
Case -2147217887
MsgBox "员工编号已存在," & vbCrLf & "或性别、婚姻状况、部门、职称有空选项!", vbInformation + vbOKOnly, "输入错误"
RsRecord.CancelUpdate
Case Else
MsgBox "错误描述:" & Err.Description & vbCrLf & "错误代码:" & Err.Number, vbCritical + vbOKOnly, "非法操作"
Unload Me
End Select
End Sub
程序首先对是否输入内容进行判断,然后进行格式判断,判断是否有重复记录是很重要的,否则数据库将发生错误,最后根据状态来显示相应的信息,如果添加成功,将提示添加成功。
信息的查询通过查询窗体来实现,考勤信息的查询窗体:
5.3系统的实现
程序对数据库的访问需要通过ODBC(数据源)来实现。打开 “控制面板”中的“ODBC”,创建文件DSN。本程序需要创建的文件名称为Personnel.dsn ,登陆方式选择使用输入登陆ID和密码的SQL server 验证,登陆ID为Sa ,密码为空,默认连接数据库Personnel。
由于程序利用ADO(ActiveX Data Objevt)完成对数据的访问和操作,需要添加ADO库。选择Visual Basic 的“projevt”菜单中的“References”选择“microsoftactiveX data object 2.6 liibrary”。AOO库添加成功。
完成了程序各个功能模块的创建,现在来看整个系统的运行。运行程序出现登录界面: