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

📄 frmsalaryzero.frm

📁 金算盘软件代码
💻 FRM
📖 第 1 页 / 共 2 页
字号:
            'Strsql = "SELECT lngViewFieldID FROM ViewField WHERE TRIM(strViewFieldDesc)='" _
                & Trim(cboItem.Text) & "' AND lngViewID=63"
            'Set recRecordset = gclsBase.BaseDB.OpenRecordset(Strsql, dbOpenSnapshot)
            Strsql = "SELECT lngViewFieldID FROM ViewField WHERE RTRIM(LTRIM(strViewFieldDesc))='" _
                & Trim(cboItem.Text) & "' AND lngViewID=63"
            Set recRecordset = gclsBase.BaseDB.OpenResultset(Strsql, rdOpenStatic)
            If Not recRecordset.EOF Then
                lngViewFieldID = recRecordset!lngViewFieldID
            Else
                lngViewFieldID = 0
            End If
            '判断扣零项目是否存在
            If lngViewFieldID = 0 Then
                ShowMsg Me.hwnd, "请选择扣零项目", vbInformation, Me.Caption
                cboItem.SetFocus
                Exit Sub
            End If
            '上次扣零ID
            lngLastZeroID = recSalaryList!lngDeductFieldID
            
            '写回工资目录表
            Select Case Trim(cobZero.Text)
            Case "扣零至元"
                sngZero = 1
            Case "扣零至五元"
                sngZero = 5
            Case "扣零至十元"
                sngZero = 10
            Case "扣零至五十元"
                sngZero = 50
            Case "扣零至一百元"
                sngZero = 100
            Case "扣零至角"
                sngZero = 0.1
            Case "扣零至五角"
                sngZero = 0.5
            End Select
            recSalaryList.Edit
            recSalaryList!dblDeductLevel = sngZero
            recSalaryList!lngDeductFieldID = lngViewFieldID
            recSalaryList.Update
            'frmSalaryEdit.Zero = True
            frmSalaryEdit.Zero = 1
            frmSalaryEdit.ZeroID = lngViewFieldID
            frmSalaryEdit.DeductLevel = sngZero
            recSalaryList.Close
            Set recSalaryList = Nothing
            Strsql = "SELECT * FROM SalaryField WHERE lngViewFieldID=3520 AND lngSalaryListID=" _
                & lngSalaryID
            'Set recRecordset = gclsBase.BaseDB.OpenRecordset(Strsql, dbOpenSnapshot)
            Set recRecordset = gclsBase.BaseDB.OpenResultset(Strsql, rdOpenStatic)
            If recRecordset.EOF Then
                'Strsql = "INSERT INTO SalaryField (lngViewFieldID,lngSalaryFieldNO,blnIsClear,lngSalaryListID) VALUES (3520,100,True," & lngSalaryID & ") "
                Strsql = "INSERT INTO SalaryField (lngViewFieldID,lngSalaryFieldNO,blnIsClear,lngSalaryListID) VALUES (3520,100,1," & lngSalaryID & ") "
                gclsBase.BaseDB.Execute Strsql
            End If
            '写SalaryFormula
            Strsql = "SELECT SalaryFormula.* FROM  SalaryFormula Where SalaryFormula.lngSalaryListID=" & lngSalaryID & _
                     " and SalaryFormula.lngViewFieldID= 3520 "
            'Set recSalaryFormula = gclsBase.BaseDB.OpenRecordset(Strsql, dbOpenDynaset)
            Set recSalaryFormula = gclsBase.BaseDB.OpenResultset(Strsql, rdOpenDynamic, rdConcurRowVer, rdExecDirect)
            With recSalaryFormula
                If Not .EOF Then
                    .Edit
                    !strSalaryFormulaDesc = "扣零计算(" & Trim(cboItem.Text) & ")"
                    .Update
                Else
                    .AddNew
                    !lngViewFieldID = 3520
                    !strSalaryFormula = "CalcZero"
                    !strSalaryFormulaDesc = "扣零计算(" & Trim(cboItem.Text) & ")"
                    !lngSalaryListID = lngSalaryID
                    .Update
                End If
            End With
            recSalaryFormula.Close
            Set recSalaryFormula = Nothing
        Else
            '取消扣零项目
            'Strsql = "DELETE SalaryField.* FROM SalaryField WHERE lngViewFieldID=3520 AND lngSalaryListID=" _
                & lngSalaryID
            Strsql = "DELETE FROM SalaryField WHERE lngViewFieldID=3520 AND lngSalaryListID=" _
                & lngSalaryID
            gclsBase.BaseDB.Execute Strsql
            recSalaryList.Edit
            recSalaryList!dblDeductLevel = 0
            recSalaryList!lngDeductFieldID = 0
            recSalaryList.Update
            'frmSalaryEdit.Zero = False
            frmSalaryEdit.Zero = 0
            frmSalaryEdit.ZeroID = 0
            frmSalaryEdit.DeductLevel = 0
            Strsql = "UPDATE Salary SET dblNowZero=0 WHERE lngSalaryListID=" & lngSalaryID
            gclsBase.BaseDB.Execute Strsql
            'Strsql = "Delete SalaryFormula.* FROM  SalaryFormula Where SalaryFormula.lngSalaryListID=" & lngSalaryID & _
                         " and SalaryFormula.lngViewFieldID= 3520 "
            Strsql = "Delete FROM  SalaryFormula Where SalaryFormula.lngSalaryListID=" & lngSalaryID & _
                         " and SalaryFormula.lngViewFieldID= 3520 "
            gclsBase.BaseDB.Execute Strsql
        End If
        Unload Me
        '计算工资表
        frmSalaryEdit.Calc = True
    Case 1
        Unload Me
    End Select
End Sub
Private Sub Form_Load()
    'Dim recViewField as rdoresultset
    Dim recViewField As rdoResultset
    Dim Strsql As String
    Dim strName As String
    Dim i As Integer
    'Dim recSalaryList as rdoresultset
    Dim recSalaryList As rdoResultset
    Dim lngSalaryID
    '初始化扣零项目列表
    mlngSalaryViewID = frmSalaryList.SalaryViewID
    'Strsql = "SELECT lngViewFieldID,strViewFieldDesc FROM ViewField WHERE lngViewID=" _
        & mlngSalaryViewID & " AND strTableName='Salary'AND strFieldName <> " _
        & "'Salary.dblNowTax' AND strFieldName <> 'Salary.dblNowZero' AND" _
        & " strFieldName <> 'Salary.dblLastZero' AND strFieldType='Double'"
    'Set recViewField = gclsBase.BaseDB.OpenRecordset(Strsql, dbOpenSnapshot)
    
    
    Strsql = "SELECT lngViewFieldID,strViewFieldDesc FROM ViewField WHERE lngViewID=" _
        & mlngSalaryViewID & " AND strTableName='Salary'AND strFieldName <> " _
        & "'Salary.dblNowTax' AND strFieldName <> 'Salary.dblNowZero' AND" _
        & " strFieldName <> 'Salary.dblLastZero' AND strFieldType='NUMBER'"
    Set recViewField = gclsBase.BaseDB.OpenResultset(Strsql, rdOpenStatic)
    If Not recViewField.EOF() Then
        recViewField.MoveLast
        recViewField.MoveFirst
    Else
        Unload Me
        Exit Sub
    End If
    i = 0
    cboItem.Clear
    If Not recViewField.EOF Then
        recViewField.MoveLast
        recViewField.MoveFirst
    End If
    Do While Not recViewField.EOF
        cboItem.AddItem (recViewField!strViewFieldDesc)
        recViewField.MoveNext
    Loop
    recViewField.Close
    Set recViewField = Nothing
    lngSalaryID = frmSalaryList.SalaryID
    '初始化扣零项目,级别
    'Strsql = "SELECT ViewField.strViewFieldDesc,SalaryList.dblDeductLevel," _
        & "SalaryList.blnIsMonthDuduct,SalaryList.lngDeductFieldID FROM SalaryList" _
            & " LEFT JOIN ViewField ON ViewField.lngViewFieldID=SalaryList.lngDeductFieldID " _
        & " WHERE SalaryList.lngSalaryListID=" & lngSalaryID
    'Set recSalaryList = gclsBase.BaseDB.OpenRecordset(Strsql, dbOpenSnapshot)
    
    
    Strsql = "SELECT ViewField.strViewFieldDesc,SalaryList.dblDeductLevel," _
        & "SalaryList.blnIsMonthDuduct,SalaryList.lngDeductFieldID FROM SalaryList" _
            & ",ViewField WHERE ViewField.lngViewFieldID=SalaryList.lngDeductFieldID(+) " _
        & " AND SalaryList.lngSalaryListID=" & lngSalaryID
    Set recSalaryList = gclsBase.BaseDB.OpenResultset(Strsql, rdOpenStatic)
    
    If Not recSalaryList.EOF Then
        Select Case recSalaryList!dblDeductLevel
        Case 1
            cobZero.Text = "扣零至元"
        Case 5
            cobZero.Text = "扣零至五元"
        Case 10
            cobZero.Text = "扣零至十元"
        Case 50
            cobZero.Text = "扣零至五十元"
        Case 100
            cobZero.Text = "扣零至一百元"
        Case 0.1
            cobZero.Text = "扣零至一角"
        Case 0.5
            cobZero.Text = "扣零至五角"
        End Select
        If recSalaryList!dblDeductLevel > 0 Then
            chkZero(0).Value = 1
        Else
            chkZero(0).Value = 0
        End If
        If Not IsNull(recSalaryList!strViewFieldDesc) Then
            cboItem.Text = recSalaryList!strViewFieldDesc
        End If
        If recSalaryList!blnIsMonthDuduct = True Then
            chkZero(1).Value = 1
        Else
            chkZero(1).Value = 0
        End If
    End If
    recSalaryList.Close
    Set recSalaryList = Nothing
    Set cmdAddItem(0).Picture = Utility.GetFormResPicture(1001, 0)
    Set cmdAddItem(1).Picture = Utility.GetFormResPicture(1002, 0)
    Set Me.Icon = Utility.GetFormResPicture(139, vbResCursor)
    SetHelpID Me.hwnd, 32008
End Sub
Private Sub Form_Paint()
    FrameBox Me.hwnd, 240, 300, 3160, 1900
    FrameBox Me.hwnd, 240, 2300, 3160, 3380
    FrameBox Me.hwnd, 80, 100, 5700, 3540
End Sub
Private Sub Form_Unload(Cancel As Integer)
    Utility.RemoveFormResPicture (1001)
    Utility.RemoveFormResPicture (1002)
    Utility.RemoveFormResPicture (139)
    Set frmSalaryZero = Nothing
End Sub

⌨️ 快捷键说明

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