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

企业管理

开发平台:

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   =   5001
  11.    Icon            =   "查询_人事信息列表.frx":0000
  12.    KeyPreview      =   -1  'True
  13.    LinkTopic       =   "Form1"
  14.    MDIChild        =   -1  'True
  15.    ScaleHeight     =   8595
  16.    ScaleWidth      =   11820
  17.    WindowState     =   2  'Maximized
  18.    Begin MSComctlLib.ProgressBar PB_Proc 
  19.       Height          =   330
  20.       Left            =   3795
  21.       TabIndex        =   5
  22.       Top             =   3735
  23.       Visible         =   0   'False
  24.       Width           =   4440
  25.       _ExtentX        =   7832
  26.       _ExtentY        =   582
  27.       _Version        =   393216
  28.       Appearance      =   1
  29.       Scrolling       =   1
  30.    End
  31.    Begin VB.PictureBox Pic_Title 
  32.       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      =   13
  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.             Style           =   3
  249.          EndProperty
  250.          BeginProperty Button9 {66833FEA-8583-11D1-B16A-00C0F0283628} 
  251.             Caption         =   "编辑"
  252.             Key             =   "edit"
  253.             ImageIndex      =   4
  254.          EndProperty
  255.          BeginProperty Button10 {66833FEA-8583-11D1-B16A-00C0F0283628} 
  256.             Caption         =   "刷新"
  257.             Key             =   "Refresh"
  258.             Object.ToolTipText     =   "重新显示当前人事信息"
  259.             ImageKey        =   "sx"
  260.          EndProperty
  261.          BeginProperty Button11 {66833FEA-8583-11D1-B16A-00C0F0283628} 
  262.             Style           =   3
  263.          EndProperty
  264.          BeginProperty Button12 {66833FEA-8583-11D1-B16A-00C0F0283628} 
  265.             Caption         =   "帮助"
  266.             Key             =   "bz"
  267.             Object.ToolTipText     =   "显示帮助信息"
  268.             ImageKey        =   "bz"
  269.          EndProperty
  270.          BeginProperty Button13 {66833FEA-8583-11D1-B16A-00C0F0283628} 
  271.             Caption         =   "退出"
  272.             Key             =   "fh"
  273.             Object.ToolTipText     =   "退出本报表"
  274.             ImageKey        =   "tc"
  275.          EndProperty
  276.       EndProperty
  277.       BorderStyle     =   1
  278.       Begin MSComctlLib.ImageList ImageList1 
  279.          Left            =   5280
  280.          Top             =   0
  281.          _ExtentX        =   1005
  282.          _ExtentY        =   1005
  283.          BackColor       =   -2147483643
  284.          ImageWidth      =   16
  285.          ImageHeight     =   16
  286.          MaskColor       =   12632256
  287.          _Version        =   393216
  288.          BeginProperty Images {2C247F25-8591-11D1-B16A-00C0F0283628} 
  289.             NumListImages   =   36
  290.             BeginProperty ListImage1 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  291.                Picture         =   "查询_人事信息列表.frx":1DF82
  292.                Key             =   "sz"
  293.             EndProperty
  294.             BeginProperty ListImage2 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  295.                Picture         =   "查询_人事信息列表.frx":1E31C
  296.                Key             =   "dy"
  297.             EndProperty
  298.             BeginProperty ListImage3 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  299.                Picture         =   "查询_人事信息列表.frx":1E6B6
  300.                Key             =   "yl"
  301.             EndProperty
  302.             BeginProperty ListImage4 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  303.                Picture         =   "查询_人事信息列表.frx":1EA50
  304.                Key             =   "xg"
  305.             EndProperty
  306.             BeginProperty ListImage5 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  307.                Picture         =   "查询_人事信息列表.frx":1EDEA
  308.                Key             =   "zh"
  309.             EndProperty
  310.             BeginProperty ListImage6 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  311.                Picture         =   "查询_人事信息列表.frx":1F184
  312.                Key             =   "sh"
  313.             EndProperty
  314.             BeginProperty ListImage7 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  315.                Picture         =   "查询_人事信息列表.frx":1F51E
  316.                Key             =   "bc"
  317.             EndProperty
  318.             BeginProperty ListImage8 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  319.                Picture         =   "查询_人事信息列表.frx":1F8B8
  320.                Key             =   "fq"
  321.             EndProperty
  322.             BeginProperty ListImage9 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  323.                Picture         =   "查询_人事信息列表.frx":1FC52
  324.                Key             =   "bz"
  325.             EndProperty
  326.             BeginProperty ListImage10 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  327.                Picture         =   "查询_人事信息列表.frx":1FFEC
  328.                Key             =   "tc"
  329.             EndProperty
  330.             BeginProperty ListImage11 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  331.                Picture         =   "查询_人事信息列表.frx":20386
  332.                Key             =   "bcgs"
  333.             EndProperty
  334.             BeginProperty ListImage12 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  335.                Picture         =   "查询_人事信息列表.frx":20720
  336.                Key             =   "mrlk"
  337.             EndProperty
  338.             BeginProperty ListImage13 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  339.                Picture         =   "查询_人事信息列表.frx":20ABA
  340.                Key             =   "xsxm"
  341.             EndProperty
  342.             BeginProperty ListImage14 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  343.                Picture         =   "查询_人事信息列表.frx":20E54
  344.                Key             =   "first"
  345.             EndProperty
  346.             BeginProperty ListImage15 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  347.                Picture         =   "查询_人事信息列表.frx":211EE
  348.                Key             =   "prev"
  349.             EndProperty
  350.             BeginProperty ListImage16 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  351.                Picture         =   "查询_人事信息列表.frx":21588
  352.                Key             =   "next"
  353.             EndProperty
  354.             BeginProperty ListImage17 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  355.                Picture         =   "查询_人事信息列表.frx":21922
  356.                Key             =   "last"
  357.             EndProperty
  358.             BeginProperty ListImage18 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  359.                Picture         =   "查询_人事信息列表.frx":21CBC
  360.                Key             =   "xx"
  361.             EndProperty
  362.             BeginProperty ListImage19 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  363.                Picture         =   "查询_人事信息列表.frx":22056
  364.                Key             =   "define"
  365.             EndProperty
  366.             BeginProperty ListImage20 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  367.                Picture         =   "查询_人事信息列表.frx":223F0
  368.                Key             =   "exec"
  369.             EndProperty
  370.             BeginProperty ListImage21 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  371.                Picture         =   "查询_人事信息列表.frx":2278A
  372.                Key             =   "xz"
  373.             EndProperty
  374.             BeginProperty ListImage22 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  375.                Picture         =   "查询_人事信息列表.frx":22B24
  376.                Key             =   "sc"
  377.             EndProperty
  378.             BeginProperty ListImage23 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  379.                Picture         =   "查询_人事信息列表.frx":22EBE
  380.                Key             =   "sx"
  381.             EndProperty
  382.             BeginProperty ListImage24 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  383.                Picture         =   "查询_人事信息列表.frx":23258
  384.                Key             =   "cx"
  385.             EndProperty
  386.             BeginProperty ListImage25 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  387.                Picture         =   "查询_人事信息列表.frx":235F2
  388.                Key             =   "zd"
  389.             EndProperty
  390.             BeginProperty ListImage26 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  391.                Picture         =   "查询_人事信息列表.frx":2398C
  392.                Key             =   "dz"
  393.             EndProperty
  394.             BeginProperty ListImage27 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  395.                Picture         =   "查询_人事信息列表.frx":23D26
  396.                Key             =   "ph"
  397.             EndProperty
  398.             BeginProperty ListImage28 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  399.                Picture         =   "查询_人事信息列表.frx":240C0
  400.                Key             =   "fz"
  401.             EndProperty
  402.             BeginProperty ListImage29 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  403.                Picture         =   "查询_人事信息列表.frx":2445A
  404.                Key             =   "Locate"
  405.             EndProperty
  406.             BeginProperty ListImage30 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  407.                Picture         =   "查询_人事信息列表.frx":247F4
  408.                Key             =   "hf"
  409.             EndProperty
  410.             BeginProperty ListImage31 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  411.                Picture         =   "查询_人事信息列表.frx":24B8E
  412.                Key             =   "pz"
  413.             EndProperty
  414.             BeginProperty ListImage32 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  415.                Picture         =   "查询_人事信息列表.frx":24F28
  416.                Key             =   "check"
  417.             EndProperty
  418.             BeginProperty ListImage33 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  419.                Picture         =   "查询_人事信息列表.frx":252C2
  420.                Key             =   "Sum"
  421.             EndProperty
  422.             BeginProperty ListImage34 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  423.                Picture         =   "查询_人事信息列表.frx":2565C
  424.                Key             =   "Total"
  425.             EndProperty
  426.             BeginProperty ListImage35 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  427.                Picture         =   "查询_人事信息列表.frx":259F6
  428.                Key             =   "Detail"
  429.             EndProperty
  430.             BeginProperty ListImage36 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  431.                Picture         =   "查询_人事信息列表.frx":25D90
  432.                Key             =   "Order"
  433.             EndProperty
  434.          EndProperty
  435.       End
  436.    End
  437. End
  438. Attribute VB_Name = "Qr_RsBasicFrm"
  439. Attribute VB_GlobalNameSpace = False
  440. Attribute VB_Creatable = False
  441. Attribute VB_PredeclaredId = True
  442. Attribute VB_Exposed = False
  443. '**************************************************************************
  444. '*    模 块 名 称 :人事信息查询列表
  445. '*    功 能 描 述 :
  446. '*    程序员姓名  :苗鹏
  447. '*    最后修改人  :刘刚
  448. '*    最后修改时间:2002/01/02
  449. '*    备        注:程序中所有依实际情况自定义部分均用[>>  <<]括起
  450. '**************************************************************************
  451. Option Explicit
  452. Dim ReportTitle As String                '报表主标题
  453. Public sSqlWhere As String
  454. Public sSqlFrom As String
  455. Dim sFieldValue() As New CFieldValue
  456. Dim sSqlOrder As String
  457. '以下为固定使用变量
  458. Dim Dyymctbl As New DY_Dyymsz            '打印页面窗体变量
  459. Dim GridCode As String                   '显示网格网格代码
  460. Dim GridInf() As Variant                 '整个网格设置信息
  461. Dim Tsxx As String                       '系统提示信息
  462. Dim Qslz As Long                         '网格隐藏(非操作显示)列数
  463. Dim Sjhgd As Double                      '网格数据行高度
  464. Dim Sfxshjwg As Boolean                  '是否显示合计网格
  465. Dim GridBoolean() As Boolean             '网格列信息(布尔型)
  466. Dim GridStr()  As String                 '网格列信息(字符型)
  467. Dim GridInt() As Integer                 '网格列信息(整型)
  468. Dim Szzls As Integer                     '数组总列数(网格列数-1)
  469. Public BeenModify As Boolean                '反映当前记录集是否有过改动
  470. Private Sub CxbbGrid_AfterMoveColumn(ByVal Col As Long, Position As Long)
  471.     On Error Resume Next
  472.     Dim i As Integer
  473.     With Me.CxbbGrid
  474.         ReDim sFieldValue(.Cols - 1)
  475.         For i = 0 To .Cols - 1
  476.             sFieldValue(i).FieldName = Trim(.TextMatrix(1, i))
  477.         Next i
  478.     End With
  479. End Sub
  480. Private Sub CxbbGrid_AfterSort(ByVal Col As Long, Order As Integer)
  481.     Dim i As Long
  482.     With Me.CxbbGrid
  483.         For i = .FixedRows To .Rows - 1
  484.             .TextMatrix(i, Qslz) = i - .FixedRows + 1
  485.         Next i
  486.     End With
  487.     
  488. End Sub
  489. Private Sub CxbbGrid_DblClick()
  490.         '非数据行退出
  491.     If CxbbGrid.Row < CxbbGrid.FixedRows Then
  492.         Exit Sub
  493.     End If
  494.     With Ed_EmpArInfoFrm
  495.         .EmpId = CxbbGrid.TextMatrix(CxbbGrid.Row, 0)
  496.         .SysOwner = 0                                                       '人事调用
  497.         .FormOwner = "Query"
  498.         .Show 1
  499.     End With
  500.     If Me.BeenModify Then
  501.         If Xtxxts("当前人事信息发生变化,是否刷新?", 2, 2) = 1 Then
  502.             ShowRecord sSqlWhere
  503.             Me.BeenModify = False
  504.         End If
  505.     End If
  506. End Sub
  507. Private Sub Form_Resize()                '根据窗体大小来调整网格,标题栏大小(Fixed)
  508.     On Error Resume Next
  509.     With CxbbGrid
  510.         .Width = Me.Width - 160
  511.         .Height = Me.Height - .Top - 400
  512.     End With
  513.     With Pic_Title
  514.         .Width = Me.Width - 160
  515.     End With
  516.     
  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.     
  523. End Sub
  524. Private Sub Form_Load()                                                   '窗体装入
  525. Dim iBeginCol As Integer
  526.     '调入打印页面设置窗体
  527.     ReportTitle = "人事信息"
  528.     XtReportCode = "Rs_BasicFrm"
  529.     Load Dyymctbl
  530.     Me.Caption = ReportTitle
  531.     Me.Lab_Title = ReportTitle
  532.     '调整标题栏及网格、格式工具条位置(Fixed)
  533.     Pic_Title.Left = 40
  534.     Pic_Title.Top = SzToolbar.Top + SzToolbar.Height - 10
  535.     CxbbGrid.Left = Pic_Title.Left
  536.     CxbbGrid.Top = Pic_Title.Top + Pic_Title.Height + 20
  537.     
  538.     '调 入 网 格(Fixed)
  539.     GridCode = "Rs_BasicFrm"
  540.     Call BzWgcsh(CxbbGrid, GridCode, GridInf(), GridBoolean(), GridInt(), GridStr())
  541.     Qslz = GridInf(1)
  542.     Sjhgd = GridInf(2)
  543.     Sfxshjwg = GridInf(7)
  544.     Szzls = CxbbGrid.Cols - 1
  545.     iBeginCol = Val(GridInf(1))
  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.     '卸载打印页面设置窗体
  553.     Unload Dyymctbl
  554.     Security_Log "Rs_Qr_RsBasic", Xtczybm, 2, False  '用户退出时写上机日志
  555. End Sub
  556. Private Sub CxbbGrid_BeforeMoveColumn(ByVal Col As Long, Position As Long)           '网格列发生移动时自动交换网格索引信息
  557.  
  558.     
  559. End Sub
  560. Private Sub GsToolbar_ButtonClick(ByVal Button As MSComctlLib.Button)                '网格格式调整(Fixed)
  561.     Dim iSumEndCol As Integer
  562.     Select Case Button.Key
  563.        Case "szxsxm"                                        '设置显示项目
  564.         Dim frm As New Qr_ShowItemsFrm
  565.         Set frm.vs = Me.CxbbGrid
  566.         frm.iBeginCol = iSumEndCol + 1
  567.         frm.Show 1
  568.         Set frm = Nothing
  569.     End Select
  570.     
  571. End Sub
  572. Private Sub SzToolbar_ButtonClick(ByVal Button As MSComctlLib.Button)
  573.     
  574.     Select Case Button.Key
  575.     Case "ymsz"                                          '页面设置
  576.         Dyymctbl.Show 1
  577.     Case "yl"                                            '预 览
  578.         bbyl (True)
  579.     Case "dy"                                            '打 印
  580.         bbyl (False)
  581.     Case "cx"                                            '查 询
  582.         Qr_RsBscCndFrm.Show 1
  583.     Case "edit"
  584.         CxbbGrid_DblClick
  585.     Case "Order" '排序
  586.         Dim frm As New Order_Frm
  587.         With frm
  588.             .Show 1
  589.             If .bOrder = True Then
  590.                 If Trim(.str_SQLOrderBy) = "" Then
  591.                     sSqlOrder = " Order by Rs_BasicInfo.EmpNo "
  592.                 Else
  593.                     sSqlOrder = .str_SQLOrderBy
  594.                 End If
  595.                 ShowRecord Me.sSqlWhere
  596.             End If
  597.         End With
  598.         Set frm = Nothing
  599.     Case "Locate"
  600.         With Locate_Frm
  601.             Set .frm = Me
  602.             .Show 1
  603.         End With
  604.     Case "Refresh"      '刷新
  605.         ShowRecord sSqlWhere
  606.     Case "bz"                                            '帮 助
  607.         Call F1bz
  608.     Case "fh"                                            '退 出
  609.         Unload Me
  610.     End Select
  611.     
  612.     
  613. End Sub
  614. Public Function Locate(sPerson As String) As Integer
  615.     '根据工号或姓名定位人员,成功返回1,没有找到返回0,错误返回-1
  616.     On Error GoTo ErrCtrl
  617.     Dim i As Long, j As Long
  618.     Dim iCol(1) As Integer
  619.     Dim bFound As Boolean
  620.     
  621.     sPerson = UCase(Trim(sPerson))
  622.     
  623.     With Me.CxbbGrid
  624.         If .Rows = .FixedRows Then
  625.             Exit Function
  626.         End If
  627.         
  628.         If GetCol(sFieldValue, iCol(0), iCol(1), Val(GridInf(1)) + 1) <> 1 Then
  629.             MsgBox "无法找到工号和姓名列,定位失败!", vbOKOnly + vbCritical
  630.             Exit Function
  631.         End If
  632.         bFound = False
  633.         For j = 0 To 1
  634.             If iCol(j) >= 0 And bFound = False Then
  635.                  '从当前行的下一行找到末尾
  636.                 For i = .Row + 1 To .Rows - 1
  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.                 '如果没有找到,从数据开始行找到当前行
  645.                 If bFound = False Then
  646.                     For i = .FixedRows To .Row
  647.                         If UCase(Trim(.TextMatrix(i, iCol(j)))) = sPerson Then
  648.                             bFound = True
  649.                             .Row = i
  650.                             .TopRow = i
  651.                             '.Cell(flexcpBackColor, .Row, .FixedCols, .Row, .Cols - 1) = &HFFC0C0
  652.                             Exit For
  653.                         End If
  654.                     Next i
  655.                 End If
  656.             End If
  657.         Next j
  658.         
  659.         If bFound = False Then
  660.             Locate = 0
  661.         Else
  662.             Locate = 1
  663.         End If
  664.         
  665.     End With
  666.     Exit Function
  667. ErrCtrl:
  668.     Locate = -1
  669. End Function
  670. Public Function ShowRecord(sWhere As String)                                    '生成查询结果(Define)
  671.     '显示数据
  672. Dim sExec As String
  673. Dim j As Integer
  674.     On Error GoTo ErrCtrl
  675.     
  676.     
  677.     Dim rs As New ADODB.Recordset
  678.     Dim s As String
  679.     Dim i As Long
  680.     
  681.     If Trim(sSqlWhere) = "" Or Trim(sSqlFrom) = "" Then
  682.         Exit Function
  683.     End If
  684.     Me.MousePointer = 11
  685.     sExec = " select Rs_BasicInfo.EmpID  as Rs_BasicInfo#EmpID " & Chr(10)
  686.     
  687.     ReDim sFieldValue(0)
  688.     sFieldValue(0).FieldValueName = ""
  689.     
  690.     s = "select rtrim(TableName) as TableName " & Chr(10) _
  691.         & ",rtrim(FieldName) as FieldName " & Chr(10) _
  692.         & ",Width as FieldWidth " & Chr(10) _
  693.         & ",FieldLength as FieldLength " & Chr(10) _
  694.         & ",FieldDotL as FieldDotL " & Chr(10) _
  695.         & ",YnShow as FieldIsShow " & Chr(10) _
  696.         & ",FieldType as FieldType " & Chr(10) _
  697.         & ",rtrim(ChName) as FieldNameC " & Chr(10) _
  698.         & ",rtrim(CorTable) as CorTable " & Chr(10) _
  699.         & ",rtrim(IndexCode) as IndexCode " & Chr(10) _
  700.         & ",rtrim(IndexName) as IndexName " & Chr(10) _
  701.         & "from  Rs_Items  " & Chr(10) _
  702.         & "where (SID=1 or Rs=1) and FieldName<>'Pic' " _
  703.         & "Order by Tab "
  704.     '填充报表的其他字段信息
  705.     Set rs = Cw_DataEnvi.DataConnect.Execute(s)
  706.     With rs
  707.         Do While Not .EOF()
  708.             If sFieldValue(0).FieldName <> "" Then
  709.                 ReDim Preserve sFieldValue(UBound(sFieldValue) + 1)
  710.             End If
  711.             sFieldValue(UBound(sFieldValue)).FieldNameC = Trim(!FieldNameC)
  712.             sFieldValue(UBound(sFieldValue)).FieldType = Trim(!FieldType)
  713.             sFieldValue(UBound(sFieldValue)).FieldName = Trim(!TableName) & "." & Trim(!FieldName)
  714.             sFieldValue(UBound(sFieldValue)).FieldWidth = Val(!FieldWidth & "")
  715.             sFieldValue(UBound(sFieldValue)).FieldIsShow = !FieldIsShow
  716.             sFieldValue(UBound(sFieldValue)).FieldLengthInt = !FieldLength - !FieldDotL
  717.             sFieldValue(UBound(sFieldValue)).FieldLengthFra = !FieldDotL
  718.             If Trim(!CorTable) <> "" Then
  719.                 sFieldValue(UBound(sFieldValue)).FieldValueName = Trim(!TableName) & "#" & Trim(!FieldName) & "#N"
  720.                 sExec = sExec & ", " & sFieldValue(UBound(sFieldValue)).FieldValueName & " =" _
  721.                  & "(select " & Trim(!IndexName) & " from " & Trim(!CorTable) & " a where a." & Trim(!IndexCode) & "=" & Trim(!TableName) & "." & Trim(!FieldName) & ")" & Chr(10)
  722.             Else
  723.                 sFieldValue(UBound(sFieldValue)).FieldValueName = Trim(!TableName) & "#" & Trim(!FieldName)
  724.                 sExec = sExec & ", " & sFieldValue(UBound(sFieldValue)).FieldName & " as " & sFieldValue(UBound(sFieldValue)).FieldValueName
  725.             End If
  726.             
  727.             .MoveNext
  728.         Loop
  729.     End With
  730.     rs.Close
  731.         
  732.     With Me.CxbbGrid
  733.         '初始化网格
  734.         .Redraw = False
  735.         .Cols = Qslz
  736.         .Cols = UBound(sFieldValue) + 1 + Qslz + 1
  737.         .FixedCols = Qslz + 1
  738.         .Rows = .FixedRows
  739.         
  740.         For i = Qslz + 1 To .Cols - 1
  741.             .ColWidth(i) = (sFieldValue(i - Qslz - 1).FieldLengthInt + sFieldValue(i - Qslz - 1).FieldLengthFra) * 105
  742.             .TextMatrix(.FixedRows - 1, i) = sFieldValue(i - Qslz - 1).FieldNameC
  743.             .ColHidden(i) = IIf(sFieldValue(i - Qslz - 1).FieldIsShow, False, True)
  744.             If sFieldValue(i - Qslz - 1).FieldType = DATA_NUMERIC Then
  745.                 .ColAlignment(i) = flexAlignRightCenter
  746.                 .ColFormat(i) = IIf(sFieldValue(i - Qslz - 1).FieldLengthFra = 0, "#,##0", "#,##0." & String(sFieldValue(i - Qslz - 1).FieldLengthFra, "0"))
  747.             Else
  748.                 .ColAlignment(i) = flexAlignLeftCenter
  749.                 .ColFormat(i) = ""
  750.             End If
  751.             If UCase(sFieldValue(i - Qslz - 1).FieldName) = UCase("Rs_BasicInfo.YnStop") Then
  752.                 .ColDataType(i) = flexDTBoolean
  753.             End If
  754.             .FixedAlignment(i) = flexAlignCenterCenter
  755.         Next i
  756.         .ColWidth(Qslz) = 1000
  757.         .ColAlignment(Qslz) = flexAlignRightCenter
  758.         .ColFormat(Qslz) = ""
  759.         .FixedAlignment(Qslz) = flexAlignCenterCenter
  760.         .TextMatrix(.FixedRows - 1, Qslz) = "编号"
  761.         
  762.         sExec = sExec & Me.sSqlFrom & Me.sSqlWhere & sSqlOrder
  763. '-----------------------------------------------
  764.         Ed_EmpArInfoFrm.QuerySql = sExec
  765. '-----------------------------------------------
  766.         
  767.         Set rs = Cw_DataEnvi.DataConnect.Execute(sExec)
  768.         .Rows = .FixedRows + rs.RecordCount
  769.         '初始化进度条
  770.         Me.PB_Proc.Min = .FixedRows
  771.         Me.PB_Proc.Max = .Rows + 1
  772.         Me.PB_Proc.Value = Me.PB_Proc.Min
  773.         Me.PB_Proc.Visible = True
  774.         '填充数据
  775.         For i = .FixedRows To .Rows - 1
  776.             .RowHeight(i) = Sjhgd
  777.             Me.PB_Proc.Value = i
  778.             For j = Qslz + 1 To .Cols - 1
  779.                 If sFieldValue(j - Qslz - 1).FieldType = DATA_DATE Then
  780.                     .TextMatrix(i, j) = Format(Trim(rs.Fields(Trim(sFieldValue(j - Qslz - 1).FieldValueName)) & ""), "yyyy-mm-dd")
  781.                 Else
  782.                     .TextMatrix(i, j) = Trim(rs.Fields(Trim(sFieldValue(j - Qslz - 1).FieldValueName)) & "")
  783.                 End If
  784.             Next j
  785.             .TextMatrix(i, 0) = rs.Fields("Rs_BasicInfo#EmpID")
  786.             .TextMatrix(i, Qslz) = i - .FixedRows + 1
  787.             rs.MoveNext
  788.         Next i
  789.         rs.Close
  790.         Me.PB_Proc.Visible = False
  791.         .Redraw = True
  792.     End With
  793.     Set rs = Nothing
  794.     Me.MousePointer = 0
  795.     Exit Function
  796.     
  797. ErrCtrl:
  798.     If rs.State = 1 Then
  799.         rs.Close
  800.     End If
  801.     Set rs = Nothing
  802.     Me.PB_Proc.Visible = False
  803.     Me.CxbbGrid.Redraw = True
  804.     Me.MousePointer = 0
  805.     
  806. End Function
  807. Private Sub bbyl(bbylte As Boolean)                    '报表打印预览
  808.     
  809.     Dim Bbzbt$, Bbxbt() As String, bbxbtzzxs() As Integer, Bbxbtgs As Integer
  810.     Dim Bbbwh() As String, Bbbwhzzxs() As Integer, Bbbwhgs As Integer
  811.     Bbxbtgs = 1                                         '报 表 小 标 题 行 数
  812.     Bbbwhgs = 0                                          '报 表 表 尾 行 数
  813.     ReDim Bbxbt(1 To Bbxbtgs)
  814.     ReDim bbxbtzzxs(1 To Bbxbtgs)
  815.     If Bbbwhgs <> 0 Then
  816.         ReDim Bbbwh(1 To Bbbwhgs)
  817.         ReDim Bbbwhzzxs(1 To Bbbwhgs)
  818.     End If
  819.     Bbzbt = ReportTitle
  820.     
  821.     bbxbtzzxs(1) = 0                                     '报表行组织形式(0-居左 1-居中 2-居右)
  822.     Call Scyxsjb(CxbbGrid)                               '生成报表数据
  823.     Call Scdybb(Dyymctbl, Bbzbt, Bbxbt(), bbxbtzzxs(), Bbxbtgs, Bbbwh(), Bbbwhzzxs(), Bbbwhgs, bbylte)
  824.     If Not bbylte Then
  825.         Unload DY_Tybbyldy
  826.     End If
  827.     
  828. End Sub