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

📄 frmyh_yetjbqc.frm

📁 一个用VB写的财务软件源码
💻 FRM
📖 第 1 页 / 共 4 页
字号:
                    
                Else
                    txtDwyf.Tag = Val(txtDwyf.Tag) + .Fields("je").value
                    
                End If
                .MoveNext
            Loop
        End If
    End With
    
    txtYhtzqye.text = Format(txtYhtzqye.Tag, "##,##0.00")
    txtYhys.text = Format(txtYhys.Tag, "##,##0.00")
    txtYhyf.text = Format(txtYhyf.Tag, "##,##0.00")
    txtDwtzqye.text = Format(txtDwtzqye.Tag, "##,##0.00")
    txtDwys.text = Format(txtDwys.Tag, "##,##0.00")
    txtDwyf.text = Format(txtDwyf.Tag, "##,##0.00")
    
    txtYhtzhye.text = Format(Val(Format(txtYhtzqye.Tag, "###0.00")) + _
                             Val(Format(txtDwys.Tag, "###0.00")) - _
                             Val(Format(txtDwyf.Tag, "###0.00")), "##,##0.00")
    txtDwtzhye.text = Format(Val(Format(txtDwtzqye.Tag, "###0.00")) + _
                             Val(Format(txtYhys.Tag, "###0.00")) - _
                             Val(Format(txtYhyf.Tag, "###0.00")), "##,##0.00")
End Sub

'点击对账单期初按钮
Private Sub cmdDzdqc_Click()
    frmYH_Yhdzdqc.Show 1
    Call FillText
End Sub

'点击日记账期初按钮
Private Sub cmdRjzqc_Click()
    frmYH_Dwrjzqc.Show 1
    Call FillText
End Sub

Private Sub dtpQyrq_KeyDown(KeyCode As Integer, Shift As Integer)
    If KeyCode = vbKeyReturn Then
        SendKeys "{tab}"
    End If
End Sub
Private Sub dtpQyrq_Validate(Cancel As Boolean)
    If IsTheSameYear Then
        If Year(Format(dtpQyrq.value, "yyyy-mm-dd")) < CInt(SubSysBeginYear) Then
            MsgBox "银行对账启用日期不能小于账务子系统启用日期!", vbOKOnly + vbInformation
            dtpQyrq.value = sQyrq
            Cancel = True
            Exit Sub
        ElseIf Year(Format(dtpQyrq.value, "yyyy-mm-dd")) = CInt(SubSysBeginYear) Then
                If Month(Format(dtpQyrq.value, "yyyy-mm-dd")) < CInt(SubSysBeginMonth) Then
                    MsgBox "银行对账启用日期不能小于账务子系统启用日期!", vbOKOnly + vbInformation
                    dtpQyrq.value = sQyrq
                    Cancel = True
                    Exit Sub
                End If
        End If
        '如果银行对账启用日期被修改, 检查是否允许修改
        If sQyrq <> Format(dtpQyrq.value, "yyyy-mm-dd") Then
            Set rSt = New ADODB.Recordset
            rSt.CursorLocation = adUseClient
            
            Select Case g_FLAT
                Case "SQL"
                    sSQL = "SELECT COUNT(*) numJls FROM tZW_Yhdzd" & glo.sOperateYear & _
                           " WHERE kmdm = '" & frmYH_Yhkmxz.Kmdm & "'  AND qcbz = 1" & _
                           " AND rq >= '" & Format(dtpQyrq.value, "yyyy-mm-dd") & "'"
                Case "ORACLE"
                    sSQL = "SELECT COUNT(*) numJls FROM tZW_Yhdzd" & glo.sOperateYear & _
                           " WHERE kmdm = '" & frmYH_Yhkmxz.Kmdm & "' AND qcbz = 1" & _
                           " AND rq >= TO_DATE('" & Format(dtpQyrq.value, "yyyy-mm-dd") & _
                           "','YYYY-MM-DD')"
            End Select
            rSt.Open sSQL, glo.cnnMain, adOpenStatic, adLockReadOnly
            If rSt.Fields("numJls").value > 0 Then
                MsgBox "该账户存在日期大于或等于启用日期的期初银行对账单记录, 不能修改启用日期!", vbOKOnly + vbInformation
                dtpQyrq.value = sQyrq
                Cancel = True
                Exit Sub
            End If
            Set rSt = New ADODB.Recordset
            rSt.CursorLocation = adUseClient
            Select Case g_FLAT
                Case "SQL"
                    sSQL = "SELECT COUNT(*) numJls FROM tZW_pzsj" & glo.sOperateYear & _
                           " WHERE kmdm = '" & frmYH_Yhkmxz.Kmdm & "' AND kjqj = 21" & _
                           " AND pzrq >= '" & Format(dtpQyrq.value, "yyyy-mm-dd") & "'"
                Case "ORACLE"
                    sSQL = "SELECT COUNT(*) numJls FROM tZW_pzsj" & glo.sOperateYear & _
                           " WHERE kmdm = '" & frmYH_Yhkmxz.Kmdm & "' AND kjqj = 21" & _
                           " AND pzrq >= TO_DATE('" & _
                           Format(dtpQyrq.value, "yyyy-mm-dd") & "','YYYY-MM-DD')"
            End Select
            rSt.Open sSQL, glo.cnnMain, adOpenStatic, adLockReadOnly
            If rSt.Fields("numJls").value > 0 Then
                MsgBox "该账户存在日期大于或等于启用日期的期初银行日记账记录, 不能修改启用日期!", vbOKOnly + vbInformation
                dtpQyrq.value = sQyrq
                Cancel = True
                Exit Sub
            End If
            Set rSt = New ADODB.Recordset
            rSt.CursorLocation = adUseClient
            Select Case g_FLAT
                Case "SQL"
                    sSQL = "SELECT COUNT(*) numJls FROM tZW_Yhdzd" & glo.sOperateYear & _
                            " WHERE kmdm = '" & frmYH_Yhkmxz.Kmdm & "' AND qcbz = 2" & _
                            " AND rq < '" & Format(dtpQyrq.value, "yyyy-mm-dd") & "'"
                Case "ORACLE"
                    sSQL = "SELECT COUNT(*) numJls FROM tZW_Yhdzd" & glo.sOperateYear & _
                            " WHERE kmdm = '" & frmYH_Yhkmxz.Kmdm & "' AND qcbz = 2" & _
                            " AND rq < TO_DATE('" & Format(dtpQyrq.value, "yyyy-mm-dd") & _
                            "','YYYY-MM-DD')"
            End Select
            rSt.Open sSQL, glo.cnnMain, adOpenStatic, adLockReadOnly
            If rSt.Fields("numJls").value > 0 Then
                MsgBox "该账户存在日期小于启用日期的银行对账单记录, 不能修改启用日期!", vbOKOnly + vbInformation
                dtpQyrq.value = sQyrq
                Cancel = True
                Exit Sub
            End If
        End If
    End If
End Sub


Private Sub dtpQyrq_LostFocus()
    If IsTheSameYear Then
        If sJzrq < sQyrq Then
            sJzrq = CStr(Format(DateAdd("d", -1, CDate(dtpQyrq.value)), "yyyy-mm-dd"))
        End If
        If IsExistQyrq Then
            Select Case g_FLAT
                Case "SQL"
                    adoCmd.CommandText = "UPDATE tZW_Yhdzqyrq SET qyrq = '" & _
                        Format(dtpQyrq.value, "yyyy-mm-dd") & "', jzrq = '" & _
                        sJzrq & "' WHERE kmdm = '" & frmYH_Yhkmxz.Kmdm & "'"
                Case "ORACLE"
                    adoCmd.CommandText = "UPDATE tZW_Yhdzqyrq SET qyrq = TO_DATE('" & _
                        Format(dtpQyrq.value, "yyyy-mm-dd") & "','YYYY-MM-DD'), jzrq =TO_DATE('" & _
                        sJzrq & "','YYYY-MM-DD') WHERE kmdm = '" & frmYH_Yhkmxz.Kmdm & "'"
            End Select
        Else
            Select Case g_FLAT
                Case "SQL"
                    adoCmd.CommandText = "INSERT INTO tZW_Yhdzqyrq VALUES('" & _
                        frmYH_Yhkmxz.Kmdm & "','" & Format(dtpQyrq.value, "yyyy-mm-dd") & _
                        "','" & sJzrq & "')"
                Case "ORACLE"
                    adoCmd.CommandText = "INSERT INTO tZW_Yhdzqyrq VALUES('" & _
                        frmYH_Yhkmxz.Kmdm & "',TO_DATE('" & Format(dtpQyrq.value, "yyyy-mm-dd") & _
                        "','YYYY-MM-DD'),TO_DATE('" & sJzrq & "','YYYY-MM-DD'))"
            End Select
            IsExistQyrq = True
        End If
        adoCmd.Execute
        If sQyrq <> Format(dtpQyrq.value, "yyyy-mm-dd") Then
    '        Call FillText
            sQyrq = Format(dtpQyrq.value, "yyyy-mm-dd")
        End If
    End If
End Sub

Private Sub Form_Unload(Cancel As Integer)
   
    If IsTheSameYear Then
        If Year(Format(dtpQyrq.value, "yyyy-mm-dd")) < CInt(SubSysBeginYear) Then
            MsgBox "银行对账启用日期不能小于账务子系统启用日期!", vbOKOnly + vbInformation
            dtpQyrq.value = sQyrq
            Cancel = 1
            Exit Sub
        ElseIf Year(Format(dtpQyrq.value, "yyyy-mm-dd")) = CInt(SubSysBeginYear) Then
                If Month(Format(dtpQyrq.value, "yyyy-mm-dd")) < CInt(SubSysBeginMonth) Then
                    MsgBox "银行对账启用日期不能小于账务子系统启用日期!", vbOKOnly + vbInformation
                    dtpQyrq.value = sQyrq
                    Cancel = 1
                    Exit Sub
                End If
        End If
        If sQyrq <> Format(dtpQyrq.value, "yyyy-mm-dd") Then
            Set rSt = New ADODB.Recordset
            rSt.CursorLocation = adUseClient
            Select Case g_FLAT
                Case "SQL"
                    sSQL = "SELECT COUNT(*) numJls FROM tZW_Yhdzd" & glo.sOperateYear & _
                           " WHERE kmdm = '" & frmYH_Yhkmxz.Kmdm & "' AND qcbz = 1" & _
                           " AND rq >= '" & Format(dtpQyrq.value, "yyyy-mm-dd") & "'"
                Case "ORACLE"
                    sSQL = "SELECT COUNT(*) numJls FROM tZW_Yhdzd" & glo.sOperateYear & _
                           " WHERE kmdm = '" & frmYH_Yhkmxz.Kmdm & "' AND qcbz = 1" & _
                           " AND rq >= TO_DATE('" & Format(dtpQyrq.value, "yyyy-mm-dd") & _
                           "','YYYY-MM-DD')"
            End Select
            rSt.Open sSQL, glo.cnnMain, adOpenStatic, adLockReadOnly
            If rSt.Fields("numJls").value > 0 Then
                MsgBox "该账户存在日期大于或等于启用日期的期初银行对账单记录, 不能修改启用日期!", vbOKOnly + vbInformation
                dtpQyrq.value = sQyrq
                Cancel = 1
                Exit Sub
            End If
            Set rSt = New ADODB.Recordset
            rSt.CursorLocation = adUseClient
            Select Case g_FLAT
                Case "SQL"
                    sSQL = "SELECT COUNT(*) numJls FROM tZW_pzsj" & glo.sOperateYear & _
                           " WHERE kmdm = '" & frmYH_Yhkmxz.Kmdm & "' AND kjqj = 21" & _
                           " AND pzrq >= '" & Format(dtpQyrq.value, "yyyy-mm-dd") & "'"
                Case "ORACLE"
                    sSQL = "SELECT COUNT(*) numJls FROM tZW_pzsj" & glo.sOperateYear & _
                           " WHERE kmdm = '" & frmYH_Yhkmxz.Kmdm & "' AND kjqj = 21" & _
                           " AND pzrq >= TO_DATE('" & _
                           Format(dtpQyrq.value, "yyyy-mm-dd") & "','YYYY-MM-DD')"
            End Select
            rSt.Open sSQL, glo.cnnMain, adOpenStatic, adLockReadOnly
            If rSt.Fields("numJls").value > 0 Then
                MsgBox "该账户存在日期大于或等于启用日期的期初银行日记账记录, 不能修改启用日期!", vbOKOnly + vbInformation
                dtpQyrq.value = sQyrq
                Cancel = 1
                Exit Sub
            End If
            Set rSt = New ADODB.Recordset
            rSt.CursorLocation = adUseClient
            Select Case g_FLAT
                Case "SQL"
                    sSQL = "SELECT COUNT(*) numJls FROM tZW_Yhdzd" & glo.sOperateYear & _
                            " WHERE kmdm = '" & frmYH_Yhkmxz.Kmdm & "' AND qcbz = 2" & _
                            " AND rq < '" & Format(dtpQyrq.value, "yyyy-mm-dd") & "'"
                Case "ORACLE"
                    sSQL = "SELECT COUNT(*) numJls FROM tZW_Yhdzd" & glo.sOperateYear & _
                            " WHERE kmdm = '" & frmYH_Yhkmxz.Kmdm & "' AND qcbz = 2" & _
                            " AND rq < TO_DATE('" & Format(dtpQyrq.value, "yyyy-mm-dd") & _
                            "','YYYY-MM-DD')"
            End Select
            rSt.Open sSQL, glo.cnnMain, adOpenStatic, adLockReadOnly
            If rSt.Fields("numJls").value > 0 Then
                MsgBox "该账户存在日期小于启用日期的银行对账单记录, 不能修改启用日期!", vbOKOnly + vbInformation
                dtpQyrq.value = sQyrq
                Cancel = 1
                Exit Sub
            End If
        End If
        
        Call dtpQyrq_LostFocus
    End If
    Cancel = 0
    Call txtYhtzqye_LostFocus
    Call txtDwtzqye_LostFocus
    Unload frmP
End Sub


Private Sub mnuExit_Click()
    Call Operate("EXIT")
End Sub

Private Sub mnuHelp_Click()
    Call Operate("HELP")
End Sub

Private Sub mnuPreview_Click()
    Call Operate("PREVIEW")
End Sub

Private Sub mnuPrint_Click()
    Call Operate("PRINT")
End Sub

Private Sub tbrYetjbqc_ButtonClick(ByVal Button As MSComctlLib.Button)
    Call Operate(UCase(Button.Key))
End Sub

Private Sub Operate(strKey As String)
    Select Case strKey
        Case "PRINT"
'            Call DogCheck
            Call ShowPrintResult("PRINT")
        Case "PREVIEW"
'            Call DogCheck
            Call ShowPrintResult("PREVIEW")
        Case "HELP"
            Call ShowHelp
        Case "EXIT"
            Unload Me
    End Select
End Sub


Private Sub txtDwtzqye_GotFocus()
    txtDwtzqye.text = Format(txtDwtzqye.text, "###0.00")
    txtDwtzqye.Alignment = 0
    txtDwtzqye.SelStart = 0
    txtDwtzqye.SelLength = Len(txtDwtzqye.text)
End Sub

Private Sub txtDwtzqye_LostFocus()
    Dim maxJlhm As Integer
    txtDwtzqye.Alignment = 1
    If txtDwtzqye.text = "" Then
        txtDwtzqye.text = "0.00"
    Else
        txtDwtzqye.text = Format(txtDwtzqye.text, "##,##0.00")
    End If
    txtDwtzhye.text = Format(Val(Format(txtDwtzqye.text, "###0.00")) + _
                             Val(Format(txtYhys.text, "###0.00")) - _
                             Val(Format(txtYhyf.text, "###0.00")), "##,##0.00")
    If Val(txtDwtzhye.text) = 0 Then
        glo.cnnMain.Execute "Delete from tZW_Pzsj" + glo.sOperateYear + " where kjqj=20 and kmdm='" + frmYH_Yhkmxz.Kmdm + "'"
        Exit Sub
    End If
    If IsExistDwtzqye Then
        Select Case g_FLAT
            Case "SQL"
                adoCmd.CommandText = "UPDATE tZW_pzsj" & glo.sOperateYear & _
                                     " SET pzrq = '" & Format(dtpQyrq.value, "yyyy-mm-dd") & "'," & _
                                          "je = " & Format(txtDwtzqye.text, "###0.00") & _
                                     " WHERE kjqj = 20 AND kmdm = '" & frmYH_Yhkmxz.Kmdm & "'"
            Case "ORACLE"
                adoCmd.CommandText = "UPDATE tZW_pzsj" & glo.sOperateYear & _
                                     " SET pzrq = TO_DATE('" & Format(dtpQyrq.value, "yyyy-mm-dd") & _
                                     "','YYYY-MM-DD')," & _
                                          "je = " & Format(txtDwtzqye.text, "###0.00") & _
                                     " WHERE kjqj = 20 AND kmdm = '" & frmYH_Yhkmxz.Kmdm & "'"
        End Select
    Else
        Set rstTemp = New ADODB.Recordset
        rstTemp.CursorLocation = adUseClient
        sSQL = "SELECT MAX(jlhm) maxJlhm FROM tZW_pzsj" & glo.sOperateYear & " WHERE kjqj = 20"
        rstTemp.Open sSQL, glo.cnnMain, adOpenStatic, adLockReadOnly
        If rstTemp.BOF And rstTemp.EOF Then
            maxJlhm = 0
        ElseIf IsNull(rstTemp.Fields("maxJlhm").value) Then
            maxJlhm = 0
        Else
            maxJlhm = rstTemp.Fields("maxJlhm").value
        End If
        
        Select Case g_FLAT
            Case "SQL"
                adoCmd.CommandText = "INSERT INTO tZW_pzsj" & glo.sOperateYear & "(id,kjqj,pzzl,pzbh,jlhm,pzrq,kmdm,fx,je,xgbz) " & _

⌨️ 快捷键说明

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