- ·上一篇毕业论文:基于Client/Server数据完整性约束的实现技术
- ·下一篇毕业论文:进销存管理系统<9>
进销存管理系统<8>
论文出自毕业设计指导网www.bysj120.cn,需要购买整套毕业论文或找不到您要的毕业设计请联系客服索取
第七章 编码实现与测试:
7.1编码摘要
材料收发存分类汇总的部分代码:
sql语句:
SELECT [K_llll_D].[CLBH] AS CLBH, [K_llll_M].[KDRQ] AS KDRQ, [K_llll_M].[CBXM] AS CBXM, [K_llll_M].[DHDH], [K_llll_D].[SLSL] AS SLSL, [k_LLLL_D].[JEJE] AS JEJE
FROM K_llll_M INNER JOIN K_llll_D ON [K_llll_M].[DHDH]=[K_llll_D].[DHDH]
WHERE [K_llll_M].[status]=1;
SELECT [K_clrk_D].[CLBH] AS CLBH, [K_clrk_M].[KDRQ] AS KDRQ, [K_clrk_M].[DHDH] AS DHDH, [K_clrk_D].[SLSL] AS SLSL, [SLSL]*[K_clrk_D].[DJDJ] AS JEJE
FROM K_clrk_M INNER JOIN K_clrk_D ON [K_clrk_M].[DHDH]=[K_clrk_D].[DHDH]
WHERE [K_clrk_m].[STATUS]=1;
SELECT A.CLBH, Sum(A.SLSL) AS ZSL, Sum(A.JEJE) AS ZJE, year([KDRQ]) & "-" & Month([KDRQ]) & "-" & "1" AS MON
FROM SFC_rk AS A
GROUP BY A.CLBH, year([KDRQ]) & "-" & Month([KDRQ]) & "-" & "1";
SELECT A.CLBH, Sum(IIf(ISNULL(A.SLSL),0,A.SLSL)) AS ZSL, Sum(IIf(ISNULL(A.JEJE),0,A.JEJE)) AS ZJE, year([KDRQ]) & "-" & Month([KDRQ]) & "-" & "1" AS MON
FROM SFC_ck AS A
GROUP BY A.CLBH, year([KDRQ]) & "-" & Month([KDRQ]) & "-" & "1";
SELECT A.BHBH AS BHBH, A.YFYF AS YFYF, IIf(ISNULL(A.QCSL),0,A.QCSL) AS QCSL, IIf(ISNULL(B.ZSL),0,B.ZSL) AS SRSL, [QCSL]+SRSL AS MISL, IIf(ISNULL(A.QCJE),0,A.QCJE) AS QCJE, IIf(ISNULL(B.ZJE),0,B.ZJE) AS SRJE, [QCJE]+SRJE AS MIJE
FROM T_SFC_QC AS A LEFT JOIN SFC_RK_GP AS B ON (A.YFYF=CDATE(B.MON)) AND (A.BHBH=B.CLBH)
ORDER BY [bhbh];
SELECT A.BHBH, A.YFYF, A.QCSL, A.SRSL, A.MISL-IIF(ISNULL(B.ZSL),0,B.ZSL) AS QMSL, A.QCJE, A.SRJE, A.MIJE-IIF(ISNULL(B.ZJE),0,B.ZJE) AS QMJE, IIF(ISNULL(B.ZSL),0,B.ZSL) AS FCSL, IIF(ISNULL(B.ZJE),0,B.ZJE) AS FCJE
FROM SFC_AAA AS A LEFT JOIN SFC_CK_GP AS B ON (A.YFYF=CDATE(B.MON)) AND (A.BHBH=B.CLBH)
ORDER BY [bhbh];
SELECT A.BHBH, B.PMPM AS PMPM, B.GGGG AS GGGG, A.YFYF, A.QCSL, A.SRSL, A.FCSL, A.QMSL, A.QCJE, A.SRJE, A.FCJE, A.QMJE, B.FLAA, B.FLBB, B.FLCC
FROM SFC_BBB AS A LEFT JOIN J_clcl AS B ON A.BHBH=B.BHBH
ORDER BY A.BHBH;
SELECT SFC_CCC.*, IIf(ISNULL([O_Dzfy].[ZWZW]),"空",[O_Dzfy].[ZWZW]) AS ZWBB
FROM SFC_CCC LEFT JOIN O_Dzfy ON [O_Dzfy].[FHFH]=[SFC_CCC].[FLBB];
SELECT SFC_ZW_B.*, IIf(isnull([O_Dzfy].[ZWZW]),"空",[O_Dzfy].[ZWZW]) AS ZWCC
FROM SFC_ZW_B LEFT JOIN O_Dzfy ON [SFC_ZW_B].[FLCC]=[O_Dzfy].[FHFH];
SELECT A.FLBB AS FLBB, A.ZWBB AS ZWBB, A.ZWCC AS ZWCC, A.YFYF AS YFYF, Sum(A.QCSL) AS QCZSL, Sum(A.SRSL) AS SRZSL, Sum(A.FCSL) AS FCZSL, Sum(A.QMSL) AS QMZSL, Sum(A.QCJE) AS QCZJE, Sum(A.SRJE) AS SRZJE, Sum(A.FCJE) AS FCZJE, Sum(A.QMJE) AS QMZJE
FROM SFC_ZW_C AS A
GROUP BY A.FLBB, A.ZWBB, A.YFYF, A.ZWCC;
全月一次加权平均计算单价的部分代码:
sql 语句:
SELECT A.CLBH, SUM(A.SLSL) AS RKSL, SUM(A.JEJE) AS RKJE
FROM AVER_MTH_RK1 AS A
WHERE NOT (ISNULL(A.YFYF))
GROUP BY [CLBH];
SELECT A.CLBH, [SLSL], [JEJE], [YFYF]
FROM AVER_MTH_RK AS A LEFT JOIN T_SFC_QC AS B ON (A.CLBH=B.BHBH) AND (A.KDRQ>=B.YFYF);
SELECT A.DHDH, A.KDRQ, B.CLBH, B.SLSL, B.SLSL*B.DJDJ AS JEJE
FROM K_clrk_M AS A INNER JOIN K_clrk_D AS B ON A.DHDH=B.DHDH
WHERE STATUS=1;
SELECT A.CLBH, B.YFYF, IIf(A.RKSL=0,IIf(ISNULL([QCSL]),0,[QCJE]/[QCSL]),(B.QCJE+A.RKJE)/(B.QCSL+A.RKSL)) AS DJDJ
FROM AVER_MTH_RK2 AS A LEFT JOIN T_SFC_QC AS B ON A.CLBH=B.BHBH;
功能函数
Public Sub Do_Aver_DJ()
Dim da_Rec As ADODB.Recordset
Dim da_SQL As String
Set da_Rec = AppCN.Execute("select * from AVER_DJ")
AppCN.BeginTrans
Do While Not da_Rec.EOF
da_SQL = "update J_clcl set DJDJ =" & da_Rec.Fields("DJDJ") & " where BHBH= '" & da_Rec.Fields("CLBH") & "'"
AppCN.Execute (da_SQL)
da_SQL = "update K_LLLL_D set JEJE =" & da_Rec.Fields("DJDJ") & " * k_LLLL_D.SLSL where K_LLLL_D.CLBH='" & _
da_Rec.Fields("CLBH") & "' and K_LLLL_D.DHDH IN (SELECT DHDH FROM AVER_mth_LL2)"
AppCN.Execute (da_SQL)
da_Rec.MoveNext
Loop
AppCN.CommitTrans
End Sub
收发存明细C
追踪某中材料某月的进出库情况,并显示出是那一帐单据进行操作,如果是领料则在摘要中写明成本项目。计算出每次操作之后的结存数量及金额。
Private Sub CmdMe_Click(Index As Integer)
If Index = 0 Then
Call PrintLstv(Me.LstView, LoadResString(804), "材料[" & m_CLBH & "] 收发存明细A", 1, 1)
Else
Unload Me
End If
End Sub
Private Sub DoGroupCube(SlCol As String, JeCol As String)
Dim arrSlCol() As String
Dim arrJeCol() As String
Dim k As Integer
Dim total As Double
Call ON_GetArray(SlCol, arrSlCol)
Call ON_GetArray(JeCol, arrJeCol)
LstView.ListItems.Add , , ""
LstView.ListItems(LstView.ListItems.Count).SubItems(1) = "总计"
For k = 0 To UBound(arrSlCol)
total = 0
For J = 1 To LstView.ListItems.Count
total = total + Val(LstView.ListItems(J).SubItems(Val(arrSlCol(k))))
Next
LstView.ListItems(LstView.ListItems.Count).SubItems(Val(arrSlCol(k))) = total
Next
For k = 0 To UBound(arrJeCol)
total = 0
For J = 1 To LstView.ListItems.Count
total = total + Val(LstView.ListItems(J).SubItems(Val(arrJeCol(k))))
Next
LstView.ListItems(LstView.ListItems.Count).SubItems(Val(arrJeCol(k))) = Format(total, "###0.00")
Next
End Sub
Private Sub Form_Load()
Dim fl_Num As Single
Dim fl_Cash As Double
Me.Icon = LoadResPicture(101, vbResIcon)
Me.Move (Screen.Width - Me.Width) / 2, (Screen.Height - Me.Height) / 4
Me.Caption = "查看[" & m_CLBH & "] 的明细情况"
Call DoStyle
If GetInitData(fl_Num, fl_Cash) = True Then
Call DoShow(fl_Num, fl_Cash)
' Call DoRemain(fl_Num, fl_Cash)
End If
End Sub
Private Sub DoShow(m_drNum As Single, m_drCash As Double)
Dim dsRec As ADODB.Recordset
Dim dsSQL As String
Dim I As Integer
Dim itmX
Dim rd_theSL As Single
Dim rd_theJE As Double
Dim rd_RKJE As Double, rd_CKJE As Double
rd_theSL = m_drNum
rd_theJE = m_drCash
dsSQL = "select * from SFC_MXA3 where CLBH='" & m_CLBH & "'"
Set dsRec = AppCN.Execute(dsSQL & " AND Month(KDRQ)=" & m_Month & " AND Year(KDRQ)=" & m_Year)
If dsRec.EOF Then
' MsgBox "无效的材料编号!"
Exit Sub
End If
I = 1
Set itmX = LstView.ListItems.Add(, , A & I)
itmX.SubItems(1) = dsRec.Fields("KDRQ").Value
itmX.SubItems(3) = "期初数量"
itmX.SubItems(10) = rd_theSL
itmX.SubItems(11) = Format(m_drCash, "##,##0.00")
Do While Not dsRec.EOF
I = I + 1
Set itmX = LstView.ListItems.Add(, , A & I)
rd_RKJE = IIf(dsRec.Fields("RKJE").Value = "", 0, dsRec.Fields("RKJE").Value)
rd_CKJE = IIf(dsRec.Fields("CKJE").Value = "", 0, dsRec.Fields("CKJE").Value)
rd_theSL = rd_theSL + Val(dsRec.Fields("RKSL")) - Val(dsRec.Fields("CKSL"))
m_drCash = m_drCash + rd_RKJE - rd_CKJE
itmX.SubItems(1) = dsRec.Fields("KDRQ").Value
itmX.SubItems(2) = dsRec.Fields("DHDH").Value
itmX.SubItems(3) = dsRec.Fields("CBXM").Value
itmX.SubItems(4) = dsRec.Fields("RKSL").Value
itmX.SubItems(5) = IIf(dsRec.Fields("RKDJ").Value = "", "", Format(dsRec.Fields("RKDJ").Value, "##,##0.00"))
itmX.SubItems(6) = IIf(dsRec.Fields("RKJE").Value = "", "", Format(dsRec.Fields("RKJE").Value, "##,##0.00")) '
itmX.SubItems(7) = dsRec.Fields("CKSL").Value
itmX.SubItems(8) = IIf(dsRec.Fields("CKDJ").Value = "", "", Format(dsRec.Fields("CKDJ").Value, "##,##0.00"))
itmX.SubItems(9) = IIf(dsRec.Fields("CKJE").Value = "", "", Format(dsRec.Fields("CKJE").Value, "##,##0.00")) '
itmX.SubItems(10) = rd_theSL
itmX.SubItems(11) = Format(m_drCash, "##,##0.00")
dsRec.MoveNext
Loop
End Sub
Private Sub DoStyle()
Dim intWid As Integer
intWid = 1200
LstView.ColumnHeaders.Add , , "序号", 600
LstView.ColumnHeaders.Add , , "日期", 1000, lvwColumnRight
LstView.ColumnHeaders.Add , , "凭证编号", intWid, lvwColumnRight
LstView.ColumnHeaders.Add , , "摘要", intWid, lvwColumnRight
LstView.ColumnHeaders.Add , , "收入数量", intWid, lvwColumnRight
LstView.ColumnHeaders.Add , , "收入单价", intWid, lvwColumnRight
LstView.ColumnHeaders.Add , , "收入金额", intWid, lvwColumnRight
LstView.ColumnHeaders.Add , , "发出数量", intWid, lvwColumnRight
LstView.ColumnHeaders.Add , , "发出单价", intWid, lvwColumnRight
LstView.ColumnHeaders.Add , , "发出金额", intWid, lvwColumnRight
LstView.ColumnHeaders.Add , , "结存数量", intWid, lvwColumnRight
LstView.ColumnHeaders.Add , , "结存金额", intWid, lvwColumnRight
End Sub
Private Sub Form_Resize()
On Error Resume Next
LstView.Move 0, 100 + 500 + 50, Me.ScaleWidth, Me.ScaleHeight - Me.StatusBar1.Height - 650
End Sub
Private Function GetInitData(m_giNum As Single, m_giCash As Double) As Boolean
Dim drRec_1 As ADODB.Recordset
Dim drRec_2 As ADODB.Recordset
Dim drSQL As String
GetInitData = True
m_giNum = -2002.1994
m_giCash = -2002.1994
drSQL = "select * from T_SFC Where BHBH='" & m_CLBH & "'"
drSQL = drSQL & " AND Month(YFYF)=" & m_Month & " AND Year(YFYF)=" & m_Year
Set drRec_1 = AppCN.Execute(drSQL)
If drRec_1.EOF Then
drSQL = "select * from T_SFC_QC Where BHBH='" & m_CLBH & "'"
drSQL = drSQL & " AND Month(YFYF)=" & m_Month & " AND Year(YFYF)=" & m_Year
Set drRec_2 = AppCN.Execute(drSQL)
If drRec_2.EOF Then
MsgBox "没有盘点,没有期初期末数据!"
GetInitData = False
Else
m_giNum = drRec_2.Fields("QCSL").Value
m_giCash = drRec_2.Fields("QCJE").Value
End If
drRec_2.Close: Set drRec_2 = Nothing
Else
m_giNum = drRec_1.Fields("QCSL").Value
m_giCash = drRec_1.Fields("QCJE").Value
End If
drRec_1.Close: Set drRec_1 = Nothing
End Function
Private Sub Form_Unload(Cancel As Integer)
m_CLBH = ""
m_Month = 0
m_Year = 0
End Sub
Private Sub DoRemain(m_drNum As Single, m_drCash As Double)
Dim rd_theSL As Single
Dim rd_theJE As Double
Dim rd_RKJE As Double, rd_CKJE As Double
rd_theSL = m_drNum
rd_theJE = m_drCash
For I = 1 To Me.LstView.ListItems.Count
rd_theSL = rd_theSL + Val(LstView.ListItems(I).SubItems(4)) - Val(LstView.ListItems(I).SubItems(7))
LstView.ListItems(I).SubItems(10) = rd_theSL
If rd_theSL <> 0 Then
rd_RKJE = Val(Format(LstView.ListItems(I).SubItems(6), "###0.00"))
rd_CKJE = Val(Format(LstView.ListItems(I).SubItems(9), "###0.00"))
rd_theJE = rd_theJE + rd_RKJE - rd_CKJE
Else
rd_theJE = 0
End If
LstView.ListItems(I).SubItems(11) = Format(rd_theJE, "##,##0.00")
Next
End Sub
7.1编码摘要
材料收发存分类汇总的部分代码:
sql语句:
SELECT [K_llll_D].[CLBH] AS CLBH, [K_llll_M].[KDRQ] AS KDRQ, [K_llll_M].[CBXM] AS CBXM, [K_llll_M].[DHDH], [K_llll_D].[SLSL] AS SLSL, [k_LLLL_D].[JEJE] AS JEJE
FROM K_llll_M INNER JOIN K_llll_D ON [K_llll_M].[DHDH]=[K_llll_D].[DHDH]
WHERE [K_llll_M].[status]=1;
SELECT [K_clrk_D].[CLBH] AS CLBH, [K_clrk_M].[KDRQ] AS KDRQ, [K_clrk_M].[DHDH] AS DHDH, [K_clrk_D].[SLSL] AS SLSL, [SLSL]*[K_clrk_D].[DJDJ] AS JEJE
FROM K_clrk_M INNER JOIN K_clrk_D ON [K_clrk_M].[DHDH]=[K_clrk_D].[DHDH]
WHERE [K_clrk_m].[STATUS]=1;
SELECT A.CLBH, Sum(A.SLSL) AS ZSL, Sum(A.JEJE) AS ZJE, year([KDRQ]) & "-" & Month([KDRQ]) & "-" & "1" AS MON
FROM SFC_rk AS A
GROUP BY A.CLBH, year([KDRQ]) & "-" & Month([KDRQ]) & "-" & "1";
SELECT A.CLBH, Sum(IIf(ISNULL(A.SLSL),0,A.SLSL)) AS ZSL, Sum(IIf(ISNULL(A.JEJE),0,A.JEJE)) AS ZJE, year([KDRQ]) & "-" & Month([KDRQ]) & "-" & "1" AS MON
FROM SFC_ck AS A
GROUP BY A.CLBH, year([KDRQ]) & "-" & Month([KDRQ]) & "-" & "1";
SELECT A.BHBH AS BHBH, A.YFYF AS YFYF, IIf(ISNULL(A.QCSL),0,A.QCSL) AS QCSL, IIf(ISNULL(B.ZSL),0,B.ZSL) AS SRSL, [QCSL]+SRSL AS MISL, IIf(ISNULL(A.QCJE),0,A.QCJE) AS QCJE, IIf(ISNULL(B.ZJE),0,B.ZJE) AS SRJE, [QCJE]+SRJE AS MIJE
FROM T_SFC_QC AS A LEFT JOIN SFC_RK_GP AS B ON (A.YFYF=CDATE(B.MON)) AND (A.BHBH=B.CLBH)
ORDER BY [bhbh];
SELECT A.BHBH, A.YFYF, A.QCSL, A.SRSL, A.MISL-IIF(ISNULL(B.ZSL),0,B.ZSL) AS QMSL, A.QCJE, A.SRJE, A.MIJE-IIF(ISNULL(B.ZJE),0,B.ZJE) AS QMJE, IIF(ISNULL(B.ZSL),0,B.ZSL) AS FCSL, IIF(ISNULL(B.ZJE),0,B.ZJE) AS FCJE
FROM SFC_AAA AS A LEFT JOIN SFC_CK_GP AS B ON (A.YFYF=CDATE(B.MON)) AND (A.BHBH=B.CLBH)
ORDER BY [bhbh];
SELECT A.BHBH, B.PMPM AS PMPM, B.GGGG AS GGGG, A.YFYF, A.QCSL, A.SRSL, A.FCSL, A.QMSL, A.QCJE, A.SRJE, A.FCJE, A.QMJE, B.FLAA, B.FLBB, B.FLCC
FROM SFC_BBB AS A LEFT JOIN J_clcl AS B ON A.BHBH=B.BHBH
ORDER BY A.BHBH;
SELECT SFC_CCC.*, IIf(ISNULL([O_Dzfy].[ZWZW]),"空",[O_Dzfy].[ZWZW]) AS ZWBB
FROM SFC_CCC LEFT JOIN O_Dzfy ON [O_Dzfy].[FHFH]=[SFC_CCC].[FLBB];
SELECT SFC_ZW_B.*, IIf(isnull([O_Dzfy].[ZWZW]),"空",[O_Dzfy].[ZWZW]) AS ZWCC
FROM SFC_ZW_B LEFT JOIN O_Dzfy ON [SFC_ZW_B].[FLCC]=[O_Dzfy].[FHFH];
SELECT A.FLBB AS FLBB, A.ZWBB AS ZWBB, A.ZWCC AS ZWCC, A.YFYF AS YFYF, Sum(A.QCSL) AS QCZSL, Sum(A.SRSL) AS SRZSL, Sum(A.FCSL) AS FCZSL, Sum(A.QMSL) AS QMZSL, Sum(A.QCJE) AS QCZJE, Sum(A.SRJE) AS SRZJE, Sum(A.FCJE) AS FCZJE, Sum(A.QMJE) AS QMZJE
FROM SFC_ZW_C AS A
GROUP BY A.FLBB, A.ZWBB, A.YFYF, A.ZWCC;
全月一次加权平均计算单价的部分代码:
sql 语句:
SELECT A.CLBH, SUM(A.SLSL) AS RKSL, SUM(A.JEJE) AS RKJE
FROM AVER_MTH_RK1 AS A
WHERE NOT (ISNULL(A.YFYF))
GROUP BY [CLBH];
SELECT A.CLBH, [SLSL], [JEJE], [YFYF]
FROM AVER_MTH_RK AS A LEFT JOIN T_SFC_QC AS B ON (A.CLBH=B.BHBH) AND (A.KDRQ>=B.YFYF);
SELECT A.DHDH, A.KDRQ, B.CLBH, B.SLSL, B.SLSL*B.DJDJ AS JEJE
FROM K_clrk_M AS A INNER JOIN K_clrk_D AS B ON A.DHDH=B.DHDH
WHERE STATUS=1;
SELECT A.CLBH, B.YFYF, IIf(A.RKSL=0,IIf(ISNULL([QCSL]),0,[QCJE]/[QCSL]),(B.QCJE+A.RKJE)/(B.QCSL+A.RKSL)) AS DJDJ
FROM AVER_MTH_RK2 AS A LEFT JOIN T_SFC_QC AS B ON A.CLBH=B.BHBH;
功能函数
Public Sub Do_Aver_DJ()
Dim da_Rec As ADODB.Recordset
Dim da_SQL As String
Set da_Rec = AppCN.Execute("select * from AVER_DJ")
AppCN.BeginTrans
Do While Not da_Rec.EOF
da_SQL = "update J_clcl set DJDJ =" & da_Rec.Fields("DJDJ") & " where BHBH= '" & da_Rec.Fields("CLBH") & "'"
AppCN.Execute (da_SQL)
da_SQL = "update K_LLLL_D set JEJE =" & da_Rec.Fields("DJDJ") & " * k_LLLL_D.SLSL where K_LLLL_D.CLBH='" & _
da_Rec.Fields("CLBH") & "' and K_LLLL_D.DHDH IN (SELECT DHDH FROM AVER_mth_LL2)"
AppCN.Execute (da_SQL)
da_Rec.MoveNext
Loop
AppCN.CommitTrans
End Sub
收发存明细C
追踪某中材料某月的进出库情况,并显示出是那一帐单据进行操作,如果是领料则在摘要中写明成本项目。计算出每次操作之后的结存数量及金额。
Private Sub CmdMe_Click(Index As Integer)
If Index = 0 Then
Call PrintLstv(Me.LstView, LoadResString(804), "材料[" & m_CLBH & "] 收发存明细A", 1, 1)
Else
Unload Me
End If
End Sub
Private Sub DoGroupCube(SlCol As String, JeCol As String)
Dim arrSlCol() As String
Dim arrJeCol() As String
Dim k As Integer
Dim total As Double
Call ON_GetArray(SlCol, arrSlCol)
Call ON_GetArray(JeCol, arrJeCol)
LstView.ListItems.Add , , ""
LstView.ListItems(LstView.ListItems.Count).SubItems(1) = "总计"
For k = 0 To UBound(arrSlCol)
total = 0
For J = 1 To LstView.ListItems.Count
total = total + Val(LstView.ListItems(J).SubItems(Val(arrSlCol(k))))
Next
LstView.ListItems(LstView.ListItems.Count).SubItems(Val(arrSlCol(k))) = total
Next
For k = 0 To UBound(arrJeCol)
total = 0
For J = 1 To LstView.ListItems.Count
total = total + Val(LstView.ListItems(J).SubItems(Val(arrJeCol(k))))
Next
LstView.ListItems(LstView.ListItems.Count).SubItems(Val(arrJeCol(k))) = Format(total, "###0.00")
Next
End Sub
Private Sub Form_Load()
Dim fl_Num As Single
Dim fl_Cash As Double
Me.Icon = LoadResPicture(101, vbResIcon)
Me.Move (Screen.Width - Me.Width) / 2, (Screen.Height - Me.Height) / 4
Me.Caption = "查看[" & m_CLBH & "] 的明细情况"
Call DoStyle
If GetInitData(fl_Num, fl_Cash) = True Then
Call DoShow(fl_Num, fl_Cash)
' Call DoRemain(fl_Num, fl_Cash)
End If
End Sub
Private Sub DoShow(m_drNum As Single, m_drCash As Double)
Dim dsRec As ADODB.Recordset
Dim dsSQL As String
Dim I As Integer
Dim itmX
Dim rd_theSL As Single
Dim rd_theJE As Double
Dim rd_RKJE As Double, rd_CKJE As Double
rd_theSL = m_drNum
rd_theJE = m_drCash
dsSQL = "select * from SFC_MXA3 where CLBH='" & m_CLBH & "'"
Set dsRec = AppCN.Execute(dsSQL & " AND Month(KDRQ)=" & m_Month & " AND Year(KDRQ)=" & m_Year)
If dsRec.EOF Then
' MsgBox "无效的材料编号!"
Exit Sub
End If
I = 1
Set itmX = LstView.ListItems.Add(, , A & I)
itmX.SubItems(1) = dsRec.Fields("KDRQ").Value
itmX.SubItems(3) = "期初数量"
itmX.SubItems(10) = rd_theSL
itmX.SubItems(11) = Format(m_drCash, "##,##0.00")
Do While Not dsRec.EOF
I = I + 1
Set itmX = LstView.ListItems.Add(, , A & I)
rd_RKJE = IIf(dsRec.Fields("RKJE").Value = "", 0, dsRec.Fields("RKJE").Value)
rd_CKJE = IIf(dsRec.Fields("CKJE").Value = "", 0, dsRec.Fields("CKJE").Value)
rd_theSL = rd_theSL + Val(dsRec.Fields("RKSL")) - Val(dsRec.Fields("CKSL"))
m_drCash = m_drCash + rd_RKJE - rd_CKJE
itmX.SubItems(1) = dsRec.Fields("KDRQ").Value
itmX.SubItems(2) = dsRec.Fields("DHDH").Value
itmX.SubItems(3) = dsRec.Fields("CBXM").Value
itmX.SubItems(4) = dsRec.Fields("RKSL").Value
itmX.SubItems(5) = IIf(dsRec.Fields("RKDJ").Value = "", "", Format(dsRec.Fields("RKDJ").Value, "##,##0.00"))
itmX.SubItems(6) = IIf(dsRec.Fields("RKJE").Value = "", "", Format(dsRec.Fields("RKJE").Value, "##,##0.00")) '
itmX.SubItems(7) = dsRec.Fields("CKSL").Value
itmX.SubItems(8) = IIf(dsRec.Fields("CKDJ").Value = "", "", Format(dsRec.Fields("CKDJ").Value, "##,##0.00"))
itmX.SubItems(9) = IIf(dsRec.Fields("CKJE").Value = "", "", Format(dsRec.Fields("CKJE").Value, "##,##0.00")) '
itmX.SubItems(10) = rd_theSL
itmX.SubItems(11) = Format(m_drCash, "##,##0.00")
dsRec.MoveNext
Loop
End Sub
Private Sub DoStyle()
Dim intWid As Integer
intWid = 1200
LstView.ColumnHeaders.Add , , "序号", 600
LstView.ColumnHeaders.Add , , "日期", 1000, lvwColumnRight
LstView.ColumnHeaders.Add , , "凭证编号", intWid, lvwColumnRight
LstView.ColumnHeaders.Add , , "摘要", intWid, lvwColumnRight
LstView.ColumnHeaders.Add , , "收入数量", intWid, lvwColumnRight
LstView.ColumnHeaders.Add , , "收入单价", intWid, lvwColumnRight
LstView.ColumnHeaders.Add , , "收入金额", intWid, lvwColumnRight
LstView.ColumnHeaders.Add , , "发出数量", intWid, lvwColumnRight
LstView.ColumnHeaders.Add , , "发出单价", intWid, lvwColumnRight
LstView.ColumnHeaders.Add , , "发出金额", intWid, lvwColumnRight
LstView.ColumnHeaders.Add , , "结存数量", intWid, lvwColumnRight
LstView.ColumnHeaders.Add , , "结存金额", intWid, lvwColumnRight
End Sub
Private Sub Form_Resize()
On Error Resume Next
LstView.Move 0, 100 + 500 + 50, Me.ScaleWidth, Me.ScaleHeight - Me.StatusBar1.Height - 650
End Sub
Private Function GetInitData(m_giNum As Single, m_giCash As Double) As Boolean
Dim drRec_1 As ADODB.Recordset
Dim drRec_2 As ADODB.Recordset
Dim drSQL As String
GetInitData = True
m_giNum = -2002.1994
m_giCash = -2002.1994
drSQL = "select * from T_SFC Where BHBH='" & m_CLBH & "'"
drSQL = drSQL & " AND Month(YFYF)=" & m_Month & " AND Year(YFYF)=" & m_Year
Set drRec_1 = AppCN.Execute(drSQL)
If drRec_1.EOF Then
drSQL = "select * from T_SFC_QC Where BHBH='" & m_CLBH & "'"
drSQL = drSQL & " AND Month(YFYF)=" & m_Month & " AND Year(YFYF)=" & m_Year
Set drRec_2 = AppCN.Execute(drSQL)
If drRec_2.EOF Then
MsgBox "没有盘点,没有期初期末数据!"
GetInitData = False
Else
m_giNum = drRec_2.Fields("QCSL").Value
m_giCash = drRec_2.Fields("QCJE").Value
End If
drRec_2.Close: Set drRec_2 = Nothing
Else
m_giNum = drRec_1.Fields("QCSL").Value
m_giCash = drRec_1.Fields("QCJE").Value
End If
drRec_1.Close: Set drRec_1 = Nothing
End Function
Private Sub Form_Unload(Cancel As Integer)
m_CLBH = ""
m_Month = 0
m_Year = 0
End Sub
Private Sub DoRemain(m_drNum As Single, m_drCash As Double)
Dim rd_theSL As Single
Dim rd_theJE As Double
Dim rd_RKJE As Double, rd_CKJE As Double
rd_theSL = m_drNum
rd_theJE = m_drCash
For I = 1 To Me.LstView.ListItems.Count
rd_theSL = rd_theSL + Val(LstView.ListItems(I).SubItems(4)) - Val(LstView.ListItems(I).SubItems(7))
LstView.ListItems(I).SubItems(10) = rd_theSL
If rd_theSL <> 0 Then
rd_RKJE = Val(Format(LstView.ListItems(I).SubItems(6), "###0.00"))
rd_CKJE = Val(Format(LstView.ListItems(I).SubItems(9), "###0.00"))
rd_theJE = rd_theJE + rd_RKJE - rd_CKJE
Else
rd_theJE = 0
End If
LstView.ListItems(I).SubItems(11) = Format(rd_theJE, "##,##0.00")
Next
End Sub