📄 frmbalance.frm
字号:
End If
Do Until .EOF
If lngAcnID <> !lngAccountID Then
cboTable(0).AddItem Trim$(!strAccountCode) & String(4, " ") _
& Trim$(!strAccountName)
If mlngAcnID = !lngAccountID Then strAcnName = Trim$(!strAccountCode) _
& String(4, " ") & Trim$(!strAccountName)
cboTable(0).ItemData(cboTable(0).NewIndex) = !lngAccountID
lngAcnID = !lngAccountID
End If
.MoveNext
Loop
End With
cboTable(0).Text = strAcnName
End Sub
Private Sub InitCurrencyList()
Dim strCurName As String
cboTable(1).Clear
With mrecBankAccount
.MoveFirst
Do Until !lngAccountID = mlngAcnID
.MoveNext
Loop
Do Until .EOF
If mlngCurID = 0 Then mlngCurID = !lngCurrencyID
If !lngAccountID <> mlngAcnID Then Exit Do
cboTable(1).AddItem Trim$(!strCurrencyCode) & String(2, " ") _
& Trim$(!strCurrencyName)
cboTable(1).ItemData(cboTable(1).NewIndex) = !lngCurrencyID
If mlngCurID = !lngCurrencyID Then
strCurName = Trim(!strCurrencyCode) & String(2, " ") & Trim(!strCurrencyName)
mstrStartDate = !strStartDate
mstrEndDate = !strEndDate
mbytCurDec = !bytCurrencydec
End If
.MoveNext
Loop
End With
cboTable(1).Text = strCurName
End Sub
Private Sub Form_Resize()
On Error Resume Next
If Me.WindowState = vbMinimized Then Exit Sub
cmdPrint(0).Left = Me.ScaleWidth - cmdPrint(0).width - 50
cmdPrint(1).Left = cmdPrint(0).Left
msgTable.Left = Me.ScaleLeft + 50
msgTable.top = cboTable(0).top + cboTable(0).Height + 75
msgTable.width = Me.ScaleWidth - cmdPrint(0).width - 150
msgTable.Height = Me.ScaleHeight - msgTable.top - 75
' msgTable.ColWidth(1) = msgTable.Width / 15 * 4.2
' msgTable.ColWidth(2) = msgTable.Width / 15 * 3.2
' msgTable.ColWidth(3) = msgTable.Width / 15 * 4.2
' msgTable.ColWidth(4) = msgTable.Width / 15 * 3.2
cboTable(1).Left = msgTable.Left + msgTable.width - cboTable(1).width
lblTable(1).Left = cboTable(1).Left - lblTable(1).width - 60
cmdPrint(0).top = msgTable.top
If mblnIsInit Then
SetFormSize
mblnIsInit = False
End If
End Sub
Private Sub RefreshGrid()
Dim i As Integer
Dim dblBankBalance As Double, dblBillBalance As Double
Dim dblBankDebitSum As Double, dblBillDebitSum As Double
Dim dblBankCreditSum As Double, dblBillCreditSum As Double
Dim dblBankAdjustBalance As Double, dblBillAdjustBalance As Double
Dim lngBankDebitCount As Long, lngBillDebitCount As Long
Dim lngBankCreditCount As Long, lngBillCreditCount As Long
Dim recBankInfo As rdoResultset, recBillSum As rdoResultset
Dim recBankSum As rdoResultset, recBank As rdoResultset
Dim recBill As rdoResultset, strSql As String ', strEndDate As String
Dim recYear As rdoResultset, qryBankBillSum As rdoQuery
strSql = "SELECT * FROM BankInfo WHERE lngAccountID=" & mlngAcnID _
& " AND lngCurrencyID=" & mlngCurID
Set recBankInfo = gclsBase.BaseDB.OpenResultset(strSql, rdOpenForwardOnly)
If recBankInfo.EOF Then
dblBillBalance = 0
Else
dblBillBalance = recBankInfo!dblEndBalance
' If recBankInfo!strEndDate < mstrStartDate Then
' strEndDate = mstrStartDate
' Else
' strEndDate = recBankInfo!strEndDate
' End If
End If
recBankInfo.Close
' intyear = gclsBase.FYearOfDate(CDate(mstrStartDate))
'取银行帐帐面余额
dblBankBalance = BankBalance(mlngAcnID, mlngCurID, Format(mstrEndDate, "yyyy-mm-dd"))
'银行帐,对帐单的数据
BankBillMissSum mlngAcnID, mlngCurID, mstrStartDate, mstrEndDate, dblBankDebitSum, dblBankCreditSum, lngBankDebitCount, lngBankCreditCount, dblBillDebitSum, dblBillCreditSum, lngBillDebitCount, lngBillCreditCount
' strSql = "{CALL BANKBILLSUM(?,?,?,?,?,?,?,?,?,?,?,?)}"
' Set qryBankBillSum = gclsBase.BaseDB.CreateQuery("", strSql)
' qryBankBillSum.rdoParameters("lngAcnID") = mlngAcnID
' qryBankBillSum.rdoParameters("lngCurID") = mlngCurID
' qryBankBillSum.rdoParameters("strStartDate") = mstrStartDate
' qryBankBillSum.rdoParameters("strEndDate") = mstrEndDate
' dblBankDebitSum = TxtToDouble(qryBankBillSum.rdoParameters("dblBankDebit"))
' dblBankCreditSum = TxtToDouble(qryBankBillSum.rdoParameters("dblBankCredit"))
' lngBankDebitCount = TxtToDouble(qryBankBillSum.rdoParameters("lngBankDebitCount"))
' lngBankCreditCount = TxtToDouble(qryBankBillSum.rdoParameters("lngBankCreditCount"))
' dblBillDebitSum = TxtToDouble(qryBankBillSum.rdoParameters("dblBillDebit"))
' dblBillCreditSum = TxtToDouble(qryBankBillSum.rdoParameters("dblBillCredit"))
' lngBillDebitCount = TxtToDouble(qryBankBillSum.rdoParameters("lngBillDebitCount"))
' lngBillCreditCount = TxtToDouble(qryBankBillSum.rdoParameters("lngBillCreditCount"))
' qryBankBillSum.Close
dblBankAdjustBalance = dblBankBalance + dblBillCreditSum - dblBillDebitSum
dblBillAdjustBalance = dblBillBalance + dblBankDebitSum - dblBankCreditSum
strSql = "SELECT * FROM BankDetail WHERE lngAccountID=" & mlngAcnID _
& " AND lngCurrencyID=" & mlngCurID & " AND blnIsMatch=0 AND intDirection<>9 " _
& "AND strDate<='" & mstrEndDate & "' ORDER BY " _
& "intDirection ,strDate"
Set recBill = gclsBase.BaseDB.OpenResultset(strSql, rdOpenForwardOnly)
Set recBank = BankQuery(mlngAcnID, mlngCurID, mstrEndDate)
With msgTable
.Rows = 1
.AddItem vbTab & "银行帐帐面余额" & vbTab & FormatShow(dblBankBalance, mbytCurDec) & vbTab & _
"对帐单余额" & vbTab & FormatShow(dblBillBalance, mbytCurDec)
.AddItem vbTab & " 加:银行已收,单位未收" & vbTab & FormatShow(dblBillCreditSum, mbytCurDec) _
& vbTab & " 加:单位已收,银行未收" & vbTab & FormatShow(dblBankDebitSum, mbytCurDec)
i = 1
While lngBillCreditCount > 0 Or lngBankDebitCount > 0
If lngBillCreditCount > 0 And lngBankDebitCount > 0 Then
.AddItem vbTab & " " & i & ": " & recBill!strRemark & vbTab _
& FormatShow(recBill!dblAmount, mbytCurDec) & vbTab & " " _
& i & ": " & recBank!strRemark & vbTab & _
FormatShow(recBank!dblAmount, mbytCurDec)
recBill.MoveNext
recBank.MoveNext
lngBillCreditCount = lngBillCreditCount - 1
lngBankDebitCount = lngBankDebitCount - 1
ElseIf lngBillCreditCount > 0 Then
.AddItem vbTab & " " & i & ": " & recBill!strRemark & vbTab _
& FormatShow(recBill!dblAmount, mbytCurDec) & vbTab & vbTab
recBill.MoveNext
lngBillCreditCount = lngBillCreditCount - 1
ElseIf lngBankDebitCount > 0 Then
.AddItem vbTab & vbTab & vbTab & " " & i & ": " & recBank!strRemark _
& vbTab & FormatShow(recBank!dblAmount, mbytCurDec)
recBank.MoveNext
lngBankDebitCount = lngBankDebitCount - 1
End If
i = i + 1
Wend
.AddItem vbTab & " 减:银行已付,单位未付" & vbTab & FormatShow(dblBillDebitSum, mbytCurDec) _
& vbTab & " 减:单位已付,银行未付" & vbTab & FormatShow(dblBankCreditSum, mbytCurDec)
i = 1
While lngBillDebitCount > 0 Or lngBankCreditCount > 0
If lngBillDebitCount > 0 And lngBankCreditCount > 0 Then
.AddItem vbTab & " " & i & ": " & recBill!strRemark & vbTab _
& FormatShow(recBill!dblAmount, mbytCurDec) & vbTab & " " _
& i & ": " & recBank!strRemark & vbTab & _
FormatShow(recBank!dblAmount, mbytCurDec)
recBill.MoveNext
recBank.MoveNext
lngBillDebitCount = lngBillDebitCount - 1
lngBankCreditCount = lngBankCreditCount - 1
ElseIf lngBillDebitCount > 0 Then
.AddItem vbTab & " " & i & ": " & recBill!strRemark & vbTab _
& FormatShow(recBill!dblAmount, mbytCurDec) & vbTab & vbTab
recBill.MoveNext
lngBillDebitCount = lngBillDebitCount - 1
ElseIf lngBankCreditCount > 0 Then
.AddItem vbTab & vbTab & vbTab & " " & i & ": " & _
FormatShow(recBank!strRemark, mbytCurDec) _
& vbTab & FormatShow(recBank!dblAmount, mbytCurDec)
recBank.MoveNext
lngBankCreditCount = lngBankCreditCount - 1
End If
i = i + 1
Wend
.AddItem vbTab & "银行帐调节后余额" & vbTab & FormatShow(dblBankAdjustBalance, mbytCurDec) _
& vbTab & "对帐单调节后余额" & vbTab & FormatShow(dblBillAdjustBalance, mbytCurDec)
End With
recBank.Close
recBill.Close
End Sub
Private Sub Form_Unload(Cancel As Integer)
On Error Resume Next
SaveColWith
SaveFormSize
Utility.UnLoadFormResPicture Me
Set mclsGrid = Nothing
frmCollate.AccountID = mlngAcnID
frmCollate.CurrencyID = mlngCurID
End Sub
Private Sub SaveColWith()
Dim strColWidth As String
strColWidth = msgTable.ColWidth(1) & "," & msgTable.ColWidth(2) & "," & msgTable.ColWidth(3) & "," & msgTable.ColWidth(4)
SaveSetting App.title, "Balance", "ColWidth", strColWidth
End Sub
Private Sub SaveFormSize()
SaveSetting App.title, "Balance", "FormSize", Me.Height & "," & Me.width
End Sub
Private Sub FilePrint()
Dim myPrintclass As PrintClass
Set myPrintclass = New PrintClass
myPrintclass.PrintList gclsBase.BaseDB, msgTable, 67, Caption & Chr(1) _
& gclsBase.BaseName & Chr(1) & gclsBase.OperatorName & Chr(1) & "科目:" _
& cboTable(0).Text & SpaceNum & "币种:" & cboTable(1).Text
End Sub
Private Function SpaceNum() As String
Dim i As Integer, lWidth As Long, strX As String
For i = 0 To msgTable.Cols - 1
lWidth = lWidth + msgTable.ColWidth(i)
Next i
lWidth = lWidth - TextWidth("科目:" & cboTable(0).Text & "币种:" & cboTable(1).Text)
While TextWidth(strX) < lWidth * 7 / 10
strX = strX & " "
Wend
SpaceNum = strX
End Function
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -