📄 包装物管理系统_帐簿统计_包装物总帐查询结果.frm
字号:
Select Case Button.Key
Case "ymsz" '页面设置
Dyymctbl.Show 1
Case "yl" '预 览
Call bbyl(True)
Case "dy" '打 印
Call bbyl(False)
Case "cx" '查 询
Cask_LedgerQuery.Show 1
Case "first" '首 张
Call Sub_First
Case "prev" '上 张
Call Sub_Prev
Case "next" '下 张
Call Sub_Next
Case "last" '末 张
Call Sub_Last
Case "bz" '帮 助
Call F1bz
Case "fh" '退 出
Unload Me
End Select
End Sub
Private Sub Timer1_Timer() '在窗体激活后调入查询程序
Timer1.Enabled = False
Xt_Wait.Show
Xt_Wait.Refresh
'加快显示速度
CxbbGrid.Redraw = False
'生成查询结果
Call Sub_Query(0)
CxbbGrid.Redraw = True
Xt_Wait.Hide
End Sub
Private Sub Sub_Query(Int_QueryType As Integer) '生成查询结果(Define)
'过程参数:Int_QueryType 0-"点确定按钮"查询 1-"刷新"查询
Dim Rec_Query As New ADODB.Recordset '查询结果动态集
Dim Coljsq As Long '网格列计数器
Dim Jsqte As Long '临时动态计数器
'以下为自定义部分[
If Int_QueryType = 0 Then '0-"点确定按钮"查询
With Cask_LedgerQuery
'生成查询条件
Str_QueryCondi = " 1=1 "
For Jsqte = 0 To 7
Select Case Jsqte
Case 1 '包装物
If Trim(.LrText(0).Text) <> "" Then
Str_QueryCondi = Str_QueryCondi & " and WrappageCode = '" & Trim(.LrText(0).Tag) & "'"
End If
Case 2 '仓库
If Trim(.LrText(1).Text) <> "" Then
Str_QueryCondi = Str_QueryCondi & " And WhCode='" & Trim(.LrText(1).Tag) & "'"
End If
Case 6 '状态
If Trim(.LrText(2).Text) <> "" Then
Str_QueryCondi = Str_QueryCondi & " and StatusName= '" & Trim(.LrText(2).Text) & "'"
End If
End Select
Next Jsqte
End With
Else
'1-"刷新"查询
If Str_QueryCondi = "" Then
Str_QueryCondi = " where 1=2 "
End If
End If
Label8.Caption = Trim(Cask_LedgerQuery.KjyearCombo.Text) '会计期间
Sqlstr = "SELECT DISTINCT WrappageCode,WrappageName,UnitName From Cask_V_Ledger where " & Str_QueryCondi & " Order By WrappageCode"
Set RecStr_Query = Cw_DataEnvi.DataConnect.Execute(Sqlstr)
If RecStr_Query.EOF Then
If Trim(Cask_LedgerQuery.LrText(0).Text) <> "" Then
Sqlstr = "SELECT Cask_Wrappage.*,Cask_Sort.SortName,Gy_UnitSet.UnitName " & _
"FROM Cask_Wrappage LEFT OUTER JOIN Cask_Sort ON Cask_Wrappage.SortCode =" & _
"Cask_Sort.SortCode LEFT OUTER JOIN Gy_UnitSet ON Cask_Wrappage.UnitCode =" & _
"Gy_UnitSet.UnitCode where WrappageCode = '" & Trim(Cask_LedgerQuery.LrText(0).Tag) & "'"
Set RecStr_Query = Cw_DataEnvi.DataConnect.Execute(Sqlstr)
Label2.Caption = Trim(RecStr_Query!WrappageCode & "") '包装物编码
Label4.Caption = Trim(RecStr_Query!WrappageName & "") '包装物名称
Label6.Caption = Trim(RecStr_Query!UnitName & "") '计量单位
Else
Label2.Caption = "" '包装物编码
Label4.Caption = "" '包装物名称
Label6.Caption = "" '计量单位
End If
CxbbGrid.Rows = CxbbGrid.FixedRows
Exit Sub
End If
Call ShowValue
End Sub
Private Sub ShowValue()
Dim SqlStrTemp1 As String
Dim SqlStrTemp2 As String
Dim TempS As String
Dim TempRecordset As ADODB.Recordset
Dim SumQuan(5) As Double
Dim GridID(3) As Long
SqlStrTemp1 = """'" + Trim(RecStr_Query!WrappageCode) + "' and " + Str_QueryCondi + " and KJYear= " + Trim(Str((Trim(Cask_LedgerQuery.KjyearCombo.Text)))) + """"
SqlStrTemp2 = "'" + Trim(Str(Val(Cask_LedgerQuery.KjyearCombo.Text) - 1)) + "-12-01'"
Sqlstr = "Cask_SP_Ledger " & SqlStrTemp1 & "," & SqlStrTemp2 & ","" '" + Trim(RecStr_Query!WrappageCode) + "' and " + Str_QueryCondi + """"
Set Rec_Query = Cw_DataEnvi.DataConnect.Execute(Sqlstr)
Label2.Caption = Trim(RecStr_Query!WrappageCode & "") '包装物编码
Label4.Caption = Trim(RecStr_Query!WrappageName & "") '包装物名称
Label6.Caption = Trim(RecStr_Query!UnitName & "") '计量单位
With Rec_Query
CxbbGrid.Rows = CxbbGrid.FixedRows
Jsqte = CxbbGrid.FixedRows
Do While Not .EOF
CxbbGrid.AddItem ""
'[>>自定义填充内容
If !Period = 0 Then
CxbbGrid.TextMatrix(Jsqte, Sydz("001", GridStr(), Szzls)) = "期初" '会计期间
Else
CxbbGrid.TextMatrix(Jsqte, Sydz("001", GridStr(), Szzls)) = Trim(!Period) & "" '会计期间
End If
CxbbGrid.TextMatrix(Jsqte, Sydz("002", GridStr(), Szzls)) = Trim(!WhName & "") '仓库
CxbbGrid.TextMatrix(Jsqte, Sydz("003", GridStr(), Szzls)) = IIf(Val(!StartQuan & "") = 0, "", !StartQuan) '入库数量
CxbbGrid.TextMatrix(Jsqte, Sydz("004", GridStr(), Szzls)) = IIf(Val(!AmountIn & "") = 0, "", !AmountIn) '出库数量
CxbbGrid.TextMatrix(Jsqte, Sydz("005", GridStr(), Szzls)) = IIf(Val(!AmountOut & "") = 0, "", !AmountOut) '期初数量
CxbbGrid.TextMatrix(Jsqte, Sydz("006", GridStr(), Szzls)) = IIf(Val(!StartQuan + !AmountIn - !AmountOut & "") = 0, "", !StartQuan + !AmountIn - !AmountOut)
'<<]
'设置数据行高度(Fixed)
CxbbGrid.RowHeight(Jsqte) = Sjhgd
'动态集指针加1,同时将计数器加1(Fixed)
.MoveNext
Jsqte = Jsqte + 1
Loop
End With
CxbbGrid.Subtotal flexSTSum, -1, Sydz("003", GridStr(), Szzls), , , , , " "
CxbbGrid.Subtotal flexSTSum, -1, Sydz("004", GridStr(), Szzls), , , , , " "
CxbbGrid.Subtotal flexSTSum, -1, Sydz("005", GridStr(), Szzls), , , , , " "
CxbbGrid.Subtotal flexSTSum, -1, Sydz("006", GridStr(), Szzls), , , , , " "
CxbbGrid.TextMatrix(Jsqte, Sydz("001", GridStr(), Szzls)) = "合计"
CxbbGrid.RowHeight(Jsqte) = Sjhgd
CxbbGrid.TextMatrix(CxbbGrid.Rows - 1, Sydz("003", GridStr(), Szzls)) = IIf(Val(CxbbGrid.ValueMatrix(CxbbGrid.Rows - 1, Sydz("003", GridStr(), Szzls))) = 0, "", CxbbGrid.TextMatrix(CxbbGrid.Rows - 1, Sydz("003", GridStr(), Szzls)))
CxbbGrid.TextMatrix(CxbbGrid.Rows - 1, Sydz("004", GridStr(), Szzls)) = IIf(Val(CxbbGrid.ValueMatrix(CxbbGrid.Rows - 1, Sydz("004", GridStr(), Szzls))) = 0, "", CxbbGrid.TextMatrix(CxbbGrid.Rows - 1, Sydz("004", GridStr(), Szzls)))
CxbbGrid.TextMatrix(CxbbGrid.Rows - 1, Sydz("005", GridStr(), Szzls)) = IIf(Val(CxbbGrid.ValueMatrix(CxbbGrid.Rows - 1, Sydz("005", GridStr(), Szzls))) = 0, "", CxbbGrid.TextMatrix(CxbbGrid.Rows - 1, Sydz("005", GridStr(), Szzls)))
CxbbGrid.TextMatrix(CxbbGrid.Rows - 1, Sydz("006", GridStr(), Szzls)) = IIf(Val(CxbbGrid.ValueMatrix(CxbbGrid.Rows - 1, Sydz("006", GridStr(), Szzls))) = 0, "", CxbbGrid.TextMatrix(CxbbGrid.Rows - 1, Sydz("006", GridStr(), Szzls)))
']以上为用户自定义部分
End Sub
'选择首张,上张,下张,末张(此4个过程只需用您的单据ID字段名替换"BillNum"即可)
Private Sub Sub_First() '首 张
With RecStr_Query
If .RecordCount = 0 Then
Exit Sub
End If
.MoveFirst
Call ShowValue
End With
End Sub
Private Sub Sub_Prev() '上 张
With RecStr_Query
If .RecordCount = 0 Then
Exit Sub
End If
.MovePrevious
If Not .BOF Then
Else
.MoveNext
End If
Call ShowValue
End With
End Sub
Private Sub Sub_Next() '下 张
With RecStr_Query
If .RecordCount = 0 Then
Exit Sub
End If
.MoveNext
If Not .EOF Then
Else
.MovePrevious
End If
Call ShowValue
End With
End Sub
Private Sub Sub_Last() '末 张
With RecStr_Query
If .RecordCount = 0 Then
Exit Sub
End If
.MoveLast
Call ShowValue
End With
End Sub
Private Sub bbyl(bbylte As Boolean) '报表打印预览
Dim Bbzbt$, Bbxbt() As String, bbxbtzzxs() As Integer, Bbxbtgs As Integer
Dim Bbbwh() As String, Bbbwhzzxs() As Integer, Bbbwhgs As Integer
Bbxbtgs = 2 '报 表 小 标 题 行 数
Bbbwhgs = 0 '报 表 表 尾 行 数
ReDim Bbxbt(1 To Bbxbtgs)
ReDim bbxbtzzxs(1 To Bbxbtgs)
If Bbbwhgs <> 0 Then
ReDim Bbbwh(1 To Bbbwhgs)
ReDim Bbbwhzzxs(1 To Bbbwhgs)
End If
Bbzbt = ReportTitle
Bbxbt(2) = Space(5) + Trim(Label1.Caption) + Fun_FormatOutPut(Trim(Label2), 20)
Bbxbt(2) = Bbxbt(2) + Trim(Label3.Caption) + Fun_FormatOutPut(Trim(Label4), 30)
Bbxbt(2) = Bbxbt(2) + Trim(Label5.Caption) + Fun_FormatOutPut(Trim(Label6), 20)
Bbxbt(2) = Bbxbt(2) + Trim(Label7.Caption) + Fun_FormatOutPut(Trim(Label8), 10)
bbxbtzzxs(1) = 0 '报表行组织形式(0-居左 1-居中 2-居右)
Call Scyxsjb(CxbbGrid) '生成报表数据
Call Scdybb(Dyymctbl, Bbzbt, Bbxbt(), bbxbtzzxs(), Bbxbtgs, Bbbwh(), Bbbwhzzxs(), Bbbwhgs, bbylte)
If Not bbylte Then
Unload DY_Tybbyldy
End If
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -