📄 employeesingform.frm
字号:
Text1(12).text = XT_calendar.Xtfhcs ' 将日历窗体里取得的值传给建档日期的文本框
End If
End Sub
Private Sub Command5_Click()
PrintCrystalReport "EMPLOYEECARD", "'" & Trim(m_employeeId) & "'"
m_employeeId = ""
Unload Me
End Sub
Private Sub Form_Load()
Set m_EmployeeDAO = New employeeDAO
Set m_recordset = New ADODB.Recordset
Set g_recordset = New ADODB.Recordset
Set m_departmentDAO = New DepartmentDAO
Set m_dao = New ImageDAO
CommonDialog1.Filter = "*.gif|*.gif|*.jpg|*.jpg"
' Me.Height = 6720
' Me.Width = 9703
Combo2.clear
m_departmentDAO.department_findall m_recordset '获得部门名称列表
With m_recordset
Do While Not .EOF
Combo2.AddItem Trim(.Fields("departmentname"))
.MoveNext
Loop
End With
m_recordset.Close
SetToCenter Me
Combo1.AddItem "男"
Combo1.AddItem "女"
If m_operatorType = 0 Then
Me.caption = "员工资料_新增"
Command5.Visible = False
clear
Else
Me.caption = "员工资料_修改"
c_new.Visible = False
FindByIdRefresh
If Trim(Text2.text) <> "" Then
c_new.Enabled = False
c_save.Enabled = False
End If
End If
LoadPictureid pictureid
End Sub
'**************************************
'* 功 能 描 述 :新增员工数据处理函数
'* 输 入 参 数 :无
'* 输 出 能 数 :无
'**************************************
Private Sub NewEmployee()
'
Dim ret As Boolean
Dim imageId As String
Call Check
If pictureid = "" Then ' 新增一条记录
imageId = m_dao.NewImage("a.bmp", imageDataArr)
pictureid = imageId
Else ' 修改一条记录
ret = m_dao.ModifyImage("a.bmp", imageDataArr, pictureid)
End If
ret = m_EmployeeDAO.NewEmployee(m_recordset, Trim(Text1(1).text), _
Trim(Text1(2).text), _
Trim(Combo1.text), _
Trim(Text2.text), _
Trim(Text1(4).text), _
Trim(Text1(5).text), _
Trim(Text1(6).text), _
Trim(Text1(7).text), _
Trim(Text1(8).text), _
Trim(Text1(9).text), _
Trim(Text1(10).text), _
Trim(Text1(11).text), _
CDate(Trim(Text1(12).text)), _
Trim(Text1(13).text), _
Trim(Text1(14).text), _
Trim(Text1(15).text), _
Trim(Text1(16).text), _
Trim(Text1(17).text), _
Trim(Text1(18).text), _
Trim(Text1(19).text), _
Trim(Combo2.text), _
Trim(Text1(21).text), _
Trim(Text1(22).text), CDate(Trim(Text3.text)), _
Trim(Text1(23).text), Trim(Text1(24).text), Trim(Text1(25).text), Trim(Text1(26).text), _
Trim(Text1(27).text), Trim(Text1(28).text), Trim(Text1(29).text), Trim(Text1(30).text), Trim(Text1(31).text), Trim(pictureid))
If Not ret Then
MainForm.g_msgText = "新增员工信息时出错!"
HMsgBox MainForm.g_msgText, 0, 1
End If
End Sub
'**************************************
'* 功 能 描 述 :修改员工处理函数
'* 输 入 参 数 :无
'* 输 出 能 数 :无
'**************************************
Private Sub ModifyEmployee()
'
Dim ret As Boolean
Dim imageId As String
If pictureid = "" Then ' 新增一条记录
imageId = m_dao.NewImage("a.bmp", imageDataArr)
pictureid = imageId
Else ' 修改一条记录
ret = m_dao.ModifyImage("a.bmp", imageDataArr, pictureid)
End If
ret = m_EmployeeDAO.ModifyEmployee(m_recordset, Trim(Text1(1).text), _
Trim(Text1(2).text), Trim(Combo1.text), Trim(Text2.text), _
Trim(Text1(4).text), Trim(Text1(5).text), Trim(Text1(6).text), Trim(Text1(7).text), _
Trim(Text1(8).text), Trim(Text1(9).text), Trim(Text1(10).text), Trim(Text1(11).text), _
CDate(Trim(Text1(12).text)), Trim(Text1(13).text), Trim(Text1(14).text), Trim(Text1(15).text), _
Trim(Text1(16).text), Trim(Text1(17).text), Trim(Text1(18).text), Trim(Text1(19).text), _
Trim(Combo2.text), Trim(Text1(21).text), Trim(Text1(22).text), CDate(Trim(Text3.text)), _
Trim(Text1(23).text), Trim(Text1(24).text), Trim(Text1(25).text), Trim(Text1(26).text), _
Trim(Text1(27).text), Trim(Text1(28).text), Trim(Text1(29).text), Trim(Text1(30).text), Trim(Text1(31).text), Trim(pictureid), m_employeeId)
If Not ret Then
MainForm.g_msgText = "修改员工信息时出错!"
HMsgBox MainForm.g_msgText, 0, 1
End If
End Sub
'**************************************
'* 功 能 描 述 :检验数据的合法性
'* 输 入 参 数 :无
'* 输 出 能 数 :无
'**************************************
Private Sub Check()
f = "1"
If Trim(Text1(1).text) = "" Then
MainForm.g_msgText = "姓名不能为空!"
HMsgBox MainForm.g_msgText, 0, 1
Text1(1).SetFocus
f = "0"
Exit Sub
End If
If Trim(Text1(16).text) = "" Then
MainForm.g_msgText = "呢称不能为空!"
HMsgBox MainForm.g_msgText, 0, 1
Text1(16).SetFocus
f = "0"
Exit Sub
End If
If Trim(Combo2.text) = "" Then
MainForm.g_msgText = "所在部门不能为空!"
HMsgBox MainForm.g_msgText, 0, 1
Combo2.SetFocus
f = "0"
Exit Sub
End If
If Trim(Text1(21).text) = "" Then
MainForm.g_msgText = "职位不能为空!"
HMsgBox MainForm.g_msgText, 0, 1
Text1(21).SetFocus
f = "0"
Exit Sub
End If
If Trim(Text1(5).text) = "" Then
MainForm.g_msgText = "员工编号不能为空!"
HMsgBox MainForm.g_msgText, 0, 1
Text1(5).SetFocus
f = "0"
Exit Sub
End If
If Trim(Text1(15).text) = "" Then
MainForm.g_msgText = "提成系数不能为空!"
HMsgBox MainForm.g_msgText, 0, 1
Text1(15).SetFocus
f = "0"
Exit Sub
End If
If CDbl(Trim(Text1(15).text)) = 0 Then
MainForm.g_msgText = "提成系数不能为零!"
HMsgBox MainForm.g_msgText, 0, 1
Text1(15).SetFocus
f = "0"
Exit Sub
End If
If Not IsNumeric(Trim(Text1(15).text)) Then
MainForm.g_msgText = "提成系数格式有错!"
HMsgBox MainForm.g_msgText, 0, 1
Text1(15).SetFocus
f = "0"
Exit Sub
End If
If Trim(Text1(12).text) = "" Then
MainForm.g_msgText = "生日不能为空!"
HMsgBox MainForm.g_msgText, 0, 1
Text1(12).SetFocus
f = "0"
Exit Sub
End If
'
If Trim(Text3.text) = "" Then
MainForm.g_msgText = "加盟日期不能为空!"
HMsgBox MainForm.g_msgText, 0, 1
Text3.SetFocus
f = "0"
Exit Sub
End If
If Not IsDate(Trim(Text3.text)) Then
MainForm.g_msgText = "加盟日期格式有错!"
HMsgBox MainForm.g_msgText, 0, 1
Text3.SetFocus
f = "0"
Exit Sub
End If
If Not IsDate(Trim(Text1(12).text)) Then
MainForm.g_msgText = "生日日期格式有错!"
HMsgBox MainForm.g_msgText, 0, 1
Text3.SetFocus
f = "0"
Exit Sub
End If
If Trim(Text1(5).text) <> Trim(Text1(5).Tag) Or _
Trim(Text1(16).text) <> Trim(Text1(16).Tag) Then
' 查找数据
m_EmployeeDAO.FindAll m_recordset, "3"
While Not m_recordset.EOF
' 编号不能重复
If Trim(Text1(5).text) <> Trim(Text1(5).Tag) Then
If Trim(Text1(5).text) = Trim(m_recordset.Fields("籍贯") & " ") And _
Trim(m_recordset.Fields("出生年月") & " ") = "" Then
MainForm.g_msgText = "员工编号已存在,请重新输入!"
HMsgBox MainForm.g_msgText, 0, 1
Text1(5).SetFocus
f = "0"
m_recordset.Close
Exit Sub
End If
End If
' 昵称不能重复
If Trim(Text1(16).text) <> Trim(Text1(16).Tag) Then
If Trim(Text1(16).text) = Trim(m_recordset.Fields("呢称") & " ") Then
MainForm.g_msgText = "昵称已存在,请重新输入!"
HMsgBox MainForm.g_msgText, 0, 1
Text1(16).SetFocus
f = "0"
m_recordset.Close
Exit Sub
End If
End If
m_recordset.MoveNext
Wend
m_recordset.Close
End If
End Sub
'**************************************
'* 功 能 描 述 :根据员工编号找到员工资料并显示在界面上
'* 输 入 参 数 :无
'* 输 出 能 数 :无
'**************************************
Private Sub FindByIdRefresh()
Dim ret As Boolean
ret = m_EmployeeDAO.FindById(m_recordset, m_employeeId)
If ret Then
With m_recordset
Text1(0).text = Trim(.Fields("员工编号"))
Text1(1).text = Trim(.Fields("员工姓名"))
Text1(2).text = Trim(.Fields("密码"))
Combo1.text = Trim(.Fields("性别"))
Text2.text = Trim(.Fields("出生年月") & " ")
Text1(4).text = Trim(.Fields("民族"))
Text1(5).text = Trim(.Fields("籍贯"))
Text1(5).Tag = Trim(.Fields("籍贯"))
Text1(6).text = Trim(.Fields("血型"))
Text1(7).text = Trim(.Fields("身份证号"))
Text1(8).text = Trim(.Fields("身高"))
Text1(9).text = Trim(.Fields("体重"))
Text1(10).text = Trim(.Fields("户口所在"))
Text1(11).text = Trim(.Fields("学历"))
Text1(12).text = Trim(.Fields("专业"))
Text1(13).text = Trim(.Fields("毕业学校"))
Text1(14).text = Trim(.Fields("政治面貌"))
Text1(15).text = Trim(.Fields("语言种类"))
Text1(16).text = Trim(.Fields("呢称"))
Text1(16).Tag = Trim(.Fields("呢称"))
Text1(17).text = Trim(.Fields("计算机水平"))
Text1(18).text = Trim(.Fields("婚姻状况"))
Text1(19).text = Trim(.Fields("家庭状况"))
Combo2.text = Trim(.Fields("所在部门"))
Text1(21).text = Trim(.Fields("职位"))
Text1(22).text = Trim(.Fields("职称"))
Text3.text = Trim(.Fields("到冈时间"))
Text1(23).text = Trim(.Fields("公司电话"))
Text1(24).text = Trim(.Fields("家庭电话"))
Text1(25).text = Trim(.Fields("移动电话"))
Text1(26).text = Trim(.Fields("Email"))
Text1(27).text = Trim(.Fields("紧急通知"))
Text1(28).text = Trim(.Fields("邮政编码"))
Text1(29).text = Trim(.Fields("联系地址"))
Text1(30).text = Trim(.Fields("健康状况"))
Text1(31).text = Trim(.Fields("备注"))
pictureid = Trim(.Fields("图片ID"))
m_recordset.Close
End With
Else
MainForm.g_msgText = "员工编号不正确,请重新操作!"
HMsgBox MainForm.g_msgText, 0, 1
Unload Me
End If
End Sub
'**************************************
'* 功 能 描 述 :清除界面上文本框里的所有内容
'* 输 入 参 数 :无
'* 输 出 能 数 :无
'**************************************
Private Sub clear()
Text1(0).text = ""
Text1(1).text = ""
Text1(2).text = "123"
Combo1.text = ""
DTPicker1.value = Date
Text3.text = Date
Text1(4).text = ""
Text1(5).text = ""
Text1(6).text = ""
Text1(7).text = ""
Text1(8).text = ""
Text1(9).text = ""
Text1(10).text = ""
Text1(11).text = ""
Text1(12).text = ""
Text1(13).text = ""
Text1(14).text = ""
Text1(15).text = ""
Text1(16).text = ""
Text1(17).text = ""
Text1(18).text = ""
Text1(19).text = ""
Combo2.text = ""
Text1(21).text = ""
Text1(22).text = ""
DTPicker2.value = Date
Text1(23).text = ""
Text1(24).text = ""
Text1(25).text = ""
Text1(26).text = ""
Text1(27).text = ""
Text1(28).text = ""
Text1(29).text = ""
Text1(30).text = ""
Text1(31).text = ""
pictureid = ""
End Sub
'**************************************
'* 功 能 描 述 :载入一个图记录的图片数据
'* 输 入 参 数 :imageId - 图片ID
'* 输 出 能 数 :无
'**************************************
Private Function LoadPictureid(imageId As String)
Dim ret As Boolean
Dim fileLen As Long ' 图片的长度
Dim bufferfile As Long
Dim current As String
ret = m_dao.FindImageById(g_recordset, imageId)
If ret Then
fileLen = g_recordset.Fields("imageDate").ActualSize '得到office字段中的文件数据的大小
ReDim imageDataArr(fileLen)
imageDataArr() = g_recordset.Fields("imageDate").GetChunk(fileLen) '将字段中数据写入动态数组中
bufferfile = FreeFile()
Open "tempfile.bmp" For Binary Access Read Write As #bufferfile '打开一个临时文件
Put bufferfile, , imageDataArr '将动态数组FileArr中的数据写入临时文件tempfile中
current = CurDir & "\tempfile.bmp" '获取临时文件的全路径
' WebBrowser1.Navigate current '在WebBrowser控件中显示文件内容
Picture1.Picture = LoadPicture(current)
End If
g_recordset.Close
End Function
'Private Sub Label1_Click(Index As Integer)
' departmentdetail.show 1
' Combo2.clear
' m_departmentDAO.department_findall m_recordset '获得部门名称列表
' With m_recordset
' Do While Not .EOF
' Combo2.AddItem Trim(.Fields("departmentname"))
' .MoveNext
' Loop
' End With
' m_recordset.Close
'
'End Sub
Private Sub Text1_KeyPress(Index As Integer, KeyAscii As Integer)
If Index = 15 Then ' 如果修改的是提成系数的处理
InputFieldLimit Text1(15), 6, KeyAscii
End If
End Sub
Public Sub Drbmhelp(bzlx As Integer, Scdwnr As String) '调入编码参照窗体
'函数参数:帮助类型(0-通用型 1-日期型 2-特殊型),帮助编码,首次定位内容
On Error GoTo ErrHandle
XT_calendar.Xtfhcs = ""
Select Case bzlx
Case 1
XT_calendar.xtcdcs = Date
XT_calendar.show 1 '显示日历窗体
End Select
ErrHandle:
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -