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

企业管理

开发平台:

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 An_RsRelationFrm 
  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        =   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.       Height          =   1050
  33.       Left            =   -75
  34.       Picture         =   "分析_相关分析列表.frx":1042
  35.       ScaleHeight     =   990
  36.       ScaleWidth      =   11715
  37.       TabIndex        =   2
  38.       Top             =   600
  39.       Width           =   11775
  40.       Begin MSComctlLib.ImageCombo ImgCmb_Field 
  41.          Height          =   315
  42.          Left            =   1515
  43.          TabIndex        =   5
  44.          Top             =   660
  45.          Width           =   2025
  46.          _ExtentX        =   3572
  47.          _ExtentY        =   556
  48.          _Version        =   393216
  49.          ForeColor       =   -2147483640
  50.          BackColor       =   -2147483643
  51.       End
  52.       Begin VB.Label Lab_Note 
  53.          AutoSize        =   -1  'True
  54.          BackStyle       =   0  'Transparent
  55.          Caption         =   "相关项:"
  56.          Height          =   180
  57.          Left            =   810
  58.          TabIndex        =   6
  59.          Top             =   735
  60.          Width           =   630
  61.       End
  62.       Begin VB.Label Lab_Title 
  63.          AutoSize        =   -1  'True
  64.          BackColor       =   &H80000018&
  65.          BackStyle       =   0  'Transparent
  66.          Caption         =   "自定义报表"
  67.          BeginProperty Font 
  68.             Name            =   "宋体"
  69.             Size            =   12
  70.             Charset         =   134
  71.             Weight          =   700
  72.             Underline       =   0   'False
  73.             Italic          =   0   'False
  74.             Strikethrough   =   0   'False
  75.          EndProperty
  76.          ForeColor       =   &H00000000&
  77.          Height          =   240
  78.          Left            =   405
  79.          TabIndex        =   3
  80.          Top             =   180
  81.          Width           =   1275
  82.       End
  83.    End
  84.    Begin VSFlex6DAOCtl.vsFlexGrid CxbbGrid 
  85.       Height          =   7350
  86.       Left            =   60
  87.       TabIndex        =   0
  88.       Top             =   1725
  89.       Width           =   11775
  90.       _ExtentX        =   20770
  91.       _ExtentY        =   12965
  92.       _ConvInfo       =   1
  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  =   13826538
  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            =   50
  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":35106
  244.                Key             =   "sz"
  245.             EndProperty
  246.             BeginProperty ListImage2 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  247.                Picture         =   "分析_相关分析列表.frx":354A0
  248.                Key             =   "dy"
  249.             EndProperty
  250.             BeginProperty ListImage3 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  251.                Picture         =   "分析_相关分析列表.frx":3583A
  252.                Key             =   "yl"
  253.             EndProperty
  254.             BeginProperty ListImage4 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  255.                Picture         =   "分析_相关分析列表.frx":35BD4
  256.                Key             =   "xg"
  257.             EndProperty
  258.             BeginProperty ListImage5 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  259.                Picture         =   "分析_相关分析列表.frx":35F6E
  260.                Key             =   "zh"
  261.             EndProperty
  262.             BeginProperty ListImage6 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  263.                Picture         =   "分析_相关分析列表.frx":36308
  264.                Key             =   "sh"
  265.             EndProperty
  266.             BeginProperty ListImage7 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  267.                Picture         =   "分析_相关分析列表.frx":366A2
  268.                Key             =   "bc"
  269.             EndProperty
  270.             BeginProperty ListImage8 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  271.                Picture         =   "分析_相关分析列表.frx":36A3C
  272.                Key             =   "fq"
  273.             EndProperty
  274.             BeginProperty ListImage9 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  275.                Picture         =   "分析_相关分析列表.frx":36DD6
  276.                Key             =   "bz"
  277.             EndProperty
  278.             BeginProperty ListImage10 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  279.                Picture         =   "分析_相关分析列表.frx":37170
  280.                Key             =   "tc"
  281.             EndProperty
  282.             BeginProperty ListImage11 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  283.                Picture         =   "分析_相关分析列表.frx":3750A
  284.                Key             =   "bcgs"
  285.             EndProperty
  286.             BeginProperty ListImage12 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  287.                Picture         =   "分析_相关分析列表.frx":378A4
  288.                Key             =   "mrlk"
  289.             EndProperty
  290.             BeginProperty ListImage13 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  291.                Picture         =   "分析_相关分析列表.frx":37C3E
  292.                Key             =   "xsxm"
  293.             EndProperty
  294.             BeginProperty ListImage14 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  295.                Picture         =   "分析_相关分析列表.frx":37FD8
  296.                Key             =   "first"
  297.             EndProperty
  298.             BeginProperty ListImage15 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  299.                Picture         =   "分析_相关分析列表.frx":38372
  300.                Key             =   "prev"
  301.             EndProperty
  302.             BeginProperty ListImage16 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  303.                Picture         =   "分析_相关分析列表.frx":3870C
  304.                Key             =   "next"
  305.             EndProperty
  306.             BeginProperty ListImage17 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  307.                Picture         =   "分析_相关分析列表.frx":38AA6
  308.                Key             =   "last"
  309.             EndProperty
  310.             BeginProperty ListImage18 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  311.                Picture         =   "分析_相关分析列表.frx":38E40
  312.                Key             =   "xx"
  313.             EndProperty
  314.             BeginProperty ListImage19 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  315.                Picture         =   "分析_相关分析列表.frx":391DA
  316.                Key             =   "define"
  317.             EndProperty
  318.             BeginProperty ListImage20 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  319.                Picture         =   "分析_相关分析列表.frx":39574
  320.                Key             =   "exec"
  321.             EndProperty
  322.             BeginProperty ListImage21 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  323.                Picture         =   "分析_相关分析列表.frx":3990E
  324.                Key             =   "xz"
  325.             EndProperty
  326.             BeginProperty ListImage22 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  327.                Picture         =   "分析_相关分析列表.frx":39CA8
  328.                Key             =   "sc"
  329.             EndProperty
  330.             BeginProperty ListImage23 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  331.                Picture         =   "分析_相关分析列表.frx":3A042
  332.                Key             =   "sx"
  333.             EndProperty
  334.             BeginProperty ListImage24 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  335.                Picture         =   "分析_相关分析列表.frx":3A3DC
  336.                Key             =   "cx"
  337.             EndProperty
  338.             BeginProperty ListImage25 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  339.                Picture         =   "分析_相关分析列表.frx":3A776
  340.                Key             =   "zd"
  341.             EndProperty
  342.             BeginProperty ListImage26 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  343.                Picture         =   "分析_相关分析列表.frx":3AB10
  344.                Key             =   "dz"
  345.             EndProperty
  346.             BeginProperty ListImage27 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  347.                Picture         =   "分析_相关分析列表.frx":3AEAA
  348.                Key             =   "ph"
  349.             EndProperty
  350.             BeginProperty ListImage28 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  351.                Picture         =   "分析_相关分析列表.frx":3B244
  352.                Key             =   "fz"
  353.             EndProperty
  354.             BeginProperty ListImage29 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  355.                Picture         =   "分析_相关分析列表.frx":3B5DE
  356.                Key             =   "Locate"
  357.             EndProperty
  358.             BeginProperty ListImage30 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  359.                Picture         =   "分析_相关分析列表.frx":3B978
  360.                Key             =   "hf"
  361.             EndProperty
  362.             BeginProperty ListImage31 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  363.                Picture         =   "分析_相关分析列表.frx":3BD12
  364.                Key             =   "pz"
  365.             EndProperty
  366.             BeginProperty ListImage32 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  367.                Picture         =   "分析_相关分析列表.frx":3C0AC
  368.                Key             =   "check"
  369.             EndProperty
  370.             BeginProperty ListImage33 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  371.                Picture         =   "分析_相关分析列表.frx":3C446
  372.                Key             =   "Sum"
  373.             EndProperty
  374.             BeginProperty ListImage34 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  375.                Picture         =   "分析_相关分析列表.frx":3C7E0
  376.                Key             =   "Total"
  377.             EndProperty
  378.             BeginProperty ListImage35 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  379.                Picture         =   "分析_相关分析列表.frx":3CB7A
  380.                Key             =   "Detail"
  381.             EndProperty
  382.             BeginProperty ListImage36 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  383.                Picture         =   "分析_相关分析列表.frx":3CF14
  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. '*    最后修改时间:2001/10/06
  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.     
  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.         Me.PB_Proc.Min = 0
  667.         Me.PB_Proc.Max = rs.RecordCount + 1
  668.         Me.PB_Proc.Value = Me.PB_Proc.Min
  669.         Me.PB_Proc.Visible = True
  670.         
  671.         Do While Not rs.EOF()
  672.             Me.PB_Proc.Value = (Me.PB_Proc.Value + 1) Mod Me.PB_Proc.Max
  673.             If s <> Trim(rs.Fields("DeptCode")) Then
  674.                 For i = .FixedRows To .Rows - 1
  675.                     If Trim(.TextMatrix(i, Qslz)) = Trim(rs.Fields("DeptCode")) Then
  676.                         s = Trim(rs.Fields("DeptCode"))
  677.                         Exit For
  678.                     End If
  679.                 Next i
  680.             End If
  681.             
  682.             If i > .Rows - 1 Then
  683.                 MsgBox "部门 " & Trim(rs.Fields("DeptCode") & "") & " 未知!", vbOKOnly + vbCritical
  684.                 GoTo ErrCtrl
  685.             End If
  686.             For j = .FixedCols To .Cols - 1 Step 2
  687.                 If .TextMatrix(.FixedRows - 1, j) = Trim(rs.Fields("ListName") & "") Then
  688.                     Exit For
  689.                 End If
  690.             Next j
  691.             If j > .Cols - 1 Then
  692.                 MsgBox "相关项" & Trim(rs.Fields("ListName") & "") & " 未知!", vbOKOnly + vbCritical
  693.                 GoTo ErrCtrl
  694.             End If
  695.             .TextMatrix(i, j) = Val(rs.Fields("Num") & "")
  696.             If Val(.TextMatrix(i, Qslz + 2)) <> 0 Then
  697.                 .TextMatrix(i, j + 1) = Format(100 * Val(rs.Fields("Num") & "") / Val(.TextMatrix(i, Qslz + 2)), "##0.00")
  698.             End If
  699.             rs.MoveNext
  700.         Loop
  701.         .TextMatrix(.FixedRows - 1, .Cols - 2) = "未知"
  702.         rs.Close
  703.         Set rs = Nothing
  704.         .Redraw = True
  705.     End With
  706.     Me.PB_Proc.Visible = False
  707.     Me.MousePointer = 0
  708.     Exit Function
  709. ErrCtrl:
  710.     If rs.State = 1 Then
  711.         rs.Close
  712.     End If
  713.     Set rs = Nothing
  714.     Me.PB_Proc.Visible = False
  715.     Me.CxbbGrid.Redraw = True
  716.     Me.MousePointer = 0
  717.     
  718. End Function
  719. Private Sub bbyl(bbylte As Boolean)                    '报表打印预览
  720.     
  721.     Dim Bbzbt$, Bbxbt() As String, bbxbtzzxs() As Integer, Bbxbtgs As Integer
  722.     Dim Bbbwh() As String, Bbbwhzzxs() As Integer, Bbbwhgs As Integer
  723.     Bbxbtgs = 1                                         '报 表 小 标 题 行 数
  724.     Bbbwhgs = 0                                          '报 表 表 尾 行 数
  725.     ReDim Bbxbt(1 To Bbxbtgs)
  726.     ReDim bbxbtzzxs(1 To Bbxbtgs)
  727.     If Bbbwhgs <> 0 Then
  728.         ReDim Bbbwh(1 To Bbbwhgs)
  729.         ReDim Bbbwhzzxs(1 To Bbbwhgs)
  730.     End If
  731.     Bbzbt = ReportTitle
  732.     
  733.     bbxbtzzxs(1) = 0                                     '报表行组织形式(0-居左 1-居中 2-居右)
  734.     Call Scyxsjb(CxbbGrid)                               '生成报表数据
  735.     Call Scdybb(Dyymctbl, Bbzbt, Bbxbt(), bbxbtzzxs(), Bbxbtgs, Bbbwh(), Bbbwhzzxs(), Bbbwhgs, bbylte)
  736.     If Not bbylte Then
  737.         Unload DY_Tybbyldy
  738.     End If
  739.     
  740. End Sub