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

企业管理

开发平台:

Visual Basic

  1. VERSION 5.00
  2. Object = "{D76D7128-4A96-11D3-BD95-D296DC2DD072}#1.0#0"; "VSOCX7.OCX"
  3. Object = "{831FDD16-0C5C-11D2-A9FC-0000F8754DA1}#2.0#0"; "mscomctl.ocx"
  4. Begin VB.Form An_RsRelationFrm 
  5.    Caption         =   "自定义报表"
  6.    ClientHeight    =   8520
  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     =   8520
  16.    ScaleWidth      =   11820
  17.    WindowState     =   2  'Maximized
  18.    Begin MSComctlLib.ProgressBar PB_Proc 
  19.       Height          =   330
  20.       Left            =   3795
  21.       TabIndex        =   4
  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.       BackColor       =   &H00FFFFFF&
  33.       Height          =   1050
  34.       Left            =   0
  35.       Picture         =   "查询_相关分析列表.frx":1042
  36.       ScaleHeight     =   990
  37.       ScaleWidth      =   11715
  38.       TabIndex        =   2
  39.       Top             =   600
  40.       Width           =   11775
  41.       Begin MSComctlLib.ImageCombo ImgCmb_Field 
  42.          Height          =   315
  43.          Left            =   1110
  44.          TabIndex        =   5
  45.          Top             =   660
  46.          Width           =   2025
  47.          _ExtentX        =   3572
  48.          _ExtentY        =   556
  49.          _Version        =   393216
  50.          ForeColor       =   -2147483640
  51.          BackColor       =   -2147483643
  52.       End
  53.       Begin VB.Label Lab_Note 
  54.          AutoSize        =   -1  'True
  55.          BackStyle       =   0  'Transparent
  56.          Caption         =   "相关项:"
  57.          Height          =   180
  58.          Left            =   405
  59.          TabIndex        =   6
  60.          Top             =   735
  61.          Width           =   630
  62.       End
  63.       Begin VB.Label Lab_Title 
  64.          AutoSize        =   -1  'True
  65.          BackColor       =   &H80000018&
  66.          BackStyle       =   0  'Transparent
  67.          Caption         =   "自定义报表"
  68.          BeginProperty Font 
  69.             Name            =   "宋体"
  70.             Size            =   12
  71.             Charset         =   134
  72.             Weight          =   700
  73.             Underline       =   0   'False
  74.             Italic          =   0   'False
  75.             Strikethrough   =   0   'False
  76.          EndProperty
  77.          ForeColor       =   &H00000000&
  78.          Height          =   240
  79.          Left            =   405
  80.          TabIndex        =   3
  81.          Top             =   240
  82.          Width           =   1275
  83.       End
  84.    End
  85.    Begin VSFlex8Ctl.VSFlexGrid CxbbGrid 
  86.       Height          =   6810
  87.       Left            =   45
  88.       TabIndex        =   0
  89.       Top             =   1710
  90.       Width           =   11775
  91.       _ExtentX        =   20770
  92.       _ExtentY        =   12012
  93.       Appearance      =   1
  94.       BorderStyle     =   1
  95.       Enabled         =   -1  'True
  96.       BeginProperty Font {0BE35203-8F91-11CE-9DE3-00AA004BB851} 
  97.          Name            =   "宋体"
  98.          Size            =   9
  99.          Charset         =   134
  100.          Weight          =   400
  101.          Underline       =   0   'False
  102.          Italic          =   0   'False
  103.          Strikethrough   =   0   'False
  104.       EndProperty
  105.       MousePointer    =   0
  106.       BackColor       =   16777215
  107.       ForeColor       =   -2147483640
  108.       BackColorFixed  =   -2147483633
  109.       ForeColorFixed  =   -2147483630
  110.       BackColorSel    =   -2147483635
  111.       ForeColorSel    =   -2147483634
  112.       BackColorBkg    =   -2147483636
  113.       BackColorAlternate=   16777215
  114.       GridColor       =   -2147483633
  115.       GridColorFixed  =   -2147483632
  116.       TreeColor       =   -2147483632
  117.       FloodColor      =   192
  118.       SheetBorder     =   -2147483642
  119.       FocusRect       =   1
  120.       HighLight       =   1
  121.       AllowSelection  =   -1  'True
  122.       AllowBigSelection=   -1  'True
  123.       AllowUserResizing=   0
  124.       SelectionMode   =   0
  125.       GridLines       =   1
  126.       GridLinesFixed  =   2
  127.       GridLineWidth   =   1
  128.       Rows            =   20
  129.       Cols            =   10
  130.       FixedRows       =   1
  131.       FixedCols       =   1
  132.       RowHeightMin    =   0
  133.       RowHeightMax    =   0
  134.       ColWidthMin     =   0
  135.       ColWidthMax     =   0
  136.       ExtendLastCol   =   0   'False
  137.       FormatString    =   ""
  138.       ScrollTrack     =   0   'False
  139.       ScrollBars      =   3
  140.       ScrollTips      =   0   'False
  141.       MergeCells      =   0
  142.       MergeCompare    =   0
  143.       AutoResize      =   -1  'True
  144.       AutoSizeMode    =   0
  145.       AutoSearch      =   0
  146.       MultiTotals     =   -1  'True
  147.       SubtotalPosition=   1
  148.       OutlineBar      =   0
  149.       OutlineCol      =   0
  150.       Ellipsis        =   0
  151.       ExplorerBar     =   0
  152.       PicturesOver    =   0   'False
  153.       FillStyle       =   0
  154.       RightToLeft     =   0   'False
  155.       PictureType     =   0
  156.       TabBehavior     =   0
  157.       OwnerDraw       =   0
  158.       Editable        =   0   'False
  159.       ShowComboButton =   -1  'True
  160.       WordWrap        =   0   'False
  161.       TextStyle       =   0
  162.       TextStyleFixed  =   0
  163.       OleDragMode     =   0
  164.       OleDropMode     =   0
  165.       DataMode        =   0
  166.       VirtualData     =   -1  'True
  167.    End
  168.    Begin MSComctlLib.Toolbar SzToolbar 
  169.       Align           =   1  'Align Top
  170.       Height          =   570
  171.       Left            =   0
  172.       TabIndex        =   1
  173.       Top             =   0
  174.       Width           =   11820
  175.       _ExtentX        =   20849
  176.       _ExtentY        =   1005
  177.       ButtonWidth     =   820
  178.       ButtonHeight    =   953
  179.       AllowCustomize  =   0   'False
  180.       Appearance      =   1
  181.       Style           =   1
  182.       ImageList       =   "ImageList1"
  183.       _Version        =   393216
  184.       BeginProperty Buttons {66833FE8-8583-11D1-B16A-00C0F0283628} 
  185.          NumButtons      =   8
  186.          BeginProperty Button1 {66833FEA-8583-11D1-B16A-00C0F0283628} 
  187.             Caption         =   "设置"
  188.             Key             =   "ymsz"
  189.             Object.ToolTipText     =   "设置打印参数"
  190.             ImageKey        =   "sz"
  191.          EndProperty
  192.          BeginProperty Button2 {66833FEA-8583-11D1-B16A-00C0F0283628} 
  193.             Caption         =   "打印"
  194.             Key             =   "dy"
  195.             Object.ToolTipText     =   "打印当前数据"
  196.             ImageKey        =   "dy"
  197.          EndProperty
  198.          BeginProperty Button3 {66833FEA-8583-11D1-B16A-00C0F0283628} 
  199.             Caption         =   "预览"
  200.             Key             =   "yl"
  201.             Object.ToolTipText     =   "显示当前数据的打印模式"
  202.             ImageKey        =   "yl"
  203.          EndProperty
  204.          BeginProperty Button4 {66833FEA-8583-11D1-B16A-00C0F0283628} 
  205.             Style           =   3
  206.          EndProperty
  207.          BeginProperty Button5 {66833FEA-8583-11D1-B16A-00C0F0283628} 
  208.             Caption         =   "查询"
  209.             Key             =   "cx"
  210.             Object.ToolTipText     =   "以某种条件取得数据"
  211.             ImageKey        =   "cx"
  212.          EndProperty
  213.          BeginProperty Button6 {66833FEA-8583-11D1-B16A-00C0F0283628} 
  214.             Style           =   3
  215.          EndProperty
  216.          BeginProperty Button7 {66833FEA-8583-11D1-B16A-00C0F0283628} 
  217.             Caption         =   "帮助"
  218.             Key             =   "bz"
  219.             Object.ToolTipText     =   "显示帮助信息"
  220.             ImageKey        =   "bz"
  221.          EndProperty
  222.          BeginProperty Button8 {66833FEA-8583-11D1-B16A-00C0F0283628} 
  223.             Caption         =   "退出"
  224.             Key             =   "fh"
  225.             Object.ToolTipText     =   "退出本报表"
  226.             ImageKey        =   "tc"
  227.          EndProperty
  228.       EndProperty
  229.       BorderStyle     =   1
  230.       Begin MSComctlLib.ImageList ImageList1 
  231.          Left            =   5280
  232.          Top             =   0
  233.          _ExtentX        =   1005
  234.          _ExtentY        =   1005
  235.          BackColor       =   -2147483643
  236.          ImageWidth      =   16
  237.          ImageHeight     =   16
  238.          MaskColor       =   12632256
  239.          _Version        =   393216
  240.          BeginProperty Images {2C247F25-8591-11D1-B16A-00C0F0283628} 
  241.             NumListImages   =   36
  242.             BeginProperty ListImage1 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  243.                Picture         =   "查询_相关分析列表.frx":1FAC4
  244.                Key             =   "sz"
  245.             EndProperty
  246.             BeginProperty ListImage2 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  247.                Picture         =   "查询_相关分析列表.frx":1FE5E
  248.                Key             =   "dy"
  249.             EndProperty
  250.             BeginProperty ListImage3 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  251.                Picture         =   "查询_相关分析列表.frx":201F8
  252.                Key             =   "yl"
  253.             EndProperty
  254.             BeginProperty ListImage4 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  255.                Picture         =   "查询_相关分析列表.frx":20592
  256.                Key             =   "xg"
  257.             EndProperty
  258.             BeginProperty ListImage5 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  259.                Picture         =   "查询_相关分析列表.frx":2092C
  260.                Key             =   "zh"
  261.             EndProperty
  262.             BeginProperty ListImage6 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  263.                Picture         =   "查询_相关分析列表.frx":20CC6
  264.                Key             =   "sh"
  265.             EndProperty
  266.             BeginProperty ListImage7 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  267.                Picture         =   "查询_相关分析列表.frx":21060
  268.                Key             =   "bc"
  269.             EndProperty
  270.             BeginProperty ListImage8 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  271.                Picture         =   "查询_相关分析列表.frx":213FA
  272.                Key             =   "fq"
  273.             EndProperty
  274.             BeginProperty ListImage9 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  275.                Picture         =   "查询_相关分析列表.frx":21794
  276.                Key             =   "bz"
  277.             EndProperty
  278.             BeginProperty ListImage10 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  279.                Picture         =   "查询_相关分析列表.frx":21B2E
  280.                Key             =   "tc"
  281.             EndProperty
  282.             BeginProperty ListImage11 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  283.                Picture         =   "查询_相关分析列表.frx":21EC8
  284.                Key             =   "bcgs"
  285.             EndProperty
  286.             BeginProperty ListImage12 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  287.                Picture         =   "查询_相关分析列表.frx":22262
  288.                Key             =   "mrlk"
  289.             EndProperty
  290.             BeginProperty ListImage13 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  291.                Picture         =   "查询_相关分析列表.frx":225FC
  292.                Key             =   "xsxm"
  293.             EndProperty
  294.             BeginProperty ListImage14 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  295.                Picture         =   "查询_相关分析列表.frx":22996
  296.                Key             =   "first"
  297.             EndProperty
  298.             BeginProperty ListImage15 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  299.                Picture         =   "查询_相关分析列表.frx":22D30
  300.                Key             =   "prev"
  301.             EndProperty
  302.             BeginProperty ListImage16 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  303.                Picture         =   "查询_相关分析列表.frx":230CA
  304.                Key             =   "next"
  305.             EndProperty
  306.             BeginProperty ListImage17 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  307.                Picture         =   "查询_相关分析列表.frx":23464
  308.                Key             =   "last"
  309.             EndProperty
  310.             BeginProperty ListImage18 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  311.                Picture         =   "查询_相关分析列表.frx":237FE
  312.                Key             =   "xx"
  313.             EndProperty
  314.             BeginProperty ListImage19 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  315.                Picture         =   "查询_相关分析列表.frx":23B98
  316.                Key             =   "define"
  317.             EndProperty
  318.             BeginProperty ListImage20 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  319.                Picture         =   "查询_相关分析列表.frx":23F32
  320.                Key             =   "exec"
  321.             EndProperty
  322.             BeginProperty ListImage21 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  323.                Picture         =   "查询_相关分析列表.frx":242CC
  324.                Key             =   "xz"
  325.             EndProperty
  326.             BeginProperty ListImage22 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  327.                Picture         =   "查询_相关分析列表.frx":24666
  328.                Key             =   "sc"
  329.             EndProperty
  330.             BeginProperty ListImage23 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  331.                Picture         =   "查询_相关分析列表.frx":24A00
  332.                Key             =   "sx"
  333.             EndProperty
  334.             BeginProperty ListImage24 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  335.                Picture         =   "查询_相关分析列表.frx":24D9A
  336.                Key             =   "cx"
  337.             EndProperty
  338.             BeginProperty ListImage25 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  339.                Picture         =   "查询_相关分析列表.frx":25134
  340.                Key             =   "zd"
  341.             EndProperty
  342.             BeginProperty ListImage26 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  343.                Picture         =   "查询_相关分析列表.frx":254CE
  344.                Key             =   "dz"
  345.             EndProperty
  346.             BeginProperty ListImage27 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  347.                Picture         =   "查询_相关分析列表.frx":25868
  348.                Key             =   "ph"
  349.             EndProperty
  350.             BeginProperty ListImage28 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  351.                Picture         =   "查询_相关分析列表.frx":25C02
  352.                Key             =   "fz"
  353.             EndProperty
  354.             BeginProperty ListImage29 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  355.                Picture         =   "查询_相关分析列表.frx":25F9C
  356.                Key             =   "Locate"
  357.             EndProperty
  358.             BeginProperty ListImage30 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  359.                Picture         =   "查询_相关分析列表.frx":26336
  360.                Key             =   "hf"
  361.             EndProperty
  362.             BeginProperty ListImage31 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  363.                Picture         =   "查询_相关分析列表.frx":266D0
  364.                Key             =   "pz"
  365.             EndProperty
  366.             BeginProperty ListImage32 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  367.                Picture         =   "查询_相关分析列表.frx":26A6A
  368.                Key             =   "check"
  369.             EndProperty
  370.             BeginProperty ListImage33 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  371.                Picture         =   "查询_相关分析列表.frx":26E04
  372.                Key             =   "Sum"
  373.             EndProperty
  374.             BeginProperty ListImage34 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  375.                Picture         =   "查询_相关分析列表.frx":2719E
  376.                Key             =   "Total"
  377.             EndProperty
  378.             BeginProperty ListImage35 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  379.                Picture         =   "查询_相关分析列表.frx":27538
  380.                Key             =   "Detail"
  381.             EndProperty
  382.             BeginProperty ListImage36 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  383.                Picture         =   "查询_相关分析列表.frx":278D2
  384.                Key             =   "Order"
  385.             EndProperty
  386.          EndProperty
  387.       End
  388.    End
  389. End
  390. Attribute VB_Name = "An_RsRelationFrm"
  391. Attribute VB_GlobalNameSpace = False
  392. Attribute VB_Creatable = False
  393. Attribute VB_PredeclaredId = True
  394. Attribute VB_Exposed = False
  395. '**************************************************************************
  396. '*    模 块 名 称 :相关分析结果窗体
  397. '*    功 能 描 述 :
  398. '*    程序员姓名  :苗  鹏
  399. '*    最后修改人  :苗  鹏
  400. '*    最后修改时间:2002/01/02
  401. '*    备        注:程序中所有依实际情况自定义部分均用[>>  <<]括起
  402. '**************************************************************************
  403. Dim ReportTitle As String                '报表主标题
  404. Public sSqlWhere As String
  405. Public sSqlWhereMe As String
  406. Public sSqlWhereMore As String
  407. Public sSqlFrom As String
  408. Dim sFieldValue() As New CFieldValue
  409. Dim sSqlOrder As String
  410. '以下为固定使用变量
  411. Dim Dyymctbl As New DY_Dyymsz            '打印页面窗体变量
  412. Dim GridCode As String                   '显示网格网格代码
  413. Dim GridInf() As Variant                 '整个网格设置信息
  414. Dim Tsxx As String                       '系统提示信息
  415. Dim Qslz As Long                         '网格隐藏(非操作显示)列数
  416. Dim Sjhgd As Double                      '网格数据行高度
  417. Dim Sfxshjwg As Boolean                  '是否显示合计网格
  418. Dim GridBoolean() As Boolean             '网格列信息(布尔型)
  419. Dim GridStr()  As String                 '网格列信息(字符型)
  420. Dim GridInt() As Integer                 '网格列信息(整型)
  421. Dim Szzls As Integer                     '数组总列数(网格列数-1)
  422. Private Sub CxbbGrid_AfterMoveColumn(ByVal Col As Long, Position As Long)
  423.     Dim i As Integer
  424.     With Me.CxbbGrid
  425.         ReDim sFieldValue(.Cols - 1)
  426.         For i = 0 To .Cols - 1
  427.             sFieldValue(i).FieldName = Trim(.TextMatrix(1, i))
  428.         Next i
  429.     End With
  430. End Sub
  431. Private Sub CxbbGrid_AfterSort(ByVal Col As Long, Order As Integer)
  432.     Dim i As Long
  433.     With Me.CxbbGrid
  434.         For i = .FixedRows To .Rows - 1
  435.             .TextMatrix(i, Qslz) = i - .FixedRows + 1
  436.         Next i
  437.     End With
  438.     
  439. End Sub
  440. Private Sub Form_Resize()                '根据窗体大小来调整网格,标题栏大小(Fixed)
  441.     On Error Resume Next
  442.     With CxbbGrid
  443.         .Width = Me.Width - 160
  444.         .Height = Me.Height - .Top - 400
  445.     End With
  446.     With Pic_Title
  447.         .Width = Me.Width - 160
  448.     End With
  449.     
  450.     GsToolbar.Left = Me.Width - GsToolbar.Width - 140
  451.     With Me.PB_Proc
  452.         .Left = (Me.Width - .Width) / 2
  453.         .Top = Me.Height / 2
  454.     End With
  455.     
  456. End Sub
  457. Private Sub Form_Load()                                                   '窗体装入
  458.     On Error GoTo 0
  459.     '调入打印页面设置窗体
  460.     ReportTitle = "相关分析"
  461.     XtReportCode = "Rs_AnRelation"
  462.     Load Dyymctbl
  463.     Me.Caption = ReportTitle
  464.     Me.Lab_Title = ReportTitle
  465.     '调整标题栏及网格、格式工具条位置(Fixed)
  466.     Pic_Title.Left = 40
  467.     Pic_Title.Top = SzToolbar.Top + SzToolbar.Height - 10
  468.     CxbbGrid.Left = Pic_Title.Left
  469.     CxbbGrid.Top = Pic_Title.Top + Pic_Title.Height + 20
  470.     
  471.     '调 入 网 格(Fixed)
  472.     GridCode = "Rs_AnRelation"
  473.     Call BzWgcsh(CxbbGrid, GridCode, GridInf(), GridBoolean(), GridInt(), GridStr())
  474.     Me.CxbbGrid.MergeCells = flexMergeNever
  475.     Qslz = GridInf(1)
  476.     Sjhgd = GridInf(2)
  477.     Sfxshjwg = GridInf(7)
  478.     Szzls = CxbbGrid.Cols - 1
  479.     iBeginCol = Val(GridInf(1))
  480.     
  481.     '初始化相关项
  482.     Dim s As String
  483.     Dim rs As New ADODB.Recordset
  484.     Dim Item As ComboItem
  485.     s = "select rtrim(TableName)+'.'+rtrim(FieldName) as FullName ,rtrim(FieldName) as FieldName,ChName as FieldNameC " & Chr(10) _
  486.         & " from Rs_Items where (SID=1 or Rs=1) and CorTable<>'' and FieldName<>'DeptCode' "
  487.     Set rs = Cw_DataEnvi.DataConnect.Execute(s)
  488.     With rs
  489.         Do While Not .EOF()
  490.             Set Item = Me.ImgCmb_Field.ComboItems.Add(, Trim(!FieldName), Trim(!FieldNameC))
  491.             Item.Tag = !FullName
  492.             .MoveNext
  493.         Loop
  494.         Me.ImgCmb_Field.Locked = True
  495.         .Close
  496.     End With
  497.     Set rs = Nothing
  498.     '初始化变量
  499.     sSqlOrder = " order by Rs_BasicInfo.DeptCode "
  500.     Me.sSqlFrom = " from Rs_BasicInfo inner join Rs_Extend on Rs_BasicInfo.EmpID=Rs_Extend.EmpID "
  501.     Me.sSqlWhereMe = " where Rs_BasicInfo.YnStop=0  "
  502.     Me.sSqlWhereMore = ""
  503.     Me.sSqlWhere = Me.sSqlWhereMe & Me.sSqlWhereMore
  504. End Sub
  505. Private Sub Form_Unload(Cancel As Integer)                                  '窗体卸载
  506.         
  507.     '卸载打印页面设置窗体
  508.     Unload Dyymctbl
  509.     Security_Log "Rs_An_RsRelation", Xtczybm, 2, False  '用户退出时写上机日志
  510. End Sub
  511. Private Sub CxbbGrid_BeforeMoveColumn(ByVal Col As Long, Position As Long)           '网格列发生移动时自动交换网格索引信息
  512.     Dim i As Integer
  513.     Dim iMax As Integer
  514.     Dim iMin As Integer
  515.     Dim iStep As Integer
  516.     '编码列不允许移动
  517.     If Col <= Qslz Then
  518.         Position = Col
  519.         Exit Sub
  520.     End If
  521.     '不允许列超过编码列
  522.     If Position <= Qslz Then
  523.         Position = Qslz + 1
  524.     End If
  525.     '移动数组
  526.     With Me.CxbbGrid
  527.         If .Cols <= Qslz + 1 Then
  528.             Exit Sub
  529.         End If
  530.         If Col = Position Then
  531.             Exit Sub
  532.         End If
  533.         Dim sFieldValueT As New CFieldValue
  534.         iStep = IIf(Col > Position, -1, 1)
  535.         CFieldValueCopy sFieldValue(Col - Qslz - 1), sFieldValueT
  536.         For i = Col + iStep - Qslz - 1 To Position - Qslz - 1 Step iStep
  537.             CFieldValueCopy sFieldValue(i), sFieldValue(i - iStep)
  538.         Next i
  539.         CFieldValueCopy sFieldValueT, sFieldValue(Position - Qslz - 1)
  540.     End With
  541.     
  542.     
  543. End Sub
  544. Private Sub ImgCmb_Field_Click()
  545.     ShowRecord
  546. End Sub
  547. Private Sub SzToolbar_ButtonClick(ByVal Button As MSComctlLib.Button)
  548.     
  549.     Select Case Button.Key
  550.     Case "ymsz"                                          '页面设置
  551.         Dyymctbl.Show 1
  552.     Case "yl"                                            '预 览
  553.         bbyl (True)
  554.     Case "dy"                                            '打 印
  555.         bbyl (False)
  556.     Case "cx"                                            '查 询
  557.        An_RsRelationCndFrm.Show 1
  558.     Case "bz"                                            '帮 助
  559.         Call F1bz
  560.     Case "fh"                                            '退 出
  561.         Unload Me
  562.     End Select
  563.     
  564. End Sub
  565. Public Function ShowRecord()                                  '生成查询结果(Define)
  566.     '显示数据
  567.     On Error GoTo ErrCtrl
  568.     
  569.     
  570.     Dim rs As New ADODB.Recordset
  571.     Dim s As String
  572.     Dim i As Long
  573.     Dim j As Long
  574.     Dim sFrom As String
  575.     If Trim(Me.sSqlWhereMore) = "" Then
  576.         Me.sSqlWhereMore = " 1=1 "
  577.     End If
  578.     
  579.     If Trim(Me.sSqlWhere) = "" Or Me.ImgCmb_Field.Text = "" Then
  580.         GoTo ErrCtrl
  581.     End If
  582.     Me.MousePointer = 11
  583.     
  584.     With Me.CxbbGrid
  585.         '初始化网格
  586.         .Redraw = False
  587.         .Rows = .FixedRows
  588.         .Cols = Qslz + 3
  589.         .FixedCols = .Cols
  590.     
  591.     '填充相关项
  592.         s = "select  Rs_CorSub.ListName from Rs_CorSub where SortID in (select Correlation from Rs_Items where FieldName='" & Me.ImgCmb_Field.SelectedItem.Key & "' )"
  593.         Set rs = Cw_DataEnvi.DataConnect.Execute(s)
  594.         If rs.EOF() Then
  595.             MsgBox "没有相关项!", vbOKOnly + vbCritical
  596.             GoTo ErrCtrl
  597.         End If
  598.         .Cols = .FixedCols + 2 * rs.RecordCount + 2
  599.         i = 0
  600.         Do While Not rs.EOF()
  601.             .TextMatrix(.FixedRows - 1, .FixedCols + i) = Trim(rs.Fields("ListName") & "")
  602.             .TextMatrix(.FixedRows - 1, .FixedCols + i + 1) = "百分比%"
  603.             '调整网格格式
  604.             .ColAlignment(.FixedCols + i) = flexAlignRightCenter
  605.             .ColAlignment(.FixedCols + i + 1) = flexAlignRightCenter
  606.             .FixedAlignment(.FixedCols + i) = flexAlignCenterCenter
  607.             .FixedAlignment(.FixedCols + i + 1) = flexAlignCenterCenter
  608.             i = i + 2
  609.             rs.MoveNext
  610.         Loop
  611.         '加入未知项列
  612.         .TextMatrix(.FixedRows - 1, .Cols - 2) = ""
  613.         .TextMatrix(.FixedRows - 1, .Cols - 2 + 1) = "百分比%"
  614.         .ColAlignment(.Cols - 2) = flexAlignRightCenter
  615.         .ColAlignment(.Cols - 2 + 1) = flexAlignRightCenter
  616.         .FixedAlignment(.Cols - 2) = flexAlignCenterCenter
  617.         .FixedAlignment(.Cols - 2 + 1) = flexAlignCenterCenter
  618.         rs.Close
  619.         
  620.         '填充部门和部门人数
  621.         s = " select Gy_Department.DeptCode ,Gy_Department.DeptName " & Chr(10) _
  622.             & " ,Num=(select count(*) from Rs_BasicInfo inner join Rs_ExtendInfo on Rs_BasicInfo.EmpID=Rs_ExtendInfo.EmpID " & Chr(10) _
  623.             & "where  left(Rs_BasicInfo.DeptCode,len(Gy_Department.DeptCode))=Gy_Department.DeptCode  and " & Me.sSqlWhereMore & ") " & Chr(10) _
  624.             & " from Gy_Department  " & Chr(10) _
  625.             & Me.sSqlWhereMe
  626.         Set rs = Cw_DataEnvi.DataConnect.Execute(s)
  627.         
  628.         If rs.EOF() Then
  629.             GoTo ErrCtrl
  630.         End If
  631.         
  632.         .Rows = .FixedRows + rs.RecordCount
  633.         i = .FixedRows
  634.         Do While Not rs.EOF()
  635.             .RowHeight(i) = Sjhgd
  636.             .TextMatrix(i, Qslz) = Trim(rs.Fields("DeptCode") & "")
  637.             .TextMatrix(i, Qslz + 1) = Trim(rs.Fields("DeptName") & "")
  638.             .TextMatrix(i, Qslz + 2) = Val(rs.Fields("Num") & "")
  639.             rs.MoveNext
  640.             i = i + 1
  641.         Loop
  642.         rs.Close
  643.         
  644.         '填充相关项人数和百分比
  645.         s = " select a.DeptCode,a.DeptName " & Chr(10) _
  646.             & " ,Num=(select Count(*) " & Chr(10) _
  647.             & " from Rs_BasicInfo inner join Rs_ExtendInfo on Rs_Basicinfo.EmpID=Rs_Extendinfo.EmpID " & Chr(10) _
  648.             & " where left(Rs_BasicInfo.DeptCode,len(a.DeptCode)) =  a.DeptCode and " & Me.ImgCmb_Field.SelectedItem.Tag & "=a.FieldCode  " & Chr(10) _
  649.             & " and " & Me.sSqlWhereMore & " ) " & Chr(10) _
  650.             & " ,ListName=(select ListName from Rs_CorSub where Rs_CorSub.ListID=a.FieldCode) " & Chr(10) _
  651.         & " From " & Chr(10) _
  652.             & " ( select GY_department.DeptCode,GY_department.DeptName," & Me.ImgCmb_Field.SelectedItem.Tag & " as FieldCode " & Chr(10) _
  653.             & " from GY_department inner join Rs_BasicInfo on GY_Department.DeptCode=left(Rs_BasicInfo.DeptCode,len(GY_Department.DeptCode)) " & Chr(10) _
  654.             & " inner join Rs_ExtendInfo on Rs_ExtendInfo.EmpID=Rs_BasicInfo.EmpID " & Chr(10) _
  655.             & Me.sSqlWhereMe & Chr(10) _
  656.            & " group by GY_department.DeptCode,GY_department.DeptName, " & Me.ImgCmb_Field.SelectedItem.Tag & Chr(10) _
  657.                 & " ) a " & Chr(10) _
  658.         & " order by a.DeptCode,a.FieldCode "
  659.             
  660.         Set rs = Cw_DataEnvi.DataConnect.Execute(s)
  661.         
  662.         If rs.EOF Then
  663.             GoTo ErrCtrl
  664.         End If
  665.         s = ""
  666.         '初始化进度条
  667.         Me.PB_Proc.Min = 0
  668.         Me.PB_Proc.Max = rs.RecordCount + 1
  669.         Me.PB_Proc.Value = Me.PB_Proc.Min
  670.         Me.PB_Proc.Visible = True
  671.         '填充数据
  672.         Do While Not rs.EOF()
  673.             Me.PB_Proc.Value = (Me.PB_Proc.Value + 1) Mod Me.PB_Proc.Max
  674.             If s <> Trim(rs.Fields("DeptCode")) Then
  675.                 For i = .FixedRows To .Rows - 1
  676.                     If Trim(.TextMatrix(i, Qslz)) = Trim(rs.Fields("DeptCode")) Then
  677.                         s = Trim(rs.Fields("DeptCode"))
  678.                         Exit For
  679.                     End If
  680.                 Next i
  681.             End If
  682.             '定位
  683.             If i > .Rows - 1 Then
  684.                 MsgBox "部门 " & Trim(rs.Fields("DeptCode") & "") & " 未知!", vbOKOnly + vbCritical
  685.                 GoTo ErrCtrl
  686.             End If
  687.             For j = .FixedCols To .Cols - 1 Step 2
  688.                 If .TextMatrix(.FixedRows - 1, j) = Trim(rs.Fields("ListName") & "") Then
  689.                     Exit For
  690.                 End If
  691.             Next j
  692.             If j > .Cols - 1 Then
  693.                 MsgBox "相关项" & Trim(rs.Fields("ListName") & "") & " 未知!", vbOKOnly + vbCritical
  694.                 GoTo ErrCtrl
  695.             End If
  696.             .TextMatrix(i, j) = Val(rs.Fields("Num") & "")
  697.             If Val(.TextMatrix(i, Qslz + 2)) <> 0 Then
  698.                 .TextMatrix(i, j + 1) = Format(100 * Val(rs.Fields("Num") & "") / Val(.TextMatrix(i, Qslz + 2)), "##0.00")
  699.             End If
  700.             rs.MoveNext
  701.         Loop
  702.         .TextMatrix(.FixedRows - 1, .Cols - 2) = "未知"
  703.         rs.Close
  704.         Set rs = Nothing
  705.         .Redraw = True
  706.     End With
  707.     Me.PB_Proc.Visible = False
  708.     Me.MousePointer = 0
  709.     Exit Function
  710. ErrCtrl:
  711.     If rs.State = 1 Then
  712.         rs.Close
  713.     End If
  714.     Set rs = Nothing
  715.     Me.PB_Proc.Visible = False
  716.     Me.CxbbGrid.Redraw = True
  717.     Me.MousePointer = 0
  718.     
  719. End Function
  720. Private Sub bbyl(bbylte As Boolean)                    '报表打印预览
  721.     
  722.     Dim Bbzbt$, Bbxbt() As String, bbxbtzzxs() As Integer, Bbxbtgs As Integer
  723.     Dim Bbbwh() As String, Bbbwhzzxs() As Integer, Bbbwhgs As Integer
  724.     Bbxbtgs = 1                                         '报 表 小 标 题 行 数
  725.     Bbbwhgs = 0                                          '报 表 表 尾 行 数
  726.     ReDim Bbxbt(1 To Bbxbtgs)
  727.     ReDim bbxbtzzxs(1 To Bbxbtgs)
  728.     If Bbbwhgs <> 0 Then
  729.         ReDim Bbbwh(1 To Bbbwhgs)
  730.         ReDim Bbbwhzzxs(1 To Bbbwhgs)
  731.     End If
  732.     ReportTitle = ImgCmb_Field.Text & "  " & "分析"
  733.     Bbzbt = ReportTitle
  734.     
  735.     bbxbtzzxs(1) = 0                                     '报表行组织形式(0-居左 1-居中 2-居右)
  736.     Call Scyxsjb(CxbbGrid)                               '生成报表数据
  737.     Call Scdybb(Dyymctbl, Bbzbt, Bbxbt(), bbxbtzzxs(), Bbxbtgs, Bbbwh(), Bbbwhzzxs(), Bbbwhgs, bbylte)
  738.     If Not bbylte Then
  739.         Unload DY_Tybbyldy
  740.     End If
  741.     
  742. End Sub