上传用户:zhpu1995
上传日期:2013-09-06
资源大小:61151k
文件大小:43k
源码类别:

企业管理

开发平台:

Visual Basic

  1. VERSION 5.00
  2. Object = "{C5DE3F80-3376-11D2-BAA4-04F205C10000}#1.0#0"; "Vsflex6d.ocx"
  3. Object = "{831FDD16-0C5C-11D2-A9FC-0000F8754DA1}#2.0#0"; "MSCOMCTL.OCX"
  4. Begin VB.Form Rep_DIYSalary_Frm 
  5.    Caption         =   "自定义报表"
  6.    ClientHeight    =   8595
  7.    ClientLeft      =   315
  8.    ClientTop       =   390
  9.    ClientWidth     =   11820
  10.    HelpContextID   =   5001
  11.    Icon            =   "报表_自定义报表.frx":0000
  12.    KeyPreview      =   -1  'True
  13.    LinkTopic       =   "Form1"
  14.    MDIChild        =   -1  'True
  15.    ScaleHeight     =   8595
  16.    ScaleWidth      =   11820
  17.    WindowState     =   2  'Maximized
  18.    Begin MSComctlLib.ProgressBar PB_Proc 
  19.       Height          =   330
  20.       Left            =   3795
  21.       TabIndex        =   5
  22.       Top             =   3735
  23.       Visible         =   0   'False
  24.       Width           =   4440
  25.       _ExtentX        =   7832
  26.       _ExtentY        =   582
  27.       _Version        =   393216
  28.       Appearance      =   1
  29.       Scrolling       =   1
  30.    End
  31.    Begin VB.PictureBox Pic_Title 
  32.       Height          =   825
  33.       Left            =   -75
  34.       Picture         =   "报表_自定义报表.frx":1042
  35.       ScaleHeight     =   765
  36.       ScaleWidth      =   11715
  37.       TabIndex        =   3
  38.       Top             =   600
  39.       Width           =   11775
  40.       Begin VB.Label Lab_Title 
  41.          AutoSize        =   -1  'True
  42.          BackColor       =   &H80000018&
  43.          BackStyle       =   0  'Transparent
  44.          Caption         =   "自定义报表"
  45.          BeginProperty Font 
  46.             Name            =   "宋体"
  47.             Size            =   12
  48.             Charset         =   134
  49.             Weight          =   700
  50.             Underline       =   0   'False
  51.             Italic          =   0   'False
  52.             Strikethrough   =   0   'False
  53.          EndProperty
  54.          ForeColor       =   &H00000000&
  55.          Height          =   240
  56.          Left            =   405
  57.          TabIndex        =   4
  58.          Top             =   180
  59.          Width           =   1275
  60.       End
  61.    End
  62.    Begin MSComctlLib.Toolbar GsToolbar 
  63.       Height          =   540
  64.       Left            =   10065
  65.       TabIndex        =   1
  66.       Top             =   45
  67.       Width           =   1725
  68.       _ExtentX        =   3043
  69.       _ExtentY        =   953
  70.       ButtonWidth     =   1455
  71.       ButtonHeight    =   953
  72.       Appearance      =   1
  73.       Style           =   1
  74.       ImageList       =   "ImageList1"
  75.       _Version        =   393216
  76.       BeginProperty Buttons {66833FE8-8583-11D1-B16A-00C0F0283628} 
  77.          NumButtons      =   3
  78.          BeginProperty Button1 {66833FEA-8583-11D1-B16A-00C0F0283628} 
  79.             Caption         =   "保存格式"
  80.             Key             =   "bcgs"
  81.             ImageKey        =   "bcgs"
  82.          EndProperty
  83.          BeginProperty Button2 {66833FEA-8583-11D1-B16A-00C0F0283628} 
  84.             Object.Visible         =   0   'False
  85.             Caption         =   "默认列宽"
  86.             Key             =   "hfmrgs"
  87.             ImageKey        =   "mrlk"
  88.          EndProperty
  89.          BeginProperty Button3 {66833FEA-8583-11D1-B16A-00C0F0283628} 
  90.             Caption         =   "显示项目"
  91.             Key             =   "szxsxm"
  92.             ImageKey        =   "xsxm"
  93.          EndProperty
  94.       EndProperty
  95.    End
  96.    Begin VB.Timer Timer1 
  97.       Enabled         =   0   'False
  98.       Interval        =   1
  99.       Left            =   7620
  100.       Top             =   90
  101.    End
  102.    Begin VSFlex6DAOCtl.vsFlexGrid CxbbGrid 
  103.       Height          =   7545
  104.       Left            =   60
  105.       TabIndex        =   0
  106.       Top             =   1515
  107.       Width           =   11775
  108.       _ExtentX        =   20770
  109.       _ExtentY        =   13309
  110.       _ConvInfo       =   1
  111.       Appearance      =   1
  112.       BorderStyle     =   1
  113.       Enabled         =   -1  'True
  114.       BeginProperty Font {0BE35203-8F91-11CE-9DE3-00AA004BB851} 
  115.          Name            =   "宋体"
  116.          Size            =   9
  117.          Charset         =   134
  118.          Weight          =   400
  119.          Underline       =   0   'False
  120.          Italic          =   0   'False
  121.          Strikethrough   =   0   'False
  122.       EndProperty
  123.       MousePointer    =   0
  124.       BackColor       =   16777215
  125.       ForeColor       =   -2147483640
  126.       BackColorFixed  =   13826538
  127.       ForeColorFixed  =   -2147483630
  128.       BackColorSel    =   -2147483635
  129.       ForeColorSel    =   -2147483634
  130.       BackColorBkg    =   -2147483636
  131.       BackColorAlternate=   16777215
  132.       GridColor       =   -2147483633
  133.       GridColorFixed  =   -2147483632
  134.       TreeColor       =   -2147483632
  135.       FloodColor      =   192
  136.       SheetBorder     =   -2147483642
  137.       FocusRect       =   1
  138.       HighLight       =   1
  139.       AllowSelection  =   -1  'True
  140.       AllowBigSelection=   -1  'True
  141.       AllowUserResizing=   0
  142.       SelectionMode   =   0
  143.       GridLines       =   1
  144.       GridLinesFixed  =   2
  145.       GridLineWidth   =   1
  146.       Rows            =   50
  147.       Cols            =   10
  148.       FixedRows       =   1
  149.       FixedCols       =   1
  150.       RowHeightMin    =   0
  151.       RowHeightMax    =   0
  152.       ColWidthMin     =   0
  153.       ColWidthMax     =   0
  154.       ExtendLastCol   =   0   'False
  155.       FormatString    =   ""
  156.       ScrollTrack     =   0   'False
  157.       ScrollBars      =   3
  158.       ScrollTips      =   0   'False
  159.       MergeCells      =   0
  160.       MergeCompare    =   0
  161.       AutoResize      =   -1  'True
  162.       AutoSizeMode    =   0
  163.       AutoSearch      =   0
  164.       MultiTotals     =   -1  'True
  165.       SubtotalPosition=   1
  166.       OutlineBar      =   0
  167.       OutlineCol      =   0
  168.       Ellipsis        =   0
  169.       ExplorerBar     =   0
  170.       PicturesOver    =   0   'False
  171.       FillStyle       =   0
  172.       RightToLeft     =   0   'False
  173.       PictureType     =   0
  174.       TabBehavior     =   0
  175.       OwnerDraw       =   0
  176.       Editable        =   0   'False
  177.       ShowComboButton =   -1  'True
  178.       WordWrap        =   0   'False
  179.       TextStyle       =   0
  180.       TextStyleFixed  =   0
  181.       OleDragMode     =   0
  182.       OleDropMode     =   0
  183.       DataMode        =   0
  184.       VirtualData     =   -1  'True
  185.    End
  186.    Begin MSComctlLib.Toolbar SzToolbar 
  187.       Align           =   1  'Align Top
  188.       Height          =   570
  189.       Left            =   0
  190.       TabIndex        =   2
  191.       Top             =   0
  192.       Width           =   11820
  193.       _ExtentX        =   20849
  194.       _ExtentY        =   1005
  195.       ButtonWidth     =   820
  196.       ButtonHeight    =   953
  197.       AllowCustomize  =   0   'False
  198.       Appearance      =   1
  199.       Style           =   1
  200.       ImageList       =   "ImageList1"
  201.       _Version        =   393216
  202.       BeginProperty Buttons {66833FE8-8583-11D1-B16A-00C0F0283628} 
  203.          NumButtons      =   13
  204.          BeginProperty Button1 {66833FEA-8583-11D1-B16A-00C0F0283628} 
  205.             Caption         =   "设置"
  206.             Key             =   "ymsz"
  207.             Object.ToolTipText     =   "设置打印参数"
  208.             ImageKey        =   "sz"
  209.          EndProperty
  210.          BeginProperty Button2 {66833FEA-8583-11D1-B16A-00C0F0283628} 
  211.             Caption         =   "打印"
  212.             Key             =   "dy"
  213.             Object.ToolTipText     =   "打印当前数据"
  214.             ImageKey        =   "dy"
  215.          EndProperty
  216.          BeginProperty Button3 {66833FEA-8583-11D1-B16A-00C0F0283628} 
  217.             Caption         =   "预览"
  218.             Key             =   "yl"
  219.             Object.ToolTipText     =   "显示当前数据的打印模式"
  220.             ImageKey        =   "yl"
  221.          EndProperty
  222.          BeginProperty Button4 {66833FEA-8583-11D1-B16A-00C0F0283628} 
  223.             Style           =   3
  224.          EndProperty
  225.          BeginProperty Button5 {66833FEA-8583-11D1-B16A-00C0F0283628} 
  226.             Caption         =   "查询"
  227.             Key             =   "cx"
  228.             Object.ToolTipText     =   "以某种条件取得数据"
  229.             ImageKey        =   "cx"
  230.          EndProperty
  231.          BeginProperty Button6 {66833FEA-8583-11D1-B16A-00C0F0283628} 
  232.             Caption         =   "定位"
  233.             Key             =   "Locate"
  234.             ImageKey        =   "Locate"
  235.          EndProperty
  236.          BeginProperty Button7 {66833FEA-8583-11D1-B16A-00C0F0283628} 
  237.             Caption         =   "刷新"
  238.             Key             =   "Refresh"
  239.             Object.ToolTipText     =   "以当前条件重新取得数据"
  240.             ImageKey        =   "sx"
  241.          EndProperty
  242.          BeginProperty Button8 {66833FEA-8583-11D1-B16A-00C0F0283628} 
  243.             Style           =   3
  244.          EndProperty
  245.          BeginProperty Button9 {66833FEA-8583-11D1-B16A-00C0F0283628} 
  246.             Caption         =   "明细"
  247.             Key             =   "Detail"
  248.             Object.ToolTipText     =   "显示每个人员的信息"
  249.             ImageKey        =   "Detail"
  250.             Style           =   1
  251.             Value           =   1
  252.          EndProperty
  253.          BeginProperty Button10 {66833FEA-8583-11D1-B16A-00C0F0283628} 
  254.             Caption         =   "合计"
  255.             Key             =   "Total"
  256.             Object.ToolTipText     =   "显示合计信息"
  257.             ImageKey        =   "Total"
  258.             Style           =   1
  259.             Value           =   1
  260.          EndProperty
  261.          BeginProperty Button11 {66833FEA-8583-11D1-B16A-00C0F0283628} 
  262.             Style           =   3
  263.          EndProperty
  264.          BeginProperty Button12 {66833FEA-8583-11D1-B16A-00C0F0283628} 
  265.             Caption         =   "帮助"
  266.             Key             =   "bz"
  267.             Object.ToolTipText     =   "显示帮助信息"
  268.             ImageKey        =   "bz"
  269.          EndProperty
  270.          BeginProperty Button13 {66833FEA-8583-11D1-B16A-00C0F0283628} 
  271.             Caption         =   "退出"
  272.             Key             =   "fh"
  273.             Object.ToolTipText     =   "退出本报表"
  274.             ImageKey        =   "tc"
  275.          EndProperty
  276.       EndProperty
  277.       BorderStyle     =   1
  278.       Begin MSComctlLib.ImageList ImageList1 
  279.          Left            =   5280
  280.          Top             =   0
  281.          _ExtentX        =   1005
  282.          _ExtentY        =   1005
  283.          BackColor       =   -2147483643
  284.          ImageWidth      =   16
  285.          ImageHeight     =   16
  286.          MaskColor       =   12632256
  287.          _Version        =   393216
  288.          BeginProperty Images {2C247F25-8591-11D1-B16A-00C0F0283628} 
  289.             NumListImages   =   35
  290.             BeginProperty ListImage1 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  291.                Picture         =   "报表_自定义报表.frx":35106
  292.                Key             =   "sz"
  293.             EndProperty
  294.             BeginProperty ListImage2 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  295.                Picture         =   "报表_自定义报表.frx":354A0
  296.                Key             =   "dy"
  297.             EndProperty
  298.             BeginProperty ListImage3 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  299.                Picture         =   "报表_自定义报表.frx":3583A
  300.                Key             =   "yl"
  301.             EndProperty
  302.             BeginProperty ListImage4 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  303.                Picture         =   "报表_自定义报表.frx":35BD4
  304.                Key             =   "xg"
  305.             EndProperty
  306.             BeginProperty ListImage5 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  307.                Picture         =   "报表_自定义报表.frx":35F6E
  308.                Key             =   "zh"
  309.             EndProperty
  310.             BeginProperty ListImage6 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  311.                Picture         =   "报表_自定义报表.frx":36308
  312.                Key             =   "sh"
  313.             EndProperty
  314.             BeginProperty ListImage7 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  315.                Picture         =   "报表_自定义报表.frx":366A2
  316.                Key             =   "bc"
  317.             EndProperty
  318.             BeginProperty ListImage8 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  319.                Picture         =   "报表_自定义报表.frx":36A3C
  320.                Key             =   "fq"
  321.             EndProperty
  322.             BeginProperty ListImage9 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  323.                Picture         =   "报表_自定义报表.frx":36DD6
  324.                Key             =   "bz"
  325.             EndProperty
  326.             BeginProperty ListImage10 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  327.                Picture         =   "报表_自定义报表.frx":37170
  328.                Key             =   "tc"
  329.             EndProperty
  330.             BeginProperty ListImage11 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  331.                Picture         =   "报表_自定义报表.frx":3750A
  332.                Key             =   "bcgs"
  333.             EndProperty
  334.             BeginProperty ListImage12 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  335.                Picture         =   "报表_自定义报表.frx":378A4
  336.                Key             =   "mrlk"
  337.             EndProperty
  338.             BeginProperty ListImage13 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  339.                Picture         =   "报表_自定义报表.frx":37C3E
  340.                Key             =   "xsxm"
  341.             EndProperty
  342.             BeginProperty ListImage14 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  343.                Picture         =   "报表_自定义报表.frx":37FD8
  344.                Key             =   "first"
  345.             EndProperty
  346.             BeginProperty ListImage15 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  347.                Picture         =   "报表_自定义报表.frx":38372
  348.                Key             =   "prev"
  349.             EndProperty
  350.             BeginProperty ListImage16 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  351.                Picture         =   "报表_自定义报表.frx":3870C
  352.                Key             =   "next"
  353.             EndProperty
  354.             BeginProperty ListImage17 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  355.                Picture         =   "报表_自定义报表.frx":38AA6
  356.                Key             =   "last"
  357.             EndProperty
  358.             BeginProperty ListImage18 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  359.                Picture         =   "报表_自定义报表.frx":38E40
  360.                Key             =   "xx"
  361.             EndProperty
  362.             BeginProperty ListImage19 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  363.                Picture         =   "报表_自定义报表.frx":391DA
  364.                Key             =   "define"
  365.             EndProperty
  366.             BeginProperty ListImage20 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  367.                Picture         =   "报表_自定义报表.frx":39574
  368.                Key             =   "exec"
  369.             EndProperty
  370.             BeginProperty ListImage21 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  371.                Picture         =   "报表_自定义报表.frx":3990E
  372.                Key             =   "xz"
  373.             EndProperty
  374.             BeginProperty ListImage22 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  375.                Picture         =   "报表_自定义报表.frx":39CA8
  376.                Key             =   "sc"
  377.             EndProperty
  378.             BeginProperty ListImage23 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  379.                Picture         =   "报表_自定义报表.frx":3A042
  380.                Key             =   "sx"
  381.             EndProperty
  382.             BeginProperty ListImage24 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  383.                Picture         =   "报表_自定义报表.frx":3A3DC
  384.                Key             =   "cx"
  385.             EndProperty
  386.             BeginProperty ListImage25 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  387.                Picture         =   "报表_自定义报表.frx":3A776
  388.                Key             =   "zd"
  389.             EndProperty
  390.             BeginProperty ListImage26 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  391.                Picture         =   "报表_自定义报表.frx":3AB10
  392.                Key             =   "dz"
  393.             EndProperty
  394.             BeginProperty ListImage27 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  395.                Picture         =   "报表_自定义报表.frx":3AEAA
  396.                Key             =   "ph"
  397.             EndProperty
  398.             BeginProperty ListImage28 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  399.                Picture         =   "报表_自定义报表.frx":3B244
  400.                Key             =   "fz"
  401.             EndProperty
  402.             BeginProperty ListImage29 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  403.                Picture         =   "报表_自定义报表.frx":3B5DE
  404.                Key             =   "Locate"
  405.             EndProperty
  406.             BeginProperty ListImage30 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  407.                Picture         =   "报表_自定义报表.frx":3B978
  408.                Key             =   "hf"
  409.             EndProperty
  410.             BeginProperty ListImage31 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  411.                Picture         =   "报表_自定义报表.frx":3BD12
  412.                Key             =   "pz"
  413.             EndProperty
  414.             BeginProperty ListImage32 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  415.                Picture         =   "报表_自定义报表.frx":3C0AC
  416.                Key             =   "check"
  417.             EndProperty
  418.             BeginProperty ListImage33 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  419.                Picture         =   "报表_自定义报表.frx":3C446
  420.                Key             =   "Sum"
  421.             EndProperty
  422.             BeginProperty ListImage34 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  423.                Picture         =   "报表_自定义报表.frx":3C7E0
  424.                Key             =   "Total"
  425.             EndProperty
  426.             BeginProperty ListImage35 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  427.                Picture         =   "报表_自定义报表.frx":3CB7A
  428.                Key             =   "Detail"
  429.             EndProperty
  430.          EndProperty
  431.       End
  432.    End
  433. End
  434. Attribute VB_Name = "Rep_DIYSalary_Frm"
  435. Attribute VB_GlobalNameSpace = False
  436. Attribute VB_Creatable = False
  437. Attribute VB_PredeclaredId = True
  438. Attribute VB_Exposed = False
  439. '**************************************************************************
  440. '*    模 块 名 称 :销售订单列表
  441. '*    功 能 描 述 :
  442. '*    程序员姓名  :张建忠
  443. '*    最后修改人  :张建忠
  444. '*    最后修改时间:2001/10/06
  445. '*    备        注:程序中所有依实际情况自定义部分均用[>>  <<]括起
  446. '**************************************************************************
  447. Dim ReportTitle As String                '报表主标题
  448. Public sSqlWhere As String
  449. Public sSqlFrom As String
  450. Public sPTableName As String
  451. Public sRCode As String
  452. Public sGroupField As String
  453. Public iDeptBeginLevel As Integer
  454. Public iDeptEndLevel As Integer
  455. Dim sFieldValue() As New CFieldValue
  456. Dim iSumEndCol As Integer
  457. Dim iBeginCol As Integer
  458. Dim sData() As String
  459. '以下为固定使用变量
  460. Dim Dyymctbl As New DY_Dyymsz            '打印页面窗体变量
  461. Dim GridCode As String                   '显示网格网格代码
  462. Dim GridInf() As Variant                 '整个网格设置信息
  463. Dim Tsxx As String                       '系统提示信息
  464. Dim Qslz As Long                         '网格隐藏(非操作显示)列数
  465. Dim Sjhgd As Double                      '网格数据行高度
  466. Dim Sfxshjwg As Boolean                  '是否显示合计网格
  467. Dim GridBoolean() As Boolean             '网格列信息(布尔型)
  468. Dim GridStr()  As String                 '网格列信息(字符型)
  469. Dim GridInt() As Integer                 '网格列信息(整型)
  470. Dim Szzls As Integer                     '数组总列数(网格列数-1)
  471. Private Sub CxbbGrid_AfterMoveColumn(ByVal Col As Long, Position As Long)
  472.     Dim i As Integer
  473.     With Me.CxbbGrid
  474.         ReDim sFieldValue(.Cols - 1)
  475.         For i = 0 To .Cols - 1
  476.             sFieldValue(i).FieldName = Trim(.TextMatrix(1, i))
  477.         Next i
  478.     End With
  479. End Sub
  480. Private Sub CxbbGrid_BeforeSort(ByVal Col As Long, Order As Integer)
  481.     '保存合计行以备还原
  482.     Dim i As Long
  483.     With Me.CxbbGrid
  484.         If .RowHidden(.Rows - 1) = False Then
  485.             ReDim sData(.Cols - 1)
  486.             For i = 0 To .Cols - 1
  487.                 sData(i) = .TextMatrix(.Rows - 1, i)
  488.             Next i
  489.         End If
  490.     End With
  491. End Sub
  492. Private Sub Form_Resize()                '根据窗体大小来调整网格,标题栏大小(Fixed)
  493.     On Error Resume Next
  494.     With CxbbGrid
  495.         .Width = Me.Width - 160
  496.         .Height = Me.Height - .Top - 400
  497.     End With
  498.     With Pic_Title
  499.         .Width = Me.Width - 160
  500.     End With
  501.     
  502.     GsToolbar.Left = Me.Width - GsToolbar.Width - 140
  503.     With Me.PB_Proc
  504.         .Left = (Me.Width - .Width) / 2
  505.         .Top = Me.Height / 2
  506.     End With
  507.     
  508. End Sub
  509. Private Sub Form_Load()                                                   '窗体装入
  510.     
  511.     '调入打印页面设置窗体
  512.     Dim rs As New ADODB.Recordset
  513.     Dim s As String
  514.     s = "select * from PM_ReportSort where RCode='" & Me.sRCode & "'"
  515.     Set rs = Cw_DataEnvi.DataConnect.Execute(s)
  516.     With rs
  517.         If Not .EOF() Then
  518.             ReportTitle = Trim(!RTitle & "")
  519.             XtReportCode = Trim(!RPrintParama & "")
  520.         End If
  521.     End With
  522.     Load Dyymctbl
  523.     Me.Caption = ReportTitle
  524.     Me.Lab_Title = ReportTitle
  525.     '调整标题栏及网格、格式工具条位置(Fixed)
  526.     Pic_Title.Left = 40
  527.     Pic_Title.Top = SzToolbar.Top + SzToolbar.Height - 10
  528.     CxbbGrid.Left = Pic_Title.Left
  529.     CxbbGrid.Top = Pic_Title.Top + Pic_Title.Height + 20
  530.     
  531.     '调 入 网 格(Fixed)
  532.     GridCode = "Pm_RepSalary"
  533.     Call BzWgcsh(CxbbGrid, GridCode, GridInf(), GridBoolean(), GridInt(), GridStr())
  534.     Me.CxbbGrid.RowHidden(0) = True
  535.     Me.CxbbGrid.RowHidden(1) = True
  536.     Me.CxbbGrid.RowHidden(2) = True
  537.     Qslz = GridInf(1)
  538.     Sjhgd = GridInf(2)
  539.     Sfxshjwg = GridInf(7)
  540.     Szzls = CxbbGrid.Cols - 1
  541.     iBeginCol = Val(GridInf(1))
  542. End Sub
  543. Private Sub Form_Unload(Cancel As Integer)                                  '窗体卸载
  544.         
  545.     '卸载打印页面设置窗体
  546.     Unload Dyymctbl
  547.     
  548. End Sub
  549. Private Function SaveGridFormat() As Boolean
  550.     Dim i As Integer
  551.     Dim s As String
  552.     Dim sTable As String
  553.     Dim sField As String
  554.     With Me.CxbbGrid
  555.         For i = IIf(iSumEndCol = -1, 0, iSumEndCol) To .Cols - 1
  556.             If GetTableField(Trim(.TextMatrix(1, i)), sTable, sField, ".") = 1 Then
  557.                 s = s + " update PM_ReportItem set FieldOrder=" & i - iSumEndCol & " ,FieldWidth=" & .ColWidth(i) & " ,FieldIsShow=" & IIf(.ColHidden(i), 0, 1) _
  558.                     & " where TableName='" & sTable & "' and FieldName='" & sField & "' and RCode='" & Me.sRCode & "' " & Chr(10)
  559.             End If
  560.         Next i
  561.         If Trim(s) <> "" Then
  562.             Cw_DataEnvi.DataConnect.Execute (s)
  563.             SaveGridFormat = True
  564.             MsgBox "格式保存成功!", vnokonly + vbInformation
  565.         End If
  566.     End With
  567. End Function
  568. Private Sub CxbbGrid_BeforeMoveColumn(ByVal Col As Long, Position As Long)           '网格列发生移动时自动交换网格索引信息
  569.     '分组汇总列不允许移动
  570.     If Col <= iSumEndCol Then
  571.         Position = Col
  572.         Exit Sub
  573.     End If
  574.     '不允许列超过分组汇总列
  575.     If Position <= iSumEndCol Then
  576.         Position = iSumEndCol + 1
  577.         Exit Sub
  578.     End If
  579.     
  580. End Sub
  581. Private Sub GsToolbar_ButtonClick(ByVal Button As MSComctlLib.Button)                '网格格式调整(Fixed)
  582.     
  583.     Select Case Button.Key
  584.     Case "bcgs"                                          '保存表格格式
  585.         SaveGridFormat
  586.     Case "hfmrgs"                                        '恢复默认格式
  587.         Call Hfmrgs(CxbbGrid, GridCode, GridStr())
  588.     Case "szxsxm"                                        '设置显示项目
  589.         Dim frm As New Salary_ShowItem_Frm
  590.         Set frm.vs = Me.CxbbGrid
  591.         frm.iBeginCol = iSumEndCol + 1
  592.         frm.Show 1
  593.         Set frm = Nothing
  594.     End Select
  595.     
  596. End Sub
  597. Private Sub SzToolbar_ButtonClick(ByVal Button As MSComctlLib.Button)
  598.     Dim frm As Form
  599.     Select Case Button.Key
  600.     Case "ymsz"                                          '页面设置
  601.         Dyymctbl.Show 1
  602.     Case "yl"                                            '预 览
  603.         PrintGrid Me.CxbbGrid, iBeginCol, iSumEndCol, Me.sRCode, Dyymctbl, False
  604.     Case "dy"                                            '打 印
  605.         PrintGrid Me.CxbbGrid, iBeginCol, iSumEndCol, Me.sRCode, Dyymctbl, True
  606.     Case "cx"                                            '查 询
  607.         Select Case UCase(Me.sPTableName)
  608.             Case UCase("PM_AttendRecord")
  609.                 Set frm = New Query_RepAttend_Frm
  610.             Case UCase("PM_PayRoll")
  611.                 Set frm = New Query_RepSalary_Frm
  612.         End Select
  613.         With frm
  614.             .sPTableName = Me.sPTableName
  615.             Set .frmParent = Me
  616.             .sRCode = Me.sRCode
  617.             .Show 1
  618.         End With
  619.         Set frm = Nothing
  620.     Case "Locate"
  621.         Set frm = New Locate_Frm
  622.         With frm
  623.             Set .frm = Me
  624.             .Show 1
  625.         End With
  626.     Case "Refresh"      '刷新数据
  627.         ShowRecord sSqlWhere, sSqlFrom
  628.     Case "Detail"
  629.         Call InitDetail
  630.     Case "Total"
  631.         Call InitTotal
  632.     Case "bz"                                            '帮 助
  633.         Call F1bz
  634.     Case "fh"                                            '退 出
  635.         Unload Me
  636.     End Select
  637.     
  638. End Sub
  639. Public Function Locate(sPerson As String) As Integer
  640.     '根据工号或姓名定位人员,成功返回1,没有找到返回0,错误返回-1
  641. '    On Error GoTo ErrCtrl
  642.     Dim i As Long, j As Long
  643.     Dim iCol(1) As Integer
  644.     Dim bFound As Boolean
  645.     
  646.     sPerson = UCase(Trim(sPerson))
  647.     
  648.     With Me.CxbbGrid
  649.         If .Rows = .FixedRows Then
  650.             Exit Function
  651.         End If
  652.         
  653.         If GetCol(sFieldValue, iCol(0), iCol(1), Val(GridInf(1))) <> 1 Then
  654.             MsgBox "无法找到工号和姓名列,定位失败!", vbOKOnly + vbCritical
  655.             Exit Function
  656.         End If
  657.         bFound = False
  658.         .Cell(flexcpBackColor, .Row, .FixedCols, .Row, .Cols - 1) = vbWhite
  659.         For j = 0 To 1
  660.             If iCol(j) >= 0 And bFound = False Then
  661.                  '从当前行的下一行找到末尾
  662.                 For i = .Row + 1 To .Rows - 1
  663.                     If UCase(Trim(.TextMatrix(i, iCol(j)))) = sPerson Then
  664.                         bFound = True
  665.                         .Row = i
  666.                         .TopRow = i
  667.                         'For m = 0 To .Cols - 1
  668.                         .Cell(flexcpBackColor, .Row, .FixedCols, .Row, .Cols - 1) = &HFFC0C0
  669.                         Exit For
  670.                     Else
  671.                         .Cell(flexcpBackColor, i, .FixedCols, i, .Cols - 1) = vbWhite
  672.                     End If
  673.                 Next i
  674.                 '如果没有找到,从数据开始行找到当前行
  675.                 If bFound = False Then
  676.                     For i = .FixedRows To .Row
  677.                         If UCase(Trim(.TextMatrix(i, iCol(j)))) = sPerson Then
  678.                             bFound = True
  679.                             .Row = i
  680.                             .TopRow = i
  681.                             .Cell(flexcpBackColor, .Row, .FixedCols, .Row, .Cols - 1) = &HFFC0C0
  682.                             Exit For
  683.                         Else
  684.                             .Cell(flexcpBackColor, i, .FixedCols, i, .Cols - 1) = vbWhite
  685.                         End If
  686.                     Next i
  687.                 End If
  688.             End If
  689.         Next j
  690.         
  691.         If bFound = False Then
  692.             Locate = 0
  693.         Else
  694.             Locate = 1
  695.         End If
  696.         
  697.     End With
  698.     Exit Function
  699. ErrCtrl:
  700.     Locate = -1
  701. End Function
  702. Private Sub InitDetail()
  703.     '显示或隐藏明细列
  704.     Dim i As Integer
  705.     Dim j As Integer
  706.     Dim s As String
  707.     With Me.CxbbGrid
  708.         .Redraw = False
  709.         For j = Qslz To IIf(iSumEndCol = -1, 0, iSumEndCol)
  710.             If Me.SzToolbar.Buttons("Detail").Value = tbrUnpressed Then
  711.                 For i = .FixedRows To .Rows - 2
  712.                     If Len(Trim(.TextMatrix(i, j))) >= 3 Then
  713.                         s = Right(Trim(.TextMatrix(i, j)), 3)
  714.                     Else
  715.                         s = .TextMatrix(i, j)
  716.                     End If
  717.                     If s <> "小计:" And s <> "合计:" Then
  718.                         .RowHidden(i) = True
  719.                     End If
  720.                 Next i
  721.             Else
  722.                 For i = .FixedRows To .Rows - 2
  723.                     If Len(Trim(.TextMatrix(i, j))) >= 3 Then
  724.                         s = Right(Trim(.TextMatrix(i, j)), 3)
  725.                     Else
  726.                         s = .TextMatrix(i, j)
  727.                     End If
  728.                     If s <> "小计:" And s <> "合计:" Then
  729.                         .RowHidden(i) = False
  730.                     End If
  731.                 Next i
  732.             End If
  733.         Next j
  734.         .Redraw = True
  735.     End With
  736. End Sub
  737. Private Sub InitTotal()
  738.     '显示或隐藏合计列
  739.     Dim i As Integer
  740.     Dim j As Integer
  741.     Dim s As String
  742.     With Me.CxbbGrid
  743.         .Redraw = False
  744.         For j = Qslz To IIf(iSumEndCol = -1, 0, iSumEndCol)
  745.             If .FixedRows = .Rows Then Exit Sub
  746.             If Me.SzToolbar.Buttons("Total").Value = tbrUnpressed Then
  747.                 For i = .FixedRows To .Rows - 1
  748.                     If Len(Trim(.TextMatrix(i, j))) >= 3 Then
  749.                         s = Right(Trim(.TextMatrix(i, j)), 3)
  750.                     Else
  751.                         s = ""
  752.                     End If
  753.                     If s = "小计:" Or s = "合计:" Then
  754.                         .RowHidden(i) = True
  755.                     End If
  756.                 Next i
  757.             Else
  758.                 For i = .FixedRows To .Rows - 1
  759.                     If Len(Trim(.TextMatrix(i, j))) >= 3 Then
  760.                         s = Right(Trim(.TextMatrix(i, j)), 3)
  761.                     Else
  762.                         s = ""
  763.                     End If
  764.                     If s = "小计:" Or s = "合计:" Then
  765.                         .RowHidden(i) = False
  766.                     End If
  767.               Next i
  768.             End If
  769.         Next j
  770.         .Redraw = True
  771.     End With
  772. End Sub
  773. Public Function ShowRecord(sWhere As String, sFrom As String)                                    '生成查询结果(Define)
  774.     '显示数据
  775.     On Error GoTo ErrCtrl
  776.     Me.MousePointer = 11
  777.     Dim rs As New ADODB.Recordset
  778.     Dim s As String
  779.     Dim sTable As String
  780.     Dim sField As String
  781.     Dim Ssql As String
  782.     Dim i As Long
  783.     
  784.     sExec = " select 1 "
  785.     
  786.     ReDim sFieldValue(0)
  787.     sFieldValue(0).FieldName = ""
  788.     If Trim(Me.sGroupField) = "" Then '没有分组字段
  789.         s = "select rtrim(a.TableName) as TableName " & Chr(10) _
  790.             & ",rtrim(a.FieldName) as FieldName " & Chr(10) _
  791.             & ",rtrim(a.FieldWidth) as FieldWidth " & Chr(10) _
  792.             & ",rtrim(b.FieldLength) as FieldLength " & Chr(10) _
  793.             & ",rtrim(b.FieldDotL) as FieldDotL " & Chr(10) _
  794.             & ",rtrim(a.FieldIsShow) as FieldIsShow " & Chr(10) _
  795.             & ",rtrim(b.FieldType) as FieldType " & Chr(10) _
  796.             & ",rtrim(b.ChName) as FieldNameC " & Chr(10) _
  797.             & ",rtrim(b.CorTable) as CorTable " & Chr(10) _
  798.             & ",rtrim(b.IndexCode) as IndexCode " & Chr(10) _
  799.             & ",rtrim(b.IndexName) as IndexName " & Chr(10) _
  800.             & "from PM_ReportItem a inner join Rs_Items b on a.FieldName =b.FieldName " & Chr(10) _
  801.             & "where a.RCode='" & Me.sRCode & "' " _
  802.             & "Order by a.FieldOrder "
  803.             iSumEndCol = Qslz - 1
  804.     Else    '有分组字段
  805.         If GetTableField(Me.sGroupField, sTable, sField, ".") <> 1 Then
  806.             MsgBox "分组汇总项目错误!", vbOKOnly + vbCritical
  807.             Exit Function
  808.         End If
  809.         If UCase(sField) = UCase("DeptCode") Then '如果分组字段是部门,要进行分级
  810.             s = "select max(CodeLevel) as MaxLevel from Gy_Department where RsPmFlag=1"
  811.             Set rs = Cw_DataEnvi.DataConnect.Execute(s)
  812.             If Not rs.EOF() Then
  813.                 For i = rs.Fields("MaxLevel") To Me.iDeptBeginLevel Step -1
  814.                     sExec = sExec & ",DeptLevel" & i & "=(select b.DeptName from GY_Department b " _
  815.                         & " where " & Me.sGroupField & " like  rtrim(b.deptcode)+'%' and b.CodeLevel= " & i & ")" & Chr(10)
  816.                 Next i
  817.                 
  818.                 iSumEndCol = Qslz + (Me.iDeptEndLevel - Me.iDeptBeginLevel)
  819.                 rs.Close
  820.                 s = "Select FieldWidth from PM_ReportItem where FieldName='" & sField & "' and TableName='" & sTable & "' and RCode='" & sRCode & "'"
  821.                 Set rs = Cw_DataEnvi.DataConnect.Execute(s)
  822.                 If Not rs.EOF() Then
  823.                     For i = Me.iDeptBeginLevel To Me.iDeptEndLevel
  824.                         If sFieldValue(0).FieldName <> "" Then
  825.                             ReDim Preserve sFieldValue(UBound(sFieldValue) + 1)
  826.                         End If
  827.                         sFieldValue(UBound(sFieldValue)).FieldName = Me.sGroupField
  828.                         sFieldValue(UBound(sFieldValue)).FieldNameC = i & "级部门"
  829.                         sFieldValue(UBound(sFieldValue)).FieldValueName = "DeptLevel" & i
  830.                         sFieldValue(UBound(sFieldValue)).FieldType = DATA_STRING
  831.                         sFieldValue(UBound(sFieldValue)).FieldWidth = rs!FieldWidth
  832.                         sFieldValue(UBound(sFieldValue)).FieldIsShow = 1
  833.                     Next i
  834.                 End If
  835.                 rs.Close
  836.                 Set rs = Nothing
  837.             Else
  838.                 MsgBox "不存在部门!", vbOKOnly + vbCritical
  839.                 Exit Function
  840.             End If
  841.             
  842.         Else '其他分组字段
  843.             s = "select rtrim(a.TableName) as TableName " & Chr(10) _
  844.                 & ",rtrim(a.FieldName) as FieldName " & Chr(10) _
  845.                 & ",rtrim(a.FieldWidth) as FieldWidth " & Chr(10) _
  846.                 & ",rtrim(a.FieldIsShow) as FieldIsShow " & Chr(10) _
  847.                 & ",rtrim(b.ChName) as FieldNameC " & Chr(10) _
  848.                 & ",rtrim(b.FieldType) as FieldType " & Chr(10) _
  849.                 & ",rtrim(b.FieldLength) as FieldLength " & Chr(10) _
  850.                 & ",rtrim(b.FieldDotL) as FieldDotL " & Chr(10) _
  851.                 & ",rtrim(b.CorTable) as CorTable " & Chr(10) _
  852.                 & ",rtrim(b.IndexCode) as IndexCode " & Chr(10) _
  853.                 & ",rtrim(b.IndexName) as IndexName " & Chr(10) _
  854.                 & "from PM_ReportItem a inner join Rs_Items b on a.FieldName =b.FieldName " & Chr(10) _
  855.                 & "where a.RCode='" & Me.sRCode & "' and rtrim(a.TableName)+'.'+rtrim(a.FieldName)='" & Me.sGroupField & "' " _
  856.                 & "Order by a.FieldOrder "
  857.             Set rs = Cw_DataEnvi.DataConnect.Execute(s)
  858.             With rs
  859.                 sFieldValue(UBound(sFieldValue)).FieldName = Me.sGroupField
  860.                 sFieldValue(UBound(sFieldValue)).FieldType = !FieldType
  861.                 sFieldValue(UBound(sFieldValue)).FieldNameC = Trim(!FieldNameC & "")
  862.                 sFieldValue(UBound(sFieldValue)).FieldWidth = !FieldWidth
  863.                 sFieldValue(UBound(sFieldValue)).FieldIsShow = !FieldIsShow
  864.                 sFieldValue(UBound(sFieldValue)).FieldLengthInt = !FieldLength - !FieldDotL
  865.                 sFieldValue(UBound(sFieldValue)).FieldLengthFra = !FieldDotL
  866.                 If Trim(!CorTable & "") <> "" Then
  867.                     sFieldValue(UBound(sFieldValue)).FieldValueName = Replace(Me.sGroupField, ".", "#") & "#N"
  868.                     sExec = sExec & ", " & sFieldValue(UBound(sFieldValue)).FieldValueName & " =" _
  869.                  & "(select " & Trim(!IndexName) & " from " & Trim(!CorTable) & " a where a." & Trim(!IndexCode) & "=" & Trim(!TableName) & "." & Trim(!FieldName) & ")" & Chr(10)
  870.                 Else
  871.                     sFieldValue(UBound(sFieldValue)).FieldValueName = Replace(Me.sGroupField, ".", "#")
  872.                     sExec = sExec & ", " & sFieldValue(UBound(sFieldValue)).FieldName & " as " & sFieldValue(UBound(sFieldValue)).FieldValueName & Chr(10)
  873.                 End If
  874.             End With
  875.             rs.Close
  876.             iSumEndCol = Qslz
  877.         End If
  878.         s = "select rtrim(a.TableName) as TableName " & Chr(10) _
  879.             & ",rtrim(a.FieldName) as FieldName " & Chr(10) _
  880.             & ",rtrim(a.FieldWidth) as FieldWidth " & Chr(10) _
  881.             & ",rtrim(a.FieldIsShow) as FieldIsShow " & Chr(10) _
  882.             & ",rtrim(b.FieldType) as FieldType " & Chr(10) _
  883.             & ",rtrim(b.FieldLength) as FieldLength " & Chr(10) _
  884.             & ",rtrim(b.FieldDotL) as FieldDotL " & Chr(10) _
  885.             & ",rtrim(b.ChName) as FieldNameC " & Chr(10) _
  886.             & ",rtrim(b.CorTable) as CorTable " & Chr(10) _
  887.             & ",rtrim(b.IndexCode) as IndexCode " & Chr(10) _
  888.             & ",rtrim(b.IndexName) as IndexName " & Chr(10) _
  889.             & "from PM_ReportItem a inner join Rs_Items b on a.FieldName =b.FieldName " & Chr(10) _
  890.             & "where a.RCode='" & Me.sRCode & "' and rtrim(a.TableName)+'.'+rtrim(a.FieldName)<>'" & Me.sGroupField & "' " _
  891.             & "Order by a.FieldOrder "
  892.     End If
  893.     '填充报表的其他字段信息
  894.     Set rs = Cw_DataEnvi.DataConnect.Execute(s)
  895.     With rs
  896.         Do While Not .EOF()
  897.             If sFieldValue(0).FieldName <> "" Then
  898.                 ReDim Preserve sFieldValue(UBound(sFieldValue) + 1)
  899.             End If
  900.             sFieldValue(UBound(sFieldValue)).FieldNameC = Trim(!FieldNameC)
  901.             sFieldValue(UBound(sFieldValue)).FieldType = Trim(!FieldType)
  902.             sFieldValue(UBound(sFieldValue)).FieldName = Trim(!TableName) & "." & Trim(!FieldName)
  903.             sFieldValue(UBound(sFieldValue)).FieldWidth = !FieldWidth
  904.             sFieldValue(UBound(sFieldValue)).FieldIsShow = !FieldIsShow
  905.             sFieldValue(UBound(sFieldValue)).FieldLengthInt = !FieldLength - !FieldDotL
  906.             sFieldValue(UBound(sFieldValue)).FieldLengthFra = !FieldDotL
  907.             If Trim(!CorTable) <> "" Then
  908.                 sFieldValue(UBound(sFieldValue)).FieldValueName = Trim(!TableName) & "#" & Trim(!FieldName) & "#N"
  909.                 sExec = sExec & ", " & sFieldValue(UBound(sFieldValue)).FieldValueName & " =" _
  910.                  & "(select " & Trim(!IndexName) & " from " & Trim(!CorTable) & " a where a." & Trim(!IndexCode) & "=" & Trim(!TableName) & "." & Trim(!FieldName) & ")" & Chr(10)
  911.             Else
  912.                 sFieldValue(UBound(sFieldValue)).FieldValueName = Trim(!TableName) & "#" & Trim(!FieldName)
  913.                 sExec = sExec & ", " & sFieldValue(UBound(sFieldValue)).FieldName & " as " & sFieldValue(UBound(sFieldValue)).FieldValueName
  914.             End If
  915.             
  916.             .MoveNext
  917.         Loop
  918.     End With
  919.     rs.Close
  920.         
  921.     With Me.CxbbGrid
  922.         '初始化网格
  923.         .Redraw = False
  924.         .Cols = UBound(sFieldValue) + 1 + Qslz
  925.         .Rows = .FixedRows
  926.         For i = Qslz To .Cols - 1
  927.             .TextMatrix(0, i) = sFieldValue(i - Qslz).FieldType
  928.             .TextMatrix(1, i) = sFieldValue(i - Qslz).FieldName
  929.             .TextMatrix(2, i) = sFieldValue(i - Qslz).FieldValueName
  930.             .TextMatrix(3, i) = sFieldValue(i - Qslz).FieldNameC
  931.             
  932.             .ColWidth(i) = sFieldValue(i - Qslz).FieldWidth
  933.             .ColHidden(i) = IIf(sFieldValue(i - Qslz).FieldIsShow, False, True)
  934.             
  935.             If .TextMatrix(0, i) = DATA_NUMERIC Then
  936.                 .ColAlignment(i) = flexAlignRightCenter
  937.                 .ColFormat(i) = IIf(sFieldValue(i - Qslz).FieldLengthFra = 0, "#,##0", "#,##0." & String(sFieldValue(i - Qslz).FieldLengthFra, "0"))
  938.             Else
  939.                 .ColAlignment(i) = flexAlignLeftCenter
  940.                 .ColFormat(i) = ""
  941.             End If
  942.             .FixedAlignment(i) = flexAlignCenterCenter
  943.         Next i
  944.         
  945.         If Trim(Me.sGroupField) <> "" Then
  946.             sExec = sExec & Me.sSqlFrom & Me.sSqlWhere & " order by " & Me.sGroupField & ",Pm_PayRoll.EmpNo "
  947.         Else
  948.             sExec = sExec & Me.sSqlFrom & Me.sSqlWhere & " order by PM_PayRoll.DeptCode,Pm_PayRoll.EmpNo "
  949.         End If
  950.         Set rs = Cw_DataEnvi.DataConnect.Execute(sExec)
  951.         .Rows = .FixedRows + rs.RecordCount
  952.         '初始化进度条
  953.         Me.PB_Proc.Min = .FixedRows
  954.         Me.PB_Proc.Max = .Rows
  955.         Me.PB_Proc.Value = Me.PB_Proc.Min
  956.         Me.PB_Proc.Visible = True
  957.         '填充数据
  958.         For i = .FixedRows To .Rows - 1
  959.             .RowHeight(i) = Sjhgd
  960.             Me.PB_Proc.Value = i
  961.             For j = Qslz To .Cols - 1
  962.                 If .TextMatrix(0, j) = DATA_NUMERIC Then
  963.                     .TextMatrix(i, j) = Val(Trim(rs.Fields(Trim(.TextMatrix(2, j))) & ""))
  964.                 Else
  965.                     .TextMatrix(i, j) = Trim(rs.Fields(Trim(.TextMatrix(2, j))) & "")
  966.                 End If
  967.             Next j
  968.             rs.MoveNext
  969.         Next i
  970.         rs.Close
  971.         
  972.         Me.PB_Proc.Visible = False
  973.         
  974.         '计算合计
  975.         .SubtotalPosition = flexSTBelow
  976.         For i = Qslz To iSumEndCol
  977.             For j = iSumEndCol + 1 To .Cols - 1
  978.                 If .TextMatrix(0, j) = DATA_NUMERIC Then
  979.                     .Subtotal flexSTSum, i, j, , &HF7F3EC, , , "小计:"
  980.                 End If
  981.             Next j
  982.         Next i
  983.         For j = iSumEndCol + 1 To .Cols - 1
  984.             If .TextMatrix(0, j) = DATA_NUMERIC Then
  985.                 .Subtotal flexSTSum, -1, j, , &HF7F3EC, , , "合计:"
  986.             End If
  987.         Next j
  988.         '填充合计信息
  989.         For i = .FixedRows To .Rows - 1
  990.             For j = iBeginCol To iSumEndCol
  991.                 If .TextMatrix(i, j) = "小计:" Then
  992.                     If i > 1 Then .TextMatrix(i, j) = .TextMatrix(i - 1, j) & .TextMatrix(i, j)
  993.                 End If
  994.             Next j
  995.         Next i
  996.         If Me.sRCode = "001" Then '工资签名表
  997.             .Cols = .Cols + 1
  998.             .ColWidth(.Cols - 1) = 1000
  999.             .TextMatrix(.FixedRows - 1, .Cols - 1) = "签名"
  1000.         End If
  1001.         .Redraw = True
  1002.     End With
  1003.     Set rs = Nothing
  1004.     Me.MousePointer = 0
  1005.     Exit Function
  1006.     
  1007. ErrCtrl:
  1008.     If rs.State = 1 Then
  1009.         rs.Close
  1010.     End If
  1011.     Set rs = Nothing
  1012.     Me.PB_Proc.Visible = False
  1013.     Me.CxbbGrid.Redraw = True
  1014.     Me.MousePointer = 0
  1015.     
  1016. End Function
  1017. Private Sub bbyl(bbylte As Boolean)                    '报表打印预览
  1018.     
  1019.     Dim Bbzbt$, Bbxbt() As String, bbxbtzzxs() As Integer, Bbxbtgs As Integer
  1020.     Dim Bbbwh() As String, Bbbwhzzxs() As Integer, Bbbwhgs As Integer
  1021.     Bbxbtgs = 1                                         '报 表 小 标 题 行 数
  1022.     Bbbwhgs = 0                                          '报 表 表 尾 行 数
  1023.     ReDim Bbxbt(1 To Bbxbtgs)
  1024.     ReDim bbxbtzzxs(1 To Bbxbtgs)
  1025.     If Bbbwhgs <> 0 Then
  1026.         ReDim Bbbwh(1 To Bbbwhgs)
  1027.         ReDim Bbbwhzzxs(1 To Bbbwhgs)
  1028.     End If
  1029.     Bbzbt = ReportTitle
  1030.     
  1031.     bbxbtzzxs(1) = 0                                     '报表行组织形式(0-居左 1-居中 2-居右)
  1032.     Call Scyxsjb(CxbbGrid)                               '生成报表数据
  1033.     Call Scdybb(Dyymctbl, Bbzbt, Bbxbt(), bbxbtzzxs(), Bbxbtgs, Bbbwh(), Bbbwhzzxs(), Bbbwhgs, bbylte)
  1034.     If Not bbylte Then
  1035.         Unload DY_Tybbyldy
  1036.     End If
  1037.     
  1038. End Sub