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

企业管理

开发平台:

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 Qr_RsBasicFrm 
  5.    Caption         =   "自定义报表"
  6.    ClientHeight    =   8595
  7.    ClientLeft      =   315
  8.    ClientTop       =   390
  9.    ClientWidth     =   11820
  10.    HelpContextID   =   2213002
  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.       BackColor       =   &H00FFFFFF&
  33.       Height          =   825
  34.       Left            =   -75
  35.       Picture         =   "查询_人事信息列表.frx":1042
  36.       ScaleHeight     =   765
  37.       ScaleWidth      =   11805
  38.       TabIndex        =   3
  39.       Top             =   600
  40.       Width           =   11865
  41.       Begin VB.Label Lab_Title 
  42.          AutoSize        =   -1  'True
  43.          BackColor       =   &H80000018&
  44.          BackStyle       =   0  'Transparent
  45.          Caption         =   "自定义报表"
  46.          BeginProperty Font 
  47.             Name            =   "宋体"
  48.             Size            =   12
  49.             Charset         =   134
  50.             Weight          =   700
  51.             Underline       =   0   'False
  52.             Italic          =   0   'False
  53.             Strikethrough   =   0   'False
  54.          EndProperty
  55.          ForeColor       =   &H00000000&
  56.          Height          =   240
  57.          Left            =   450
  58.          TabIndex        =   4
  59.          Top             =   225
  60.          Width           =   1275
  61.       End
  62.    End
  63.    Begin MSComctlLib.Toolbar GsToolbar 
  64.       Height          =   540
  65.       Left            =   11025
  66.       TabIndex        =   1
  67.       Top             =   30
  68.       Width           =   765
  69.       _ExtentX        =   1349
  70.       _ExtentY        =   953
  71.       ButtonWidth     =   1455
  72.       ButtonHeight    =   953
  73.       AllowCustomize  =   0   'False
  74.       Appearance      =   1
  75.       Style           =   1
  76.       ImageList       =   "ImageList1"
  77.       _Version        =   393216
  78.       BeginProperty Buttons {66833FE8-8583-11D1-B16A-00C0F0283628} 
  79.          NumButtons      =   3
  80.          BeginProperty Button1 {66833FEA-8583-11D1-B16A-00C0F0283628} 
  81.             Enabled         =   0   'False
  82.             Object.Visible         =   0   'False
  83.             Caption         =   "保存格式"
  84.             Key             =   "bcgs"
  85.             ImageKey        =   "bcgs"
  86.          EndProperty
  87.          BeginProperty Button2 {66833FEA-8583-11D1-B16A-00C0F0283628} 
  88.             Enabled         =   0   'False
  89.             Object.Visible         =   0   'False
  90.             Caption         =   "默认列宽"
  91.             Key             =   "hfmrgs"
  92.             ImageKey        =   "mrlk"
  93.          EndProperty
  94.          BeginProperty Button3 {66833FEA-8583-11D1-B16A-00C0F0283628} 
  95.             Caption         =   "显示项目"
  96.             Key             =   "szxsxm"
  97.             ImageKey        =   "xsxm"
  98.          EndProperty
  99.       EndProperty
  100.    End
  101.    Begin VB.Timer Timer1 
  102.       Enabled         =   0   'False
  103.       Interval        =   1
  104.       Left            =   7620
  105.       Top             =   90
  106.    End
  107.    Begin VSFlex8Ctl.VSFlexGrid CxbbGrid 
  108.       Height          =   7050
  109.       Left            =   45
  110.       TabIndex        =   0
  111.       Top             =   1485
  112.       Width           =   11775
  113.       _ExtentX        =   20770
  114.       _ExtentY        =   12435
  115.       Appearance      =   1
  116.       BorderStyle     =   1
  117.       Enabled         =   -1  'True
  118.       BeginProperty Font {0BE35203-8F91-11CE-9DE3-00AA004BB851} 
  119.          Name            =   "宋体"
  120.          Size            =   9
  121.          Charset         =   134
  122.          Weight          =   400
  123.          Underline       =   0   'False
  124.          Italic          =   0   'False
  125.          Strikethrough   =   0   'False
  126.       EndProperty
  127.       MousePointer    =   0
  128.       BackColor       =   16777215
  129.       ForeColor       =   -2147483640
  130.       BackColorFixed  =   -2147483633
  131.       ForeColorFixed  =   -2147483630
  132.       BackColorSel    =   -2147483635
  133.       ForeColorSel    =   -2147483634
  134.       BackColorBkg    =   -2147483636
  135.       BackColorAlternate=   16777215
  136.       GridColor       =   -2147483633
  137.       GridColorFixed  =   -2147483632
  138.       TreeColor       =   -2147483632
  139.       FloodColor      =   192
  140.       SheetBorder     =   -2147483642
  141.       FocusRect       =   1
  142.       HighLight       =   1
  143.       AllowSelection  =   -1  'True
  144.       AllowBigSelection=   -1  'True
  145.       AllowUserResizing=   0
  146.       SelectionMode   =   0
  147.       GridLines       =   1
  148.       GridLinesFixed  =   2
  149.       GridLineWidth   =   1
  150.       Rows            =   20
  151.       Cols            =   10
  152.       FixedRows       =   1
  153.       FixedCols       =   1
  154.       RowHeightMin    =   0
  155.       RowHeightMax    =   0
  156.       ColWidthMin     =   0
  157.       ColWidthMax     =   0
  158.       ExtendLastCol   =   0   'False
  159.       FormatString    =   ""
  160.       ScrollTrack     =   0   'False
  161.       ScrollBars      =   3
  162.       ScrollTips      =   0   'False
  163.       MergeCells      =   0
  164.       MergeCompare    =   0
  165.       AutoResize      =   -1  'True
  166.       AutoSizeMode    =   0
  167.       AutoSearch      =   0
  168.       MultiTotals     =   -1  'True
  169.       SubtotalPosition=   1
  170.       OutlineBar      =   0
  171.       OutlineCol      =   0
  172.       Ellipsis        =   0
  173.       ExplorerBar     =   0
  174.       PicturesOver    =   0   'False
  175.       FillStyle       =   0
  176.       RightToLeft     =   0   'False
  177.       PictureType     =   0
  178.       TabBehavior     =   0
  179.       OwnerDraw       =   0
  180.       Editable        =   0   'False
  181.       ShowComboButton =   -1  'True
  182.       WordWrap        =   0   'False
  183.       TextStyle       =   0
  184.       TextStyleFixed  =   0
  185.       OleDragMode     =   0
  186.       OleDropMode     =   0
  187.       DataMode        =   0
  188.       VirtualData     =   -1  'True
  189.    End
  190.    Begin MSComctlLib.Toolbar SzToolbar 
  191.       Align           =   1  'Align Top
  192.       Height          =   570
  193.       Left            =   0
  194.       TabIndex        =   2
  195.       Top             =   0
  196.       Width           =   11820
  197.       _ExtentX        =   20849
  198.       _ExtentY        =   1005
  199.       ButtonWidth     =   820
  200.       ButtonHeight    =   953
  201.       AllowCustomize  =   0   'False
  202.       Appearance      =   1
  203.       Style           =   1
  204.       ImageList       =   "ImageList1"
  205.       _Version        =   393216
  206.       BeginProperty Buttons {66833FE8-8583-11D1-B16A-00C0F0283628} 
  207.          NumButtons      =   12
  208.          BeginProperty Button1 {66833FEA-8583-11D1-B16A-00C0F0283628} 
  209.             Caption         =   "设置"
  210.             Key             =   "ymsz"
  211.             Object.ToolTipText     =   "设置打印参数"
  212.             ImageKey        =   "sz"
  213.          EndProperty
  214.          BeginProperty Button2 {66833FEA-8583-11D1-B16A-00C0F0283628} 
  215.             Caption         =   "打印"
  216.             Key             =   "dy"
  217.             Object.ToolTipText     =   "打印当前数据"
  218.             ImageKey        =   "dy"
  219.          EndProperty
  220.          BeginProperty Button3 {66833FEA-8583-11D1-B16A-00C0F0283628} 
  221.             Caption         =   "预览"
  222.             Key             =   "yl"
  223.             Object.ToolTipText     =   "显示当前数据的打印模式"
  224.             ImageKey        =   "yl"
  225.          EndProperty
  226.          BeginProperty Button4 {66833FEA-8583-11D1-B16A-00C0F0283628} 
  227.             Style           =   3
  228.          EndProperty
  229.          BeginProperty Button5 {66833FEA-8583-11D1-B16A-00C0F0283628} 
  230.             Caption         =   "查询"
  231.             Key             =   "cx"
  232.             Object.ToolTipText     =   "以某种条件取得数据"
  233.             ImageKey        =   "cx"
  234.          EndProperty
  235.          BeginProperty Button6 {66833FEA-8583-11D1-B16A-00C0F0283628} 
  236.             Caption         =   "定位"
  237.             Key             =   "Locate"
  238.             Object.ToolTipText     =   "根据工号或姓名定位人员"
  239.             ImageKey        =   "Locate"
  240.          EndProperty
  241.          BeginProperty Button7 {66833FEA-8583-11D1-B16A-00C0F0283628} 
  242.             Caption         =   "排序"
  243.             Key             =   "Order"
  244.             Object.ToolTipText     =   "以某种顺序排列当前人员"
  245.             ImageKey        =   "Order"
  246.          EndProperty
  247.          BeginProperty Button8 {66833FEA-8583-11D1-B16A-00C0F0283628} 
  248.             Caption         =   "编辑"
  249.             Key             =   "edit"
  250.             ImageIndex      =   4
  251.          EndProperty
  252.          BeginProperty Button9 {66833FEA-8583-11D1-B16A-00C0F0283628} 
  253.             Caption         =   "刷新"
  254.             Key             =   "Refresh"
  255.             Object.ToolTipText     =   "重新显示当前人事信息"
  256.             ImageKey        =   "sx"
  257.          EndProperty
  258.          BeginProperty Button10 {66833FEA-8583-11D1-B16A-00C0F0283628} 
  259.             Style           =   3
  260.          EndProperty
  261.          BeginProperty Button11 {66833FEA-8583-11D1-B16A-00C0F0283628} 
  262.             Caption         =   "帮助"
  263.             Key             =   "bz"
  264.             Object.ToolTipText     =   "显示帮助信息"
  265.             ImageKey        =   "bz"
  266.          EndProperty
  267.          BeginProperty Button12 {66833FEA-8583-11D1-B16A-00C0F0283628} 
  268.             Caption         =   "退出"
  269.             Key             =   "fh"
  270.             Object.ToolTipText     =   "退出人事信息查询"
  271.             ImageKey        =   "tc"
  272.          EndProperty
  273.       EndProperty
  274.       BorderStyle     =   1
  275.       Begin MSComctlLib.ImageList ImageList1 
  276.          Left            =   5280
  277.          Top             =   0
  278.          _ExtentX        =   1005
  279.          _ExtentY        =   1005
  280.          BackColor       =   -2147483643
  281.          ImageWidth      =   16
  282.          ImageHeight     =   16
  283.          MaskColor       =   12632256
  284.          _Version        =   393216
  285.          BeginProperty Images {2C247F25-8591-11D1-B16A-00C0F0283628} 
  286.             NumListImages   =   36
  287.             BeginProperty ListImage1 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  288.                Picture         =   "查询_人事信息列表.frx":35106
  289.                Key             =   "sz"
  290.             EndProperty
  291.             BeginProperty ListImage2 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  292.                Picture         =   "查询_人事信息列表.frx":354A0
  293.                Key             =   "dy"
  294.             EndProperty
  295.             BeginProperty ListImage3 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  296.                Picture         =   "查询_人事信息列表.frx":3583A
  297.                Key             =   "yl"
  298.             EndProperty
  299.             BeginProperty ListImage4 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  300.                Picture         =   "查询_人事信息列表.frx":35BD4
  301.                Key             =   "xg"
  302.             EndProperty
  303.             BeginProperty ListImage5 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  304.                Picture         =   "查询_人事信息列表.frx":35F6E
  305.                Key             =   "zh"
  306.             EndProperty
  307.             BeginProperty ListImage6 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  308.                Picture         =   "查询_人事信息列表.frx":36308
  309.                Key             =   "sh"
  310.             EndProperty
  311.             BeginProperty ListImage7 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  312.                Picture         =   "查询_人事信息列表.frx":366A2
  313.                Key             =   "bc"
  314.             EndProperty
  315.             BeginProperty ListImage8 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  316.                Picture         =   "查询_人事信息列表.frx":36A3C
  317.                Key             =   "fq"
  318.             EndProperty
  319.             BeginProperty ListImage9 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  320.                Picture         =   "查询_人事信息列表.frx":36DD6
  321.                Key             =   "bz"
  322.             EndProperty
  323.             BeginProperty ListImage10 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  324.                Picture         =   "查询_人事信息列表.frx":37170
  325.                Key             =   "tc"
  326.             EndProperty
  327.             BeginProperty ListImage11 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  328.                Picture         =   "查询_人事信息列表.frx":3750A
  329.                Key             =   "bcgs"
  330.             EndProperty
  331.             BeginProperty ListImage12 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  332.                Picture         =   "查询_人事信息列表.frx":378A4
  333.                Key             =   "mrlk"
  334.             EndProperty
  335.             BeginProperty ListImage13 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  336.                Picture         =   "查询_人事信息列表.frx":37C3E
  337.                Key             =   "xsxm"
  338.             EndProperty
  339.             BeginProperty ListImage14 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  340.                Picture         =   "查询_人事信息列表.frx":37FD8
  341.                Key             =   "first"
  342.             EndProperty
  343.             BeginProperty ListImage15 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  344.                Picture         =   "查询_人事信息列表.frx":38372
  345.                Key             =   "prev"
  346.             EndProperty
  347.             BeginProperty ListImage16 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  348.                Picture         =   "查询_人事信息列表.frx":3870C
  349.                Key             =   "next"
  350.             EndProperty
  351.             BeginProperty ListImage17 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  352.                Picture         =   "查询_人事信息列表.frx":38AA6
  353.                Key             =   "last"
  354.             EndProperty
  355.             BeginProperty ListImage18 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  356.                Picture         =   "查询_人事信息列表.frx":38E40
  357.                Key             =   "xx"
  358.             EndProperty
  359.             BeginProperty ListImage19 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  360.                Picture         =   "查询_人事信息列表.frx":391DA
  361.                Key             =   "define"
  362.             EndProperty
  363.             BeginProperty ListImage20 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  364.                Picture         =   "查询_人事信息列表.frx":39574
  365.                Key             =   "exec"
  366.             EndProperty
  367.             BeginProperty ListImage21 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  368.                Picture         =   "查询_人事信息列表.frx":3990E
  369.                Key             =   "xz"
  370.             EndProperty
  371.             BeginProperty ListImage22 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  372.                Picture         =   "查询_人事信息列表.frx":39CA8
  373.                Key             =   "sc"
  374.             EndProperty
  375.             BeginProperty ListImage23 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  376.                Picture         =   "查询_人事信息列表.frx":3A042
  377.                Key             =   "sx"
  378.             EndProperty
  379.             BeginProperty ListImage24 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  380.                Picture         =   "查询_人事信息列表.frx":3A3DC
  381.                Key             =   "cx"
  382.             EndProperty
  383.             BeginProperty ListImage25 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  384.                Picture         =   "查询_人事信息列表.frx":3A776
  385.                Key             =   "zd"
  386.             EndProperty
  387.             BeginProperty ListImage26 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  388.                Picture         =   "查询_人事信息列表.frx":3AB10
  389.                Key             =   "dz"
  390.             EndProperty
  391.             BeginProperty ListImage27 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  392.                Picture         =   "查询_人事信息列表.frx":3AEAA
  393.                Key             =   "ph"
  394.             EndProperty
  395.             BeginProperty ListImage28 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  396.                Picture         =   "查询_人事信息列表.frx":3B244
  397.                Key             =   "fz"
  398.             EndProperty
  399.             BeginProperty ListImage29 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  400.                Picture         =   "查询_人事信息列表.frx":3B5DE
  401.                Key             =   "Locate"
  402.             EndProperty
  403.             BeginProperty ListImage30 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  404.                Picture         =   "查询_人事信息列表.frx":3B978
  405.                Key             =   "hf"
  406.             EndProperty
  407.             BeginProperty ListImage31 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  408.                Picture         =   "查询_人事信息列表.frx":3BD12
  409.                Key             =   "pz"
  410.             EndProperty
  411.             BeginProperty ListImage32 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  412.                Picture         =   "查询_人事信息列表.frx":3C0AC
  413.                Key             =   "check"
  414.             EndProperty
  415.             BeginProperty ListImage33 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  416.                Picture         =   "查询_人事信息列表.frx":3C446
  417.                Key             =   "Sum"
  418.             EndProperty
  419.             BeginProperty ListImage34 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  420.                Picture         =   "查询_人事信息列表.frx":3C7E0
  421.                Key             =   "Total"
  422.             EndProperty
  423.             BeginProperty ListImage35 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  424.                Picture         =   "查询_人事信息列表.frx":3CB7A
  425.                Key             =   "Detail"
  426.             EndProperty
  427.             BeginProperty ListImage36 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  428.                Picture         =   "查询_人事信息列表.frx":3CF14
  429.                Key             =   "Order"
  430.             EndProperty
  431.          EndProperty
  432.       End
  433.    End
  434. End
  435. Attribute VB_Name = "Qr_RsBasicFrm"
  436. Attribute VB_GlobalNameSpace = False
  437. Attribute VB_Creatable = False
  438. Attribute VB_PredeclaredId = True
  439. Attribute VB_Exposed = False
  440. '**************************************************************************
  441. '*    模 块 名 称 :人事信息查询列表
  442. '*    功 能 描 述 :
  443. '*    程序员姓名  :苗鹏
  444. '*    最后修改人  :刘刚
  445. '*    最后修改时间:2002/01/02
  446. '*    备        注:程序中所有依实际情况自定义部分均用[>>  <<]括起
  447. '**************************************************************************
  448. Dim ReportTitle As String                '报表主标题
  449. Public sSqlWhere As String
  450. Public sSqlFrom As String
  451. Dim sFieldValue() As New CFieldValue
  452. Dim sSqlOrder As String
  453. '以下为固定使用变量
  454. Dim Dyymctbl As New DY_Dyymsz            '打印页面窗体变量
  455. Dim GridCode As String                   '显示网格网格代码
  456. Dim GridInf() As Variant                 '整个网格设置信息
  457. Dim Tsxx As String                       '系统提示信息
  458. Dim Qslz As Long                         '网格隐藏(非操作显示)列数
  459. Dim Sjhgd As Double                      '网格数据行高度
  460. Dim Sfxshjwg As Boolean                  '是否显示合计网格
  461. Dim GridBoolean() As Boolean             '网格列信息(布尔型)
  462. Dim GridStr()  As String                 '网格列信息(字符型)
  463. Dim GridInt() As Integer                 '网格列信息(整型)
  464. Dim Szzls As Integer                     '数组总列数(网格列数-1)
  465. Public BeenModify As Boolean                '反映当前记录集是否有过改动
  466. Private Sub CxbbGrid_AfterMoveColumn(ByVal Col As Long, Position As Long)
  467.     
  468.     '列移动完毕重新生成控制数组
  469.     On Error Resume Next
  470.     Dim i As Integer
  471.     With Me.CxbbGrid
  472.         ReDim sFieldValue(.Cols - 1)
  473.         For i = 0 To .Cols - 1
  474.             sFieldValue(i).FieldName = Trim(.TextMatrix(1, i))
  475.         Next i
  476.     End With
  477.     
  478.     
  479. End Sub
  480. Private Sub CxbbGrid_AfterSort(ByVal Col As Long, Order As Integer)
  481.     '排序完毕重新填充编号
  482.     Dim i As Long
  483.     With Me.CxbbGrid
  484.         For i = .FixedRows To .Rows - 1
  485.             .TextMatrix(i, Qslz) = i - .FixedRows + 1
  486.         Next i
  487.     End With
  488. End Sub
  489. Private Sub CxbbGrid_DblClick()
  490.     
  491.     If CxbbGrid.Row < CxbbGrid.FixedRows Then
  492.         Exit Sub
  493.     End If
  494.     '些改当前人的信息
  495.     With Ed_EmpArInfoFrm
  496.         .EmpID = CxbbGrid.TextMatrix(CxbbGrid.Row, 0)
  497.         .FormOwner = "Query"
  498.         .SysOwner = 1
  499.         .Show 1
  500.     End With
  501.     If Me.BeenModify Then
  502.         If Xtxxts("当前人事信息发生变化,是否刷新?", 2, 2) = 1 Then
  503.             ShowRecord sSqlWhere
  504.             Me.BeenModify = False
  505.         End If
  506.     End If
  507. End Sub
  508. Private Sub Form_Resize()                '根据窗体大小来调整网格,标题栏大小(Fixed)
  509.     On Error Resume Next
  510.     With CxbbGrid
  511.         .Width = Me.Width - 160
  512.         .Height = Me.Height - .Top - 400
  513.     End With
  514.     With Pic_Title
  515.         .Width = Me.Width - 160
  516.     End With
  517.     GsToolbar.Left = Me.Width - GsToolbar.Width - 140
  518.     With Me.PB_Proc
  519.         .Left = (Me.Width - .Width) / 2
  520.         .Top = Me.Height / 2
  521.     End With
  522. End Sub
  523. Private Sub Form_Load()                                                   '窗体装入
  524.     
  525.     '调入打印页面设置窗体
  526.     ReportTitle = "人事信息"
  527.     XtReportCode = "pm_BasicFrm"
  528.     Load Dyymctbl
  529.     Me.Caption = "人事信息查询"
  530.     Me.Lab_Title = ReportTitle
  531.     '调整标题栏及网格、格式工具条位置(Fixed)
  532.     Pic_Title.Left = 40
  533.     Pic_Title.Top = SzToolbar.Top + SzToolbar.Height - 10
  534.     CxbbGrid.Left = Pic_Title.Left
  535.     CxbbGrid.Top = Pic_Title.Top + Pic_Title.Height + 20
  536.     
  537.     '调 入 网 格(Fixed)
  538.     GridCode = "Rs_BasicFrm"
  539.     Call BzWgcsh(CxbbGrid, GridCode, GridInf(), GridBoolean(), GridInt(), GridStr())
  540.     Qslz = GridInf(1)
  541.     Sjhgd = GridInf(2)
  542.     Sfxshjwg = GridInf(7)
  543.     Szzls = CxbbGrid.Cols - 1
  544.     iBeginCol = Val(GridInf(1))
  545.     
  546.     '初始化默认值
  547.     sSqlOrder = " order by EmpNo "
  548.     Me.sSqlFrom = "From Rs_BasicInfo inner join Rs_ExtendInfo on Rs_BasicInfo.EmpID=Rs_ExtendInfo.EmpID"
  549. End Sub
  550. Private Sub Form_Unload(Cancel As Integer)                                  '窗体卸载
  551.     '卸载打印页面设置窗体
  552.     Unload Dyymctbl
  553.     Security_Log "Pm_RsQuery", Xtczybm, 2, False  '用户退出时写上机日志
  554. End Sub
  555. Private Sub GsToolbar_ButtonClick(ByVal Button As MSComctlLib.Button)                '网格格式调整(Fixed)
  556.     Select Case Button.Key
  557.         Case "szxsxm"                                        '设置显示项目
  558.             Dim frm As New Salary_ShowItem_Frm
  559.             Set frm.vs = Me.CxbbGrid
  560.             frm.iBeginCol = iSumEndCol + 1
  561.             frm.Show 1
  562.             Set frm = Nothing
  563.     End Select
  564. End Sub
  565. Private Sub SzToolbar_ButtonClick(ByVal Button As MSComctlLib.Button)
  566.     Select Case Button.Key
  567.     Case "ymsz"                                          '页面设置
  568.         Dyymctbl.Show 1
  569.     Case "yl"                                            '预 览
  570.         bbyl (True)
  571.     Case "dy"                                            '打 印
  572.         bbyl (False)
  573.     Case "cx"                                            '查 询
  574.         Qr_RsBscCndFrm.Show 1
  575.     Case "edit"
  576.         CxbbGrid_DblClick
  577.     Case "Order"    '排序
  578.         Dim frm As New Order_Frm
  579.         With frm
  580.             .Show 1
  581.             If .bOrder = True Then
  582.                 If Trim(.str_SQLOrderBy) = "" Then
  583.                     sSqlOrder = " Order by Rs_BasicInfo.EmpNo "
  584.                 Else
  585.                     sSqlOrder = .str_SQLOrderBy
  586.                 End If
  587.                 ShowRecord Me.sSqlWhere
  588.             End If
  589.         End With
  590.         Set frm = Nothing
  591.     Case "Locate" '定位
  592.         With Locate_Frm
  593.             Set .frm = Me
  594.             .Show 1
  595.         End With
  596.     Case "Refresh"      '刷新
  597.         ShowRecord sSqlWhere
  598.     Case "bz"                                            '帮 助
  599.         Call F1bz
  600.     Case "fh"                                            '退 出
  601.         Unload Me
  602.     End Select
  603. End Sub
  604. Public Function Locate(sPerson As String) As Integer '根据工号或姓名定位人员,
  605.     '根据工号或姓名定位人员,成功返回1,没有找到返回0,错误返回-1
  606.     On Error GoTo ErrCtrl
  607.     
  608.     Dim i As Long, j As Long
  609.     Dim iCol(1) As Integer
  610.     Dim bFound As Boolean
  611.     
  612.     sPerson = UCase(Trim(sPerson))
  613.     With Me.CxbbGrid
  614.         If .Rows = .FixedRows Then
  615.             Exit Function
  616.         End If
  617.         
  618.         If GetCol(sFieldValue, iCol(0), iCol(1), Val(GridInf(1)) + 1) <> 1 Then
  619.             MsgBox "无法找到工号和姓名列,定位失败!", vbOKOnly + vbCritical
  620.             GoTo ErrCtrl
  621.         End If
  622.         bFound = False
  623.         For j = 0 To 1
  624.             If iCol(j) >= 0 And bFound = False Then
  625.                  '从当前行的下一行找到末尾
  626.                 For i = .Row + 1 To .Rows - 1
  627.                     If UCase(Trim(.TextMatrix(i, iCol(j)))) = sPerson Then
  628.                         bFound = True
  629.                         .Row = i
  630.                         .TopRow = i
  631.                         Exit For
  632.                     End If
  633.                 Next i
  634.                 '如果没有找到,从数据开始行找到当前行
  635.                 If bFound = False Then
  636.                     For i = .FixedRows To .Row
  637.                         If UCase(Trim(.TextMatrix(i, iCol(j)))) = sPerson Then
  638.                             bFound = True
  639.                             .Row = i
  640.                             .TopRow = i
  641.                             Exit For
  642.                         End If
  643.                     Next i
  644.                 End If
  645.             End If
  646.         Next j
  647.         If bFound = False Then
  648.             Locate = 0
  649.         Else
  650.             Locate = 1
  651.         End If
  652.     End With
  653.     Exit Function
  654.     
  655. ErrCtrl:
  656.     Locate = -1
  657. End Function
  658. Public Function ShowRecord(sWhere As String)                                    '生成查询结果(Define)
  659.     On Error GoTo ErrCtrl
  660.     
  661.     Dim rs As New ADODB.Recordset
  662.     Dim s As String
  663.     Dim i As Long
  664.     
  665.     If Trim(sSqlWhere) = "" Or Trim(sSqlFrom) = "" Then
  666.         Exit Function
  667.     End If
  668.     Me.MousePointer = 11
  669.     sExec = " SELECT Rs_BasicInfo.EmpID  AS Rs_BasicInfo#EmpID " & Chr(10)
  670.     
  671.     ReDim sFieldValue(0)
  672.     sFieldValue(0).FieldValueName = ""
  673.     
  674.     s = "SELECT rtrim(TableName) AS TableName " & Chr(10) _
  675.         & ",rtrim(FieldName) AS FieldName " & Chr(10) _
  676.         & ",Width AS FieldWidth " & Chr(10) _
  677.         & ",FieldLength AS FieldLength " & Chr(10) _
  678.         & ",FieldDotL AS FieldDotL " & Chr(10) _
  679.         & ",sYnShow AS FieldIsShow " & Chr(10) _
  680.         & ",FieldType AS FieldType " & Chr(10) _
  681.         & ",rtrim(ChName) AS FieldNameC " & Chr(10) _
  682.         & ",rtrim(CorTable) AS CorTable " & Chr(10) _
  683.         & ",rtrim(IndexCode) AS IndexCode " & Chr(10) _
  684.         & ",rtrim(IndexName) AS IndexName " & Chr(10) _
  685.         & "FROM  Rs_Items  " & Chr(10) _
  686.         & "WHERE (SID=2 or Pm=1) and FieldName<>'Pic' " _
  687.         & "ORDER BY sTab "
  688.     '填充报表的其他字段信息
  689.     Set rs = Cw_DataEnvi.DataConnect.Execute(s)
  690.     With rs
  691.         Do While Not .EOF()
  692.             If sFieldValue(0).FieldName <> "" Then
  693.                 ReDim Preserve sFieldValue(UBound(sFieldValue) + 1)
  694.             End If
  695.             sFieldValue(UBound(sFieldValue)).FieldNameC = Trim(!FieldNameC)
  696.             sFieldValue(UBound(sFieldValue)).FieldType = Trim(!FieldType)
  697.             sFieldValue(UBound(sFieldValue)).FieldName = Trim(!TableName) & "." & Trim(!FieldName)
  698.             sFieldValue(UBound(sFieldValue)).FieldWidth = Val(!FieldWidth & "")
  699.             sFieldValue(UBound(sFieldValue)).FieldIsShow = !FieldIsShow
  700.             sFieldValue(UBound(sFieldValue)).FieldLengthInt = !FieldLength - !FieldDotL
  701.             sFieldValue(UBound(sFieldValue)).FieldLengthFra = !FieldDotL
  702.             If Trim(!CorTable) <> "" Then
  703.                 sFieldValue(UBound(sFieldValue)).FieldValueName = Trim(!TableName) & "#" & Trim(!FieldName) & "#N"
  704.                 sExec = sExec & ", " & sFieldValue(UBound(sFieldValue)).FieldValueName & " =" _
  705.                  & "(SELECT " & Trim(!IndexName) & " FROM " & Trim(!CorTable) & " a WHERE a." & Trim(!IndexCode) & "=" & Trim(!TableName) & "." & Trim(!FieldName) & ")" & Chr(10)
  706.             Else
  707.                 sFieldValue(UBound(sFieldValue)).FieldValueName = Trim(!TableName) & "#" & Trim(!FieldName)
  708.                 sExec = sExec & ", " & sFieldValue(UBound(sFieldValue)).FieldName & " as " & sFieldValue(UBound(sFieldValue)).FieldValueName
  709.             End If
  710.             
  711.             .MoveNext
  712.         Loop
  713.     End With
  714.     rs.Close
  715.         
  716.     With Me.CxbbGrid
  717.         '初始化网格
  718.         .Redraw = False
  719.         .Cols = Qslz
  720.         .Cols = UBound(sFieldValue) + 1 + Qslz + 1
  721.         .FixedCols = Qslz + 1
  722.         .Rows = .FixedRows
  723.         
  724.         For i = Qslz + 1 To .Cols - 1
  725.             .ColWidth(i) = (sFieldValue(i - Qslz - 1).FieldLengthInt + sFieldValue(i - Qslz - 1).FieldLengthFra) * 105
  726.             .TextMatrix(.FixedRows - 1, i) = sFieldValue(i - Qslz - 1).FieldNameC
  727.             .ColHidden(i) = IIf(sFieldValue(i - Qslz - 1).FieldIsShow, False, True)
  728.             If sFieldValue(i - Qslz - 1).FieldType = DATA_NUMERIC Then
  729.                 .ColAlignment(i) = flexAlignRightCenter
  730.                 .ColFormat(i) = IIf(sFieldValue(i - Qslz - 1).FieldLengthFra = 0, "#,##0", "#,##0." & String(sFieldValue(i - Qslz - 1).FieldLengthFra, "0"))
  731.             Else
  732.                 .ColAlignment(i) = flexAlignLeftCenter
  733.                 .ColFormat(i) = ""
  734.             End If
  735.             .FixedAlignment(i) = flexAlignCenterCenter
  736.         Next i
  737.         .ColWidth(Qslz) = 1000
  738.         .ColAlignment(Qslz) = flexAlignRightCenter
  739.         .ColFormat(Qslz) = ""
  740.         .FixedAlignment(Qslz) = flexAlignCenterCenter
  741.         .TextMatrix(.FixedRows - 1, Qslz) = "编号"
  742.         
  743.         sExec = sExec & Me.sSqlFrom & Me.sSqlWhere & sSqlOrder
  744. '-----------------------------------------------
  745.         Ed_EmpArInfoFrm.QuerySql = sExec
  746. '-----------------------------------------------
  747.         
  748.         Set rs = Cw_DataEnvi.DataConnect.Execute(sExec)
  749.         .Rows = .FixedRows + rs.RecordCount
  750.         '初始化进度条
  751.         Me.PB_Proc.Min = .FixedRows
  752.         Me.PB_Proc.Max = .Rows + 1
  753.         Me.PB_Proc.Value = Me.PB_Proc.Min
  754.         Me.PB_Proc.Visible = True
  755.         '填充数据
  756.         For i = .FixedRows To .Rows - 1
  757.             .RowHeight(i) = Sjhgd
  758.             Me.PB_Proc.Value = i
  759.             For j = Qslz + 1 To .Cols - 1
  760.                 If sFieldValue(j - Qslz - 1).FieldType = DATA_DATE Then
  761.                     .TextMatrix(i, j) = Format(Trim(rs.Fields(Trim(sFieldValue(j - Qslz - 1).FieldValueName)) & ""), "yyyy-mm-dd")
  762.                 Else
  763.                     .TextMatrix(i, j) = Trim(rs.Fields(Trim(sFieldValue(j - Qslz - 1).FieldValueName)) & "")
  764.                 End If
  765.             Next j
  766.             .TextMatrix(i, 0) = rs.Fields("Rs_BasicInfo#EmpID")
  767.             .TextMatrix(i, Qslz) = i - .FixedRows + 1
  768.             rs.MoveNext
  769.         Next i
  770.         rs.Close
  771.         Me.PB_Proc.Visible = False
  772.         .Redraw = True
  773.     End With
  774.     Set rs = Nothing
  775.     Me.MousePointer = 0
  776.     Exit Function
  777.     
  778. ErrCtrl:
  779.     If rs.State = 1 Then
  780.         rs.Close
  781.     End If
  782.     Set rs = Nothing
  783.     Me.PB_Proc.Visible = False
  784.     Me.CxbbGrid.Redraw = True
  785.     Me.MousePointer = 0
  786. End Function
  787. Private Sub bbyl(bbylte As Boolean)                    '报表打印预览
  788.     Dim Bbzbt$, Bbxbt() As String, bbxbtzzxs() As Integer, Bbxbtgs As Integer
  789.     Dim Bbbwh() As String, Bbbwhzzxs() As Integer, Bbbwhgs As Integer
  790.     Bbxbtgs = 1                                         '报 表 小 标 题 行 数
  791.     Bbbwhgs = 0                                          '报 表 表 尾 行 数
  792.     ReDim Bbxbt(1 To Bbxbtgs)
  793.     ReDim bbxbtzzxs(1 To Bbxbtgs)
  794.     If Bbbwhgs <> 0 Then
  795.         ReDim Bbbwh(1 To Bbbwhgs)
  796.         ReDim Bbbwhzzxs(1 To Bbbwhgs)
  797.     End If
  798.     Bbzbt = ReportTitle
  799.     
  800.     bbxbtzzxs(1) = 0                                     '报表行组织形式(0-居左 1-居中 2-居右)
  801.     Call Scyxsjb(CxbbGrid)                               '生成报表数据
  802.     Call Scdybb(Dyymctbl, Bbzbt, Bbxbt(), bbxbtzzxs(), Bbxbtgs, Bbbwh(), Bbbwhzzxs(), Bbbwhgs, bbylte)
  803.     If Not bbylte Then
  804.         Unload DY_Tybbyldy
  805.     End If
  806. End Sub