⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 frm_addworker.frm

📁 汽修厂管理软件
💻 FRM
📖 第 1 页 / 共 3 页
字号:
     Set grpTemp = wksWorker.CreateGroup(Chk_Groups(i).Caption)
     If GrpSelected(i) = True And GrpChange(i) = False Then
        wksWorker.Users(Lst_Workers.ListIndex).Groups.Delete (Chk_Groups(i).Caption)
      Else
        wksWorker.Users(Lst_Workers.ListIndex).Groups.Append grpTemp
     End If
    End If
  Next i
 End If
End Sub

Private Sub Cmd_Exit3_Click()
On Error GoTo EHand
Unload Me
EHand:
'If strOkorEsc = "确定" Then MsgBox Err.Description, vbCritical + vbOKOnly, STRGARAGE
End Sub

Private Sub Form_Load()
Dim rsSalary As Recordset
Dim intSalarySetup As Integer

Frm_Login.Show vbModal

On Error GoTo EHand
Set wksWorker = DBEngine.CreateWorkspace("wksworker", Frm_Login.Txt_Name, Frm_Login.Txt_PWD, dbUseJet)
Set dbWorker = wksWorker.OpenDatabase(DBPATH, False, False)
LstFresh
Chk_Groups(0).Caption = wksWorker.Groups(0).Name
For i = 1 To wksWorker.Groups.Count - 1
 Load Chk_Groups(i)
 Chk_Groups(i).Left = Chk_Groups(i - 1).Left
 Chk_Groups(i).Top = Chk_Groups(i - 1).Top + 400
 Chk_Groups(i).Caption = wksWorker.Groups(i).Name
 
 Chk_Groups(i).Visible = True
Next i
ReDim GrpSelected(wksWorker.Groups.Count)
ReDim GrpChange(wksWorker.Groups.Count)
For i = 1 To wksWorker.Groups.Count - 1
  If wksWorker.Groups(i).Name = "Users" Then Chk_Groups(i).Value = 1
Next i

Cmd_DelWorker.Enabled = False
Cmd_AddWorker.Enabled = False
Cmd_SetGroup.Enabled = False
FirstClickLstBox = True
For i = 0 To 2
Frame1(i).Caption = ""
Next i
'加载薪金设置页面
'判断是否有权限,

If dbWorker.Containers("tables").Documents("职员表").AllPermissions <> 1048575 Then
 Frame1(1).Visible = False
 Frame1(2).Visible = False
 

 Exit Sub
End If

Set rsSalary = dbWorker.OpenRecordset("职员表", dbOpenTable)
intSalarySetup = 0
For i = 0 To rsSalary.Fields.Count - 1

If Mid(rsSalary.Fields(i).Name, 1, 2) = "gz" Or Mid(rsSalary.Fields(i).Name, 1, 2) = "GZ" Then
  If intSalarySetup <> 0 Then
   Load lbl_SalaryTitle(intSalarySetup)
   Load Txt_SalarySetup(intSalarySetup)
   Load Lbl_SalarySetup(intSalarySetup)
   lbl_SalaryTitle(intSalarySetup).Left = lbl_SalaryTitle(intSalarySetup - 1).Left
   Txt_SalarySetup(intSalarySetup).Left = Txt_SalarySetup(intSalarySetup - 1).Left
   Lbl_SalarySetup(intSalarySetup).Left = Lbl_SalarySetup(intSalarySetup - 1).Left
   lbl_SalaryTitle(intSalarySetup).Top = lbl_SalaryTitle(intSalarySetup - 1).Top + 400
   Txt_SalarySetup(intSalarySetup).Top = Txt_SalarySetup(intSalarySetup - 1).Top + 400
   Lbl_SalarySetup(intSalarySetup).Top = Lbl_SalarySetup(intSalarySetup - 1).Top + 400
   lbl_SalaryTitle(intSalarySetup).Visible = True
   Txt_SalarySetup(intSalarySetup).Visible = True
   Lbl_SalarySetup(intSalarySetup).Visible = True
  End If
   lbl_SalaryTitle(intSalarySetup).Caption = Mid(rsSalary.Fields(i).Name, 3)
  Select Case rsSalary.Fields(i).Type
   Case dbCurrency '数字
      'Txt_SalarySetup(intSalarySetup).Text = CStr(rsSalary.Fields(i) + 0)
     ' If rsSalary.Fields(i) > 0 Then
       '        lbl_Salarytitle(intSalarySetup).Value = 1
        '       Else
         '      lbl_Salarytitle(intSalarySetup).Value = 0
      'End If
      Lbl_SalarySetup(intSalarySetup).Caption = "元"
   Case dbSingle '小数
      'Txt_SalarySetup(intSalarySetup).Text = CStr(rsSalary.Fields(i) * 100)
      'If rsSalary.Fields(i) > 0 Then
       '        lbl_Salarytitle(intSalarySetup).Value = 1
        '       Else
         '      lbl_Salarytitle(intSalarySetup).Value = 0
      'End If
         Lbl_SalarySetup(intSalarySetup).Caption = "%"
   End Select
   
   intSalarySetup = intSalarySetup + 1
   
  
End If

Next i
Do Until rsSalary.EOF
    Lst_Salary.AddItem rsSalary.Fields("姓名")
    rsSalary.MoveNext
Loop
rsSalary.Close
Cmd_CountSalary.Enabled = False
'薪金计算中设置时间
Txt_Date(3).Text = CStr(Year(Date))
Txt_Date(4).Text = CStr(Month(Date))
Txt_Date(5).Text = CStr(Day(Date))
If Txt_Date(4) = "1" Then
  Txt_Date(0).Text = CStr(CInt(Year(Date)) - 1)
  Txt_Date(2).Text = 12
  Else
  Txt_Date(0).Text = CStr(Year(Date))
  Txt_Date(1).Text = CStr(Month(Date) - 1)
Txt_Date(2).Text = CStr(Day(Date))
End If

For i = 0 To 5
intPeriod(i) = CInt(Txt_Date(i).Text)
Next i
'
For i = 1 To 2
Frame1(i).Visible = False
Next i
Exit Sub
EHand:
  If strOkorEsc = "确定" Then MsgBox Err.Description, vbCritical + vbOKOnly, STRGARAGE
  If strOkorEsc = "取消" Then cmd_Exit3 = True
  Unload Me
End Sub


Private Sub Form_Unload(Cancel As Integer)
On Error GoTo EHand
EHand:

End Sub

Private Sub Lst_Salary_Click()
Dim prsSalary As Recordset
Dim intObjNo As Integer
intObjNo = 0
If Lst_Salary.ListIndex < 0 Then
Cmd_CountSalary.Enabled = False
 Exit Sub
End If
Cmd_CountSalary.Enabled = True
 Set prsSalary = dbWorker.OpenRecordset("select * from 职员表 where 姓名 = '" & _
                                        Lst_Salary.List(Lst_Salary.ListIndex) & "'", dbOpenDynaset)
  For i = 0 To prsSalary.Fields.Count - 1

   If Mid(prsSalary.Fields(i).Name, 1, 2) = "gz" Or Mid(prsSalary.Fields(i).Name, 1, 2) = "GZ" Then
    
      Select Case prsSalary.Fields(i).Type
      Case dbCurrency '数字
         Txt_SalarySetup(intObjNo).Text = CStr(prsSalary.Fields(i) + 0)
         Lbl_SalarySetup(intObjNo).Caption = "元"
      Case dbSingle '小数
         Txt_SalarySetup(intObjNo).Text = CStr(prsSalary.Fields(i) * 100)
         Lbl_SalarySetup(intObjNo).Caption = "%"
      End Select
      intObjNo = intObjNo + 1
   End If
  Next i

End Sub

Private Sub Lst_Workers_Click()
Dim i As Integer

If Lst_Workers.ListIndex >= 0 Then
 Call ShowGrpsofUser(Lst_Workers.ListIndex)
 For i = 0 To wksWorker.Groups.Count - 1
    If Chk_Groups(i).Value = 1 Then
      GrpChange(i) = True
      Else
      GrpChange(i) = False
    End If
 Next i
 Cmd_DelWorker.Enabled = True '判断是否修改
   If IsChangeGrp = True And FirstClickLstBox = False Then
    If MsgBox("您已经修改用户(" & Lst_Workers.List(Lst_Workers.ListIndex) & ")的所属组的设置,您要做这些修改吗?", vbOKCancel + vbQuestion, STRGARAGE) = vbOK Then
      Cmd_SetGroup = True
     End If
    End If
 Else
 Cmd_DelWorker.Enabled = False
End If
If FirstClickLstBox = False Then FirstClickLstBox = True
End Sub

Private Sub TabStrip1_Click()
Dim i As Integer
If dbWorker.Containers("tables").Documents("职员表").AllPermissions < 1048575 Then
  If TabStrip1.SelectedItem.Index = 3 Or TabStrip1.SelectedItem.Index = 2 Then
  MsgBox "您无权做此操作", vbInformation + vbOKOnly, STRGARAGE
  Exit Sub
  End If
End If

