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

📄 frmlistvoucher.frm

📁 金算盘软件代码
💻 FRM
📖 第 1 页 / 共 4 页
字号:
        
        '设置按纽菜单/右键菜单
        Utility.CloneMenu .mnuEditEdit, .mnuListEditMenu(0)       '修改
        Utility.CloneMenu .mnuEditNew, .mnuListEditMenu(1)        '新增
        Utility.CloneMenu .mnuEditDel, .mnuListEditMenu(2)        '删除
        Utility.CloneMenu .mnuEditBar2, .mnuListEditMenu(3)       '----
        .mnuListEditMenu(4).Caption = "冲销(&S)"                  '冲销
        .mnuListEditMenu(4).Enabled = blnIsnotEmpty
        .mnuListEditMenu(4).Visible = True
        Utility.CloneMenu .mnuEditBar2, .mnuListEditMenu(5)       '----
        Utility.CloneMenu .mnuEditInActive, .mnuListEditMenu(6)   '作废
        .mnuListEditMenu(6).Visible = True
        Utility.CloneMenu .mnuEditShowAll, .mnuListEditMenu(7)    '显示所有/显示非作废
        .mnuListEditMenu(7).Visible = True
        Utility.CloneMenu .mnuEditBar2, .mnuListEditMenu(8)       '----
        .mnuListEditMenu(8).Visible = True
        .mnuListEditMenu(9).Caption = "复核(&A)"                  '复核/取消复核
        .mnuListEditMenu(10).Caption = "记帐(&B)"                  '记帐/取消记帐
        Utility.CloneMenu .mnuEditBar2, .mnuListEditMenu(11)       '----
        .mnuListEditMenu(12).Caption = "多张复核(&I)"             '多张复核
        .mnuListEditMenu(13).Caption = "多张取消(&J)"             '多张取消
        Utility.CloneMenu .mnuEditBar2, .mnuListEditMenu(14)      '----
        .mnuListEditMenu(15).Caption = "多张记帐(&K)"             '多张记帐
        .mnuListEditMenu(16).Caption = "多张取消(&L)"             '多张取消
        Utility.CloneMenu .mnuEditBar2, .mnuListEditMenu(17)      '----
        .mnuListEditMenu(18).Caption = "凭证分册(&P)"             '多张记帐
        Utility.CloneMenu .mnuEditBar2, .mnuListEditMenu(19)      '----
        Utility.CloneMenu .mnuEditFilter, .mnuListEditMenu(20)    '筛选
        Utility.CloneMenu .mnuEditColumn, .mnuListEditMenu(21)    '栏目设置
        Utility.CloneMenu .mnuEditBar2, .mnuListEditMenu(22)      '----
        Utility.CloneMenu .mnuToolRefresh, .mnuListEditMenu(23)   '刷新
        Utility.CloneMenu .mnuFilePrintReceipt, .mnuListEditMenu(24)
        Utility.CloneMenu .mnuFilePrint, .mnuListEditMenu(25)     '打印
        .mnuFilePrintSetup.Enabled = True
    End With
    mblnIsFindTextChange = False
    With mclsList
    If mclsList.DbTabCtrl.Row = 0 Then  '无当前选定行
        txtFind.Text = ""
        cmdAgain.Enabled = False
    Else
        If .DbTabCtrl.Row < .TotalRow(.intTab) + 1 Then
            '.Resultset(.intTab).Move .DbTabCtrl.Row - 1, 1
            .Resultset(.intTab).AbsolutePosition = .DbTabCtrl.Row
            txtFind.Text = .Resultset(.intTab).rdoColumns(.SortCol + 1)
        End If
    End If
    End With
    mblnIsFindTextChange = True
    frmMain.SetToolBar
End Sub

