📄 dlguserinfo.frm
字号:
VERSION 5.00
Begin VB.Form dlgUserInfo
BorderStyle = 3 'Fixed Dialog
Caption = "服务端用户信息设置"
ClientHeight = 3345
ClientLeft = 45
ClientTop = 330
ClientWidth = 4560
Icon = "dlgUserInfo.frx":0000
LinkTopic = "Form1"
LockControls = -1 'True
MaxButton = 0 'False
MinButton = 0 'False
ScaleHeight = 3345
ScaleWidth = 4560
ShowInTaskbar = 0 'False
StartUpPosition = 1 '所有者中心
Begin VB.CommandButton cmdCancel
Cancel = -1 'True
Caption = "取消(&C)"
Height = 375
Left = 3360
TabIndex = 6
Top = 2820
Width = 975
End
Begin VB.TextBox txtMode
Height = 615
Left = 1320
MultiLine = -1 'True
TabIndex = 4
Top = 2040
Width = 3015
End
Begin VB.ComboBox cboDepart
Height = 300
Left = 1320
TabIndex = 3
Top = 1560
Width = 3015
End
Begin VB.TextBox txtTitle
Height = 270
Left = 1320
TabIndex = 2
Top = 1080
Width = 3015
End
Begin VB.TextBox txtCode
Height = 270
Left = 1320
TabIndex = 0
Top = 120
Width = 3015
End
Begin VB.TextBox txtName
Height = 270
Left = 1320
TabIndex = 1
Top = 600
Width = 3015
End
Begin VB.CommandButton cmdOK
Caption = "确定(&O)"
Height = 375
Left = 2400
TabIndex = 5
Top = 2820
Width = 975
End
Begin VB.Label lblInfo
Caption = "备注信息:"
Height = 195
Index = 4
Left = 240
TabIndex = 11
Top = 2040
Width = 975
End
Begin VB.Label lblInfo
Caption = "用户工号:"
Height = 195
Index = 0
Left = 240
TabIndex = 7
Top = 165
Width = 975
End
Begin VB.Label lblInfo
Caption = "用户姓名:"
Height = 195
Index = 1
Left = 240
TabIndex = 8
Top = 638
Width = 975
End
Begin VB.Label lblInfo
Caption = "用户职位:"
Height = 195
Index = 2
Left = 240
TabIndex = 9
Top = 1118
Width = 975
End
Begin VB.Label lblInfo
Caption = "所属部门:"
Height = 195
Index = 3
Left = 240
TabIndex = 10
Top = 1613
Width = 975
End
End
Attribute VB_Name = "dlgUserInfo"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Explicit
Dim m_tagErrInfo As TYPE_ERRORINFO
Dim m_iCode As Integer
Dim m_bChange As Boolean
Private Sub cboDepart_GotFocus()
On Error Resume Next
cboDepart.BackColor = &H80000018
End Sub
Private Sub cboDepart_KeyPress(KeyAscii As Integer)
On Error Resume Next
If KeyAscii = 13 Then '是回车键?
KeyAscii = 0 '0取消输入
SendKeys "{tab}"
End If
End Sub
Private Sub cboDepart_LostFocus()
On Error Resume Next
cboDepart.BackColor = &H80000005
End Sub
Private Sub cmdCancel_Click()
On Error Resume Next
Unload Me
End Sub
Private Sub cmdOK_Click()
On Error GoTo ERROR_EXIT
Dim iTrans As Integer, i As Integer
Dim sDepart As String
If Trim$(txtCode.Text) = "" Then
MsgBox "请输入正确的用户工号!", vbOKOnly, "系统提示"
Exit Sub
End If
If Trim$(txtName.Text) = "" Then
MsgBox "请输入正确的用户姓名!", vbOKOnly, "系统提示"
Exit Sub
End If
'修改数据库
iTrans = dbMyDB.BeginTrans
If m_bChange = False Then
If cboDepart.ListIndex = -1 Then
dbMyDB.Execute "INSERT INTO Employee([ep_code],[ep_code_2],[name_c],[name_e],[property],[department_id],[ep_title],[note],[nouse_yesno])" _
& "VALUES( '" & txtCode.Text & "', 'NULL', '" & txtName.Text & "', 'NULL', ' ', NULL, '" & _
txtTitle.Text & "', '" & txtMode.Text & "', '0')"
Else
sDepart = CStr(cboDepart.ItemData(cboDepart.ListIndex))
dbMyDB.Execute "INSERT INTO Employee([ep_code],[ep_code_2],[name_c],[name_e],[property],[department_id],[ep_title],[note],[nouse_yesno])" _
& "VALUES( '" & txtCode.Text & "', 'NULL', '" & txtName.Text & "', 'NULL', ' ', '" _
& sDepart & "', '" & txtTitle.Text & "', '" & txtMode.Text & "', '0')"
End If
Else
If cboDepart.ListIndex = -1 Then
dbMyDB.Execute "UPDATE Employee SET name_c = '" & txtName.Text & "', note = '" & txtMode.Text & "', " & _
"ep_code = '" & txtCode.Text & "', ep_title = '" & txtTitle.Text & _
"', department_id = NULL WHERE ep_id = '" & m_iCode & "'"
Else
sDepart = CStr(cboDepart.ItemData(cboDepart.ListIndex))
dbMyDB.Execute "UPDATE Employee SET name_c = '" & txtName.Text & "', note = '" & txtMode.Text & "', " & _
"ep_code = '" & txtCode.Text & "', ep_title = '" & txtTitle.Text & _
"', department_id = '" & sDepart & "' WHERE ep_id = '" & m_iCode & "'"
End If
End If
If iTrans > 0 Then
dbMyDB.CommitTrans
iTrans = 0
End If
Unload Me
Exit Sub
ERROR_EXIT:
If iTrans > 0 Then dbMyDB.RollbackTrans
m_tagErrInfo.strErrDate = Format(Now, "yyyy-mm-dd hh:mm:ss")
m_tagErrInfo.strErrFile = "dlgUserInfo"
m_tagErrInfo.strErrFunc = "cmdOK_Click"
m_tagErrInfo.nErrNum = Err.Number
m_tagErrInfo.strErrDesc = Error(Err.Number)
If Err.Number <> 0 Then Err.Clear
modErrorInfo.WriteErrLog m_tagErrInfo
End Sub
Private Sub Form_Load()
On Error GoTo ERROR_EXIT
Dim rs As New ADODB.Recordset, cmd As New ADODB.Command
Dim strSQL As String, i As Integer
m_bChange = False
'连接数据库
cmd.ActiveConnection = dbMyDB
cmd.CommandType = adCmdText
'查询数据库
strSQL = "SELECT * FROM Department"
cmd.CommandText = strSQL
rs.CursorLocation = adUseClient
rs.Open cmd, , adOpenStatic, adLockReadOnly
If Not rs.EOF And rs.RecordCount > 0 Then
rs.MoveFirst
For i = 1 To rs.RecordCount
cboDepart.AddItem rs!dp_name
cboDepart.ItemData(i - 1) = rs!dp_id
rs.MoveNext
Next i
End If
rs.Close
If rs.State = adStateOpen Then rs.Close
Set rs = Nothing
Set cmd = Nothing
Exit Sub
ERROR_EXIT:
m_tagErrInfo.strErrDate = Format(Now, "yyyy-mm-dd hh:mm:ss")
m_tagErrInfo.strErrFile = "dlgUserInfo"
m_tagErrInfo.strErrFunc = "Form_Load"
m_tagErrInfo.nErrNum = Err.Number
m_tagErrInfo.strErrDesc = Error(Err.Number)
If Err.Number <> 0 Then Err.Clear
modErrorInfo.WriteErrLog m_tagErrInfo
End Sub
Private Sub Form_Terminate()
On Error Resume Next
Set dlgUserInfo = Nothing
End Sub
Private Sub txtCode_GotFocus()
On Error Resume Next
txtCode.BackColor = &H80000018
End Sub
Private Sub txtCode_KeyPress(KeyAscii As Integer)
On Error Resume Next
If KeyAscii = 13 Then '是回车键?
KeyAscii = 0 '0取消输入
SendKeys "{tab}"
End If
End Sub
Private Sub txtCode_LostFocus()
On Error Resume Next
txtCode.BackColor = &H80000005
End Sub
Private Sub txtMode_GotFocus()
On Error Resume Next
txtMode.BackColor = &H80000018
End Sub
Private Sub txtMode_KeyPress(KeyAscii As Integer)
On Error Resume Next
If KeyAscii = 13 Then '是回车键?
KeyAscii = 0 '0取消输入
SendKeys "{tab}"
End If
End Sub
Private Sub txtMode_LostFocus()
On Error Resume Next
txtMode.BackColor = &H80000005
End Sub
Private Sub txtName_GotFocus()
On Error Resume Next
txtName.BackColor = &H80000018
End Sub
Private Sub txtName_KeyPress(KeyAscii As Integer)
On Error Resume Next
If KeyAscii = 13 Then '是回车键?
KeyAscii = 0 '0取消输入
SendKeys "{tab}"
End If
End Sub
Private Sub txtName_LostFocus()
On Error Resume Next
txtName.BackColor = &H80000005
End Sub
Private Sub txtTitle_GotFocus()
On Error Resume Next
txtTitle.BackColor = &H80000018
End Sub
Private Sub txtTitle_KeyPress(KeyAscii As Integer)
On Error Resume Next
If KeyAscii = 13 Then '是回车键?
KeyAscii = 0 '0取消输入
SendKeys "{tab}"
End If
End Sub
Private Sub txtTitle_LostFocus()
On Error Resume Next
txtTitle.BackColor = &H80000005
End Sub
'//////////////////////////////////////////////////////////////////////////////////////////
'/设定服务编号
Public Property Let UserCode(ByVal vNewValue As Integer)
On Error Resume Next
m_iCode = vNewValue
m_bChange = True
End Property
'初始化对话框
Public Function InitSet() As Boolean
On Error GoTo ERROR_EXIT
Dim rs As New ADODB.Recordset, cmd As New ADODB.Command
Dim strSQL As String, i As Integer
If m_bChange = True Then
'连接数据库
cmd.ActiveConnection = dbMyDB
cmd.CommandType = adCmdText
'查询数据库
strSQL = "SELECT * FROM Employee WHERE ep_id = '" & m_iCode & "'"
cmd.CommandText = strSQL
rs.CursorLocation = adUseClient
rs.Open cmd, , adOpenStatic, adLockReadOnly
If Not rs.EOF And rs.RecordCount > 0 Then
txtCode.Text = rs!ep_code
If Not IsNull(rs!name_c) Then txtName.Text = rs!name_c
If Not IsNull(rs!ep_title) Then txtTitle.Text = rs!ep_title
If Not IsNull(rs!note) Then txtMode.Text = rs!note
If Not IsNull(rs!department_id) Then
For i = 1 To cboDepart.ListCount
If cboDepart.ItemData(i - 1) = rs!department_id Then
cboDepart.ListIndex = i - 1
Exit For
End If
Next i
End If
Else
GoTo ERROR_EXIT
End If
rs.Close
End If
If rs.State = adStateOpen Then rs.Close
Set rs = Nothing
Set cmd = Nothing
InitSet = True
Exit Function
ERROR_EXIT:
m_tagErrInfo.strErrDate = Format(Now, "yyyy-mm-dd hh:mm:ss")
m_tagErrInfo.strErrFile = "dlgUserInfo"
m_tagErrInfo.strErrFunc = "InitSet"
m_tagErrInfo.nErrNum = Err.Number
m_tagErrInfo.strErrDesc = Error(Err.Number)
If Err.Number <> 0 Then Err.Clear
modErrorInfo.WriteErrLog m_tagErrInfo
End Function
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -