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

📄 frmdepcardnew.frm

📁 金算盘软件代码
💻 FRM
📖 第 1 页 / 共 3 页
字号:
    CodeIsUsed = False
End Function

Private Sub chkStop_Click()
'    Dim strDep As String
'
'    strDep = txtDepartment(0).Text & " " & txtDepartment(1).Text
'    If chkStop.Value = Checked And Not mblnIsNew Then
'        If CodeIsUsed(mlngDepartmentID) Then
'            ShowMsg hwnd, strDep & "部门已有业务发生,不能停用!", vbExclamation, Caption
'            chkStop.Value = Unchecked
'        End If
'    End If
    If Not mblnIsInit Then mblnIsChanged = True
End Sub

Private Sub cmdOK_Click(Index As Integer)
    Dim strNextCode As String
    
    If Index = 0 Then
        If Not SaveCard Then Exit Sub
    ElseIf Index = 2 Then
        If SaveCard Then
            strNextCode = GetNextCode(txtDepartment(0).Text)
'            mlngDepartmentID = 0
            InitCard
            txtDepartment(0).Text = strNextCode
            txtDepartment(0).SetFocus
            txtDepartment(0).SelStart = 0
            txtDepartment(0).SelLength = Len(txtDepartment(0).Text)
        End If
        Exit Sub
    ElseIf Index = 3 Then
        mstrNotes = frmNotePad.EditCard(Me.Caption, txtDepartment(0).Text, _
            txtDepartment(1).Text, mstrNotes)    '调记事
        mblnIsChanged = True
        Exit Sub
    End If
    Unload Me
    
End Sub

Public Function DelCard(ByVal lngID As Long, Optional lnghWnd As Long = 0) As Boolean
    Dim recDep As rdoResultset, strSql As String
    Dim strDep As String, strCode As String
    
'    If lngID = mlngDepartmentID And frmEmployeeList.IsShowCard(0) Then
'        ShowMsg lnghWnd, "不能删除正在修改的部门!", vbExclamation + MB_TASKMODAL, "删除部门"
'        Show vbModal
'        Exit Function
'    End If
    On Error GoTo ErrHandle
    gclsBase.BaseWorkSpace.BeginTrans
    DelCard = False
    strSql = "SELECT * FROM Department WHERE lngDepartmentID=" & lngID
    Set recDep = gclsBase.BaseDB.OpenResultset(strSql, rdOpenStatic)
    If Not recDep.EOF = True Then
        strCode = recDep!strDepartmentCode
        strDep = "“" & Trim(recDep!strDepartmentCode) & " " _
            & Trim(recDep!strDepartmentName) & "”"
        If recDep!blnIsDetail = 0 Then
            ShowMsg lnghWnd, strDep & "有下级部门,不能删除!", vbExclamation + MB_TASKMODAL, "删除部门"
            GoTo ErrHandle
        End If
    Else
        DelCard = True
        GoTo ErrHandle
    End If
    If CodeIsUsed(lngID, strCode & " " & recDep!strDepartmentName) Then
        ShowMsg lnghWnd, strDep & "部门已有业务发生,不能删除!", vbExclamation + MB_TASKMODAL, "删除部门"
        GoTo ErrHandle
    End If
    If ShowMsg(lnghWnd, "你确实要删除" & strDep & "部门吗?", vbQuestion + vbYesNo + MB_TASKMODAL + vbDefaultButton2, _
        "删除部门") = vbNo Then GoTo ErrHandle
    strSql = "DELETE FROM Department WHERE lngDepartmentID=" & lngID
    If Not gclsBase.ExecSQL(strSql) Then GoTo ErrHandle
    If Not ChangeHigherCardDetail("Department", "strDepartmentCode", strCode) Then GoTo ErrHandle
    gclsBase.BaseWorkSpace.CommitTrans
    DelCard = True
    gclsSys.SendMessage CStr(Me.hwnd), Message.msgDepartment
    Exit Function
ErrHandle:
    gclsBase.BaseWorkSpace.RollBacktrans
End Function

Private Sub Form_Activate()
    SetHelpID Me.HelpContextID
End Sub

Private Sub Form_KeyPress(KeyAscii As Integer)
    If mblnIsList Then
        mblnIsList = False
        Exit Sub
    End If
    If KeyAscii = vbKeyReturn Then
        BKKEY Me.ActiveControl.hwnd, vbKeyTab
    End If
End Sub

Private Sub Form_KeyUp(KeyCode As Integer, Shift As Integer)
    If KeyCode = vbKeyReturn And Shift = 2 Then
        cmdOK(0).Value = True
    End If
End Sub

Private Sub Form_Load()
    Dim edtErrReturn As ErrDealType
    
    On Error GoTo ErrHandle
'    SetHelpID hwnd, 30009
    Utility.LoadFormResPicture Me
'    frmEmployeeList.IsShowCard(0) = True
    mblnIsChanged = False
'    SendKeys "%{C}"
    Exit Sub
ErrHandle:
    edtErrReturn = Errors.ErrorsDeal
    
    If edtErrReturn = edtResume Then
         Resume
    Else
         On Error Resume Next
         Unload Me
    End If
End Sub

Private Sub Form_Paint()
  FrameBox Me.hwnd, 180, 170, 4335, 2100
End Sub

Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
    Dim intMsgReturn As Integer, strMess As String
    
    If UnloadMode <> vbFormControlMenu Then Exit Sub
    If Trim(txtDepartment(0).Text & txtDepartment(1).Text) = "" Then Exit Sub
    If mblnIsChanged Then
        If mblnIsNew Then
            strMess = "您要保存新增的部门"
            If txtDepartment(0).Text <> "" Then
                strMess = strMess & "“" & txtDepartment(0).Text & "”"
            End If
            If txtDepartment(1).Text <> "" Then
                strMess = strMess & "“" & txtDepartment(1).Text & "”"
            End If
            strMess = strMess & "吗?"
        Else
            strMess = "“" & txtDepartment(0).Text & "”" & " " _
                & "“" & txtDepartment(1).Text & "”部门已被修改,是否保存?"
        End If
        intMsgReturn = ShowMsg(hwnd, strMess, vbQuestion + vbYesNoCancel, Caption)
        If intMsgReturn = vbYes Then
            Cancel = Not SaveCard
        ElseIf intMsgReturn = vbCancel Then
            Cancel = True
        End If
    End If
End Sub

Private Sub Form_Unload(Cancel As Integer)
    On Error Resume Next
'    frmEmployeeList.IsShowCard(0) = False
    Utility.UnLoadFormResPicture Me
    mblnIsChanged = False
End Sub

Private Function InitCard(Optional strName As String = "") As Boolean
     Dim recDepartment As rdoResultset, strSql As String
    
    InitCard = True
    mblnIsInit = True
    mlngPCodeID = 0
    mblnPIsDetail = False
    mblnPIsInActive = False
    If Not mblnIsNew Then
        strSql = "SELECT * FROM Department WHERE lngDepartmentID=" _
            & mlngDepartmentID
        Set recDepartment = gclsBase.BaseDB.OpenResultset(strSql, _
            rdOpenStatic)
        With recDepartment
            txtDepartment(0).Text = !strDepartmentCode
            mstrLastCode = !strDepartmentCode
            txtDepartment(1).Text = !strDepartmentName
            mstrLastName = !strDepartmentName
            mintOldLevel = !intLevel
            mstrNotes = Format(!strNotes, "@;;")
            mblnIsInActive = !blnIsInActive
            mblnIsDetail = !blnIsDetail
            mstrOldFullName = !strFullName
            chkStop.Value = IIf(!blnIsInActive, 1, 0)
        End With
        recDepartment.Close
    Else
        txtDepartment(1).Text = ""
        txtDepartment(0).Text = Trim(strName)
        mstrNotes = ""
        chkStop.Value = 0
    End If
    mblnIsInit = False
End Function

Public Function MergeCode(ByVal lngPID As Long, ByVal lngID As Long) As Boolean
    MergeCode = False
    If Not MergeAccountDaily(lngPID, lngID, "lngDepartmentID") Then Exit Function
    If Not DisplaceActivity("ActivityDetail", "lngDepartmentID", lngPID, lngID) Then Exit Function
    If gclsBase.ControlAccount Then
        If Not DisplaceActivity("ARAPInit", "lngDepartmentID", lngPID, lngID) Then Exit Function
    Else
        If Not DisplaceActivity("ARAPInit1", "lngDepartmentID", lngPID, lngID) Then Exit Function
    End If
    If Not MergeBudgetBalance(lngPID, lngID, "lngDepartmentID") Then Exit Function
    If Not DisplaceActivity("CostPrice", "lngDepartmentID", lngPID, lngID) Then Exit Function
    If Not DisplaceActivity("Employee", "lngDepartmentID", lngPID, lngID) Then Exit Function
    If Not DisplaceActivity("FixedDepartment", "lngDepartmentID", lngPID, lngID) Then Exit Function
    If Not DisplaceActivity("ItemActivity", "lngDepartmentID", lngPID, lngID) Then Exit Function
    If Not DisplaceActivity("Position", "lngDepartmentID", lngPID, lngID) Then Exit Function
    If Not DisplaceActivity("PurchaseOrder", "lngDepartmentID", lngPID, lngID) Then Exit Function
    If Not DisplaceActivity("Salary", "lngDepartmentID", lngPID, lngID) Then Exit Function
    If Not DisplaceActivity("SaleOrder", "lngDepartmentID", lngPID, lngID) Then Exit Function
    If Not DisplaceActivity("StockTaking", "lngDepartmentID", lngPID, lngID) Then Exit Function
    If Not DisplaceActivity("TransVoucherDetail", "lngDepartmentID", lngPID, lngID) Then Exit Function
    If Not DisplaceActivity("VoucherDetail", "lngDepartmentID", lngPID, lngID) Then Exit Function
    MergeCode = True
End Function

Private Function SaveCard(Optional blnByAdd As Boolean = False) As Boolean
    Dim blnMerge As Boolean     'NEW--转移业务  EDIT--合并代码
    Dim intResult As Integer    '编码检查结果:1--合法 -1--上级编码不存在 -2--编码已存在 -3--编码超长
    Dim recDepartment As rdoResultset, strSql As String
    
    On Error GoTo ErrHandle
    
    SaveCard = False
    
    gclsBase.BaseWorkSpace.BeginTrans
    
    If Trim$(txtDepartment(0).Text) = "" Then
        If Not blnByAdd Then
            ShowMsg hwnd, "部门编码不能为空!", vbExclamation, Caption
            txtDepartment(0).SetFocus
        End If
        GoTo ErrHandle
    End If
    
    If InStr(1, txtDepartment(0).Text, mstrLastCode & "-") <> 0 And Not mblnIsNew Then
        ShowMsg hwnd, "部门不能修改为自己的下级部门!", vbExclamation, Caption
        txtDepartment(0).SetFocus
        GoTo ErrHandle
    End If
    If InStr(1, mstrLastCode, txtDepartment(0).Text & "-") <> 0 And Not mblnIsNew Then
        ShowMsg hwnd, "部门不能修改为自己的上级部门!", vbExclamation, Caption
        txtDepartment(0).SetFocus
        GoTo ErrHandle
    End If
    If Trim$(txtDepartment(1).Text) = "" Then
        If Not blnByAdd Then
            ShowMsg hwnd, "部门名称不能为空!", vbExclamation, Caption
            txtDepartment(1).SetFocus
        End If
        GoTo ErrHandle
    End If
    
    intResult = CodeCheck("Department", "strDepartmentCode", "lngDepartmentID", _
        mblnIsNew, txtDepartment(0).Text, txtDepartment(1).Text, mstrLastCode, _
        mstrOldFullName, mstrFullName, mlngPCodeID, mblnPIsDetail, mblnPIsInActive, _
        mblnIsDetail)

⌨️ 快捷键说明

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