Private Sub mclsMainControl_ListEditMenu(ByVal intIndex As Integer)
    If mclsList.ListSet.ListID < 1 Then
       mclsList.ListSet.SaveList
       DefaultCurrentDate mclsList.ListSet.ListID, 9975
    End If
    frmVoucherMultiList.MuliListID = mclsList.ListSet.ListID
    Select Case intIndex
    Case 0: '修改
        blnChange = True
        mclsMainControl_EditEdit
    Case 1: '新增
        blnChange = True
        mclsMainControl_EditNew
    Case 2: '删除
        mclsMainControl_EditDel
    Case 4: '冲销
        Dim lngVoucherID As Long
        lngVoucherID = GetlngVoucherID()
        If lngVoucherID = -1 Then lngVoucherID = 0
        lngVoucherID = frmWriteOffBill.WriteOffBill(41, lngVoucherID, Me.hWnd)
        If lngVoucherID > 0 Then theEditForm.GenCacelVoucher lngVoucherID
    Case 6 '作废
        mclsMainControl_EditInActive
    Case 7: '全部显示
        mclsMainControl_EditShowAll
    Case 9: '复核/取消复核
        If mclsVoucher.ChangeCheck(GetlngVoucherID(), strVoucher) Then
            RefreshRecList
        Else
            mclsList.Resultset(0).Requery
        End If
    Case 10: '记帐/取消记帐
        If mclsVoucher.ChangePost(GetlngVoucherID(), strVoucher) Then
            RefreshRecList
        Else
            mclsList.Resultset(0).Requery
        End If
    Case 12: '多张复核
        mclsVoucher.MultiCheckVoucher
        If Me.Visible Then cboFindKind.SetFocus
    Case 13: '多张取消
        mclsVoucher.MultiUnCheckVoucher
        If Me.Visible Then cboFindKind.SetFocus
    Case 15: '多张记帐
        mclsVoucher.MultiPostVoucher
        If Me.Visible Then cboFindKind.SetFocus
    Case 16: '多张取消
        mclsVoucher.MultiUnPostVoucher
        If Me.Visible Then cboFindKind.SetFocus
    Case 18
        frmVoucherVolume.ShowVoucherVolume gclsBase.AccountYear, gclsBase.Period, 0
    Case 20: '筛选
        mclsMainControl_EditFilter
    Case 21: '栏目设置
        mclsMainControl_EditColumn
    Case 23: '刷新
        mclsMainControl_ToolRefresh
    Case 24: '打印
        mclsMainControl_FilePrintReceipt
    Case 25
        mclsMainControl_FilePrint
    End Select
    blnChange = False
    'mclsList.Resultset(mclsList.intTab).Requery
    'Me.Refresh
    mclsList.DbTabCtrl.Refresh
End Sub
Private Sub MakeListEditMenu()
    Dim intCnt As Integer
    Dim i As Integer
    With frmMain
        For intCnt = .mnuListEditMenu.Count - 1 To 1 Step -1
            Unload .mnuListEditMenu(intCnt)
        Next
        For i = 1 To 25
            Load .mnuListEditMenu(i)
        Next i
    End With
    blnMenuBuilded = True
End Sub
Private Sub MakeListReportMenu(Optional ByVal strAccount As String = "")
    Dim intCnt As Integer
'    Dim blnIsnotEmpty As Boolean
'    'If blnReceptionList And blnIsHavingReport Then
'    With frmMain
'        For intCnt = .mnuListReportMenu.Count - 1 To 1 Step -1
'            Unload .mnuListReportMenu(intCnt)
'        Next
'        For intCnt = 1 To mintReportNo - 1
'            Load .mnuListReportMenu(intCnt)
'        Next
'        For intCnt = 0 To mintReportNo - 1
'            .mnuListReportMenu(intCnt).Caption = mstrReportName(intCnt)
'        Next
'    End With
   ' End If
    With frmMain
        For intCnt = .mnuListReportMenu.Count - 1 To 1 Step -1
            Unload .mnuListReportMenu(intCnt)
        Next
        
        .mnuListReportMenu(0).Caption = "科目汇总表(&A)"
        .mnuListReportMenu(0).Enabled = True
        .mnuListReportMenu(0).Visible = True
        .mnuListReportMenu(0).Checked = False
        
        Load .mnuListReportMenu(1)
        .mnuListReportMenu(1).Caption = "凭证汇总表(&V)"
        .mnuListReportMenu(1).Enabled = True
        .mnuListReportMenu(1).Visible = True
        .mnuListReportMenu(1).Checked = False
    End With

End Sub
Private Sub txtFind_Change()
    cmdAgain.Enabled = True
    If mblnIsFindTextChange Then mclsList.FindText txtFind.Text
End Sub
Private Sub txtFind_KeyDown(KeyCode As Integer, Shift As Integer)
    Dim intSelLen As Integer
    If KeyCode = 8 Then
        intSelLen = txtFind.SelLength
        If txtFind.SelStart > 0 Then txtFind.SelStart = txtFind.SelStart - 1
        txtFind.SelLength = intSelLen + 1
    End If
End Sub

Private Sub cMsgBox(strMsg As String, Optional strTitle As String)
    If Trim(strTitle) = "" Then
        strTitle = "提示信息"
    End If

    ShowMsg Me.hWnd, strMsg, MB_OK + MB_ICONEXCLAMATION + MB_SYSTEMMODAL, strTitle
End Sub


Public Function SetFormation()
    Dim lngFRow As Long
    Dim lngSRow As Long
    Dim intCol As Integer
    Dim strCompareDate As String
    Dim strCompareNo As String
    Dim intColData As Integer
    Dim intColNo As Integer
    Dim intCnt As Integer
    With mclsList.Resultset(0)
        If mclsList.TotalRow(0) < 1 Then Exit Function
        .MoveFirst
        For intCnt = 0 To .rdoColumns.Count - 1
            If .rdoColumns(intCnt).Name = "日期" Then
                intColData = intCnt
            ElseIf .rdoColumns(intCnt).Name = "凭证字号" Then
                intColNo = intCnt
            End If
        Next
        lngSRow = 0
        lngFRow = 1
        strCompareDate = .rdoColumns("日期").Value
        
        strCompareNo = .rdoColumns("凭证字号").Value
        Do Until .EOF
            .MoveNext
            If .EOF Then Exit Do
            lngSRow = lngSRow + 1
           If .rdoColumns("日期").Value = strCompareDate And .rdoColumns("凭证字号") = strCompareNo Then
                mclsList.DbTabCtrl.CellFormula(lngFRow + lngSRow, intColData) = " "
                mclsList.DbTabCtrl.CellFormula(lngFRow + lngSRow, intColNo) = " "
           Else
                strCompareDate = .rdoColumns("日期").Value
                strCompareNo = .rdoColumns("凭证字号").Value
'                mclsList.DbTabCtrl.SetRowAlignment lngFRow, lngFRow + lngSRow - 1, -1, -1, 1, lngSRow, 2
               ' mclsList.DbTabCtrl.SetCellAlignment lngFRow, intColData, lngFRow + lngSRow - 1, intColData, -1, -1, -1, lngSRow, -1
                'mclsList.DbTabCtrl.SetCellAlignment lngFRow, intColNo, lngFRow, intColNo, -1, -1, -1, lngSRow, -1
                lngFRow = lngFRow + lngSRow
                lngSRow = 0
           End If
        Loop
'        mclsList.DbTabCtrl.SetRowAlignment lngFRow, lngFRow + lngSRow - 1, -1, -1, 1, lngSRow, 2
        'mclsList.DbTabCtrl.SetCellAlignment lngFRow, 2, lngFRow, 2, -1, -1, -1, lngSRow, -1
       ' mclsList.DbTabCtrl.SetCellAlignment lngFRow, intColData, lngFRow + lngSRow - 1, intColData, -1, -1, -1, lngSRow, -1
        'mclsList.DbTabCtrl.SetCellAlignment lngFRow, intColNo, lngFRow, intColNo, -1, -1, -1, lngSRow, -1
    End With
    
End Function
Private Function GetlngVoucherID()
    Dim i As Integer
    Dim bFound As Boolean
    Dim recTmp As rdoResultset
    Dim strSql As String
    Dim lngID As Long
    
    With mclsList.DbTabCtrl
        If .Row > 0 Then
            'GetlngVoucherID = CLng(.CellValue(.Row, 0))
            lngID = CLng(.CellValue(.Row, 0))
        Else
            GetlngVoucherID = -1
            Exit Function
        End If
        strVoucher = ""
        '获得本张凭证的凭证名称
        strSql = "Select VOUCHERTYPE.STRVOUCHERTYPECODE  ||  ' '  ||  TO_CHAR(VOUCHER.INTVOUCHERNO,'0000') as Nun from Voucher ,VoucherType " _
                & " Where Voucher.lngVoucherTypeID = VoucherType.lngVoucherTypeID and " _
                & " Voucher.lngVoucherID=" & lngID
        Set recTmp = gclsBase.BaseDB.OpenResultset(strSql, rdOpenForwardOnly)
        If Not recTmp.EOF Then
            GetlngVoucherID = lngID
            strVoucher = recTmp!Nun
        Else
            Exit Function
        End If
        recTmp.Close
        Set recTmp = Nothing
        strVoucher = "“" + strVoucher + "”"
    End With
'        For i = 1 To .Cols - 1
'            If "凭证字号" = Trim(.CellValue(0, i)) Then
'                intFindCol = i
'                bFound = True
'                Exit For
'            End If
'        Next i
'        If Not bFound Then Exit Function
'        '从本行开始往上找
'        i = .Row
'        Do While i >= 1
'            If CLng(.CellValue(i, 0)) = GetlngVoucherID Then
'                i = i - 1
'            Else
'                Exit Do
'            End If
'        Loop
'        strVoucher = .CellValue(i + 1, intFindCol)
    
End Function


Private Function RefreshRecList()
     Dim strSql As String
    Debug.Print "Re1: "; Timer
    mclsList.DbTabCtrl.Clear
'    If mV_Connect.State = 1 Then
'        mV_Connect.Close
'    End If
'    mV_Connect.Open
'    If mclsList.Resultset(0).State = 1 Then
'        mclsList.Resultset(0).Close
'    End If
'    strSql = mclsList.Resultset(0).Source
'    mclsList.Resultset(0).Open strSql, mV_Connect, adOpenStatic
    mclsList.Resultset(0).Requery
    'mclsList.RefreshCurrTab 0
    ToolRefresh
    mclsList.SetGridFormate
    Debug.Print "Re2: "; Timer
    'SetFormation
    mclsList.DbTabCtrl.Refresh
    UpdateEditMenuStatus
End Function

⌨️ 快捷键说明

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