For i = 0 To 2
If i = TabStrip1.SelectedItem.Index - 1 Then
 Frame1(i).Visible = True
 Else
 Frame1(i).Visible = False
End If
Next i

End Sub

Private Sub Txt_NewName_Change()
If Len(txt_NewworkerPwd.Text) > 0 And Len(Txt_NewName.Text) > 0 Then
 Cmd_AddWorker.Enabled = True
 Else
 Cmd_AddWorker.Enabled = False
End If
End Sub

Private Sub txt_NewworkerPwd_Change()
If Len(txt_NewworkerPwd.Text) > 0 And Len(Txt_NewName.Text) > 0 Then
 Cmd_AddWorker.Enabled = True
 Else
 Cmd_AddWorker.Enabled = False
End If
End Sub

Sub ShowGrpsofUser(UserNo As Integer)
Dim i, j As Integer
  For j = 0 To Chk_Groups.Count - 1
  Chk_Groups(j).Value = 0
  GrpSelected(j) = False
  Next j

For i = 0 To wksWorker.Users(UserNo).Groups.Count - 1
  For j = 0 To Chk_Groups.Count - 1
    If Chk_Groups(j).Caption = wksWorker.Users(UserNo).Groups(i).Name Then
    Chk_Groups(j).Value = 1
    GrpSelected(j) = True
    End If
  Next j
Next i

End Sub
Function IsChangeGrp() As Boolean
'如果当前用户的组设置没有改变则返回false
Dim i As Integer
IsChangeGrp = False

For i = 0 To wksWorker.Groups.Count - 1
     If GrpSelected(i) <> GrpChange(i) Then
      IsChangeGrp = True
      Exit Function
    End If
Next i

End Function

Sub LstFresh() '刷新listbox
Dim i As Integer
Lst_Workers.Clear
For i = 0 To wksWorker.Users.Count - 1
 Lst_Workers.AddItem (wksWorker.Users(i).Name)
Next i

End Sub

Private Sub Txt_SalarySetup_Change(Index As Integer)
 Cmd_SalaryEdit.Enabled = True
End Sub


Sub showRs(RS As Recordset, Top As Single, Left As Single, Width As Single, Height As Single)
 Dim i As Integer
 For i = 0 To RS.Fields.Count - 1
  Select Case RS.Fields(i).Type
Case dbCurrency '货币
 
Case dbGUID
Case dbText
Case dbBoolean

   
   
  End Select
 Next i


End Sub

Private Sub Vscro_Date_Change(Index As Integer)
Dim intMaxDays As Integer

Select Case Index
  Case 0, 3
  Txt_Date(Index).Text = CStr(intPeriod(Index) + Vscro_Date(Index).Value)
  Case 1, 4
    If intPeriod(Index) + Vscro_Date(Index).Value <= 12 And intPeriod(Index) + Vscro_Date(Index).Value >= 1 Then
      Txt_Date(Index).Text = CStr(intPeriod(Index) + Vscro_Date(Index).Value)
     Else
        If intPeriod(Index) + Vscro_Date(Index).Value > 12 Then Vscro_Date(Index).Value = 12 - intPeriod(Index)
        If intPeriod(Index) + Vscro_Date(Index).Value < 1 Then Vscro_Date(Index).Value = 1 - intPeriod(Index)
    End If
  Case 2, 5
    Select Case CInt(Txt_Date(Index - 1).Text)
     Case 1, 3, 5, 7, 8, 10, 12
      intMaxDays = 31
     Case 2
       If CInt(Txt_Date(Index - 2).Text) Mod 4 = 0 Then
           intMaxDays = 29
         Else
           intMaxDays = 28
       End If
     Case Else
      intMaxDays = 30
    End Select
    If intPeriod(Index) + Vscro_Date(Index).Value <= intMaxDays And intPeriod(Index) + Vscro_Date(Index).Value >= 1 Then
      Txt_Date(Index).Text = CStr(CStr(intPeriod(Index) + Vscro_Date(Index).Value))
      Else
       If intPeriod(Index) + Vscro_Date(Index).Value > intMaxDays Then Vscro_Date(Index).Value = intMaxDays - intPeriod(Index)
        If intPeriod(Index) + Vscro_Date(Index).Value < 1 Then Vscro_Date(Index).Value = 1 - intPeriod(Index)

    End If
End Select
End Sub

Function DateBegin() As String
DateBegin = Txt_Date(1).Text & "/" & Txt_Date(2).Text & "/" & Txt_Date(0).Text
End Function

Function dateEnd() As String
dateEnd = Txt_Date(4).Text & "/" & Txt_Date(5).Text & "/" & Txt_Date(3).Text
End Function



⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -