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

企业管理

开发平台:

Visual Basic

  1. VERSION 5.00
  2. Object = "{65A39231-6133-11D1-BAA2-444553540000}#1.0#0"; "VSLIGHT6.OCX"
  3. Object = "{D76D7128-4A96-11D3-BD95-D296DC2DD072}#1.0#0"; "VSOCX7.OCX"
  4. Object = "{831FDD16-0C5C-11D2-A9FC-0000F8754DA1}#2.0#0"; "mscomctl.ocx"
  5. Begin VB.Form Khgl_FactorAnalyze 
  6.    Caption         =   "他评要素分析"
  7.    ClientHeight    =   7020
  8.    ClientLeft      =   60
  9.    ClientTop       =   345
  10.    ClientWidth     =   11820
  11.    HelpContextID   =   2314002
  12.    Icon            =   "他评要素分析.frx":0000
  13.    KeyPreview      =   -1  'True
  14.    LinkTopic       =   "Form2"
  15.    MDIChild        =   -1  'True
  16.    ScaleHeight     =   7020
  17.    ScaleWidth      =   11820
  18.    Begin VB.PictureBox Pic_Title 
  19.       Height          =   825
  20.       Left            =   0
  21.       Picture         =   "他评要素分析.frx":1042
  22.       ScaleHeight     =   765
  23.       ScaleWidth      =   11715
  24.       TabIndex        =   4
  25.       Top             =   540
  26.       Width           =   11775
  27.       Begin MSComctlLib.ImageCombo Imgcbo_Title 
  28.          Height          =   315
  29.          Left            =   1200
  30.          TabIndex        =   5
  31.          Top             =   180
  32.          Width           =   3000
  33.          _ExtentX        =   5292
  34.          _ExtentY        =   556
  35.          _Version        =   393216
  36.          ForeColor       =   -2147483640
  37.          BackColor       =   -2147483643
  38.       End
  39.       Begin VB.Label tsLabel 
  40.          BackColor       =   &H80000018&
  41.          BackStyle       =   0  'Transparent
  42.          Caption         =   "被考核对象:"
  43.          ForeColor       =   &H00000000&
  44.          Height          =   195
  45.          Index           =   1
  46.          Left            =   4860
  47.          TabIndex        =   8
  48.          Top             =   240
  49.          Width           =   2775
  50.       End
  51.       Begin VB.Label tsLabel 
  52.          BackColor       =   &H80000018&
  53.          BackStyle       =   0  'Transparent
  54.          Caption         =   "考核类别:"
  55.          ForeColor       =   &H00000000&
  56.          Height          =   195
  57.          Index           =   0
  58.          Left            =   240
  59.          TabIndex        =   6
  60.          Top             =   240
  61.          Width           =   975
  62.       End
  63.    End
  64.    Begin MSComctlLib.ImageList ImageList2 
  65.       Left            =   840
  66.       Top             =   840
  67.       _ExtentX        =   1005
  68.       _ExtentY        =   1005
  69.       BackColor       =   -2147483643
  70.       ImageWidth      =   16
  71.       ImageHeight     =   16
  72.       MaskColor       =   12632256
  73.       _Version        =   393216
  74.       BeginProperty Images {2C247F25-8591-11D1-B16A-00C0F0283628} 
  75.          NumListImages   =   4
  76.          BeginProperty ListImage1 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  77.             Picture         =   "他评要素分析.frx":1FAC4
  78.             Key             =   "T"
  79.          EndProperty
  80.          BeginProperty ListImage2 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  81.             Picture         =   "他评要素分析.frx":2039E
  82.             Key             =   "C"
  83.          EndProperty
  84.          BeginProperty ListImage3 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  85.             Picture         =   "他评要素分析.frx":20C78
  86.             Key             =   "Cl"
  87.          EndProperty
  88.          BeginProperty ListImage4 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  89.             Picture         =   "他评要素分析.frx":21CCA
  90.             Key             =   "O"
  91.          EndProperty
  92.       EndProperty
  93.    End
  94.    Begin VB.PictureBox picSplitter 
  95.       BackColor       =   &H00C0C0C0&
  96.       BorderStyle     =   0  'None
  97.       FillColor       =   &H00808080&
  98.       BeginProperty Font 
  99.          Name            =   "MS Sans Serif"
  100.          Size            =   8.25
  101.          Charset         =   0
  102.          Weight          =   400
  103.          Underline       =   0   'False
  104.          Italic          =   0   'False
  105.          Strikethrough   =   0   'False
  106.       EndProperty
  107.       Height          =   5580
  108.       Left            =   2790
  109.       ScaleHeight     =   2429.772
  110.       ScaleMode       =   0  'User
  111.       ScaleWidth      =   468
  112.       TabIndex        =   2
  113.       Top             =   1380
  114.       Visible         =   0   'False
  115.       Width           =   45
  116.    End
  117.    Begin MSComctlLib.Toolbar SzToolbar 
  118.       Align           =   1  'Align Top
  119.       Height          =   570
  120.       Left            =   0
  121.       TabIndex        =   0
  122.       Top             =   0
  123.       Width           =   11820
  124.       _ExtentX        =   20849
  125.       _ExtentY        =   1005
  126.       ButtonWidth     =   820
  127.       ButtonHeight    =   953
  128.       AllowCustomize  =   0   'False
  129.       Appearance      =   1
  130.       Style           =   1
  131.       ImageList       =   "ImageList1"
  132.       _Version        =   393216
  133.       BeginProperty Buttons {66833FE8-8583-11D1-B16A-00C0F0283628} 
  134.          NumButtons      =   8
  135.          BeginProperty Button1 {66833FEA-8583-11D1-B16A-00C0F0283628} 
  136.             Caption         =   "设置"
  137.             Key             =   "ymsz"
  138.             ImageKey        =   "sz"
  139.          EndProperty
  140.          BeginProperty Button2 {66833FEA-8583-11D1-B16A-00C0F0283628} 
  141.             Caption         =   "打印"
  142.             Key             =   "dy"
  143.             Object.ToolTipText     =   "点击或按Ctrl+P打印表格"
  144.             ImageKey        =   "dy"
  145.          EndProperty
  146.          BeginProperty Button3 {66833FEA-8583-11D1-B16A-00C0F0283628} 
  147.             Caption         =   "预览"
  148.             Key             =   "yl"
  149.             ImageKey        =   "yl"
  150.          EndProperty
  151.          BeginProperty Button4 {66833FEA-8583-11D1-B16A-00C0F0283628} 
  152.             Style           =   3
  153.          EndProperty
  154.          BeginProperty Button5 {66833FEA-8583-11D1-B16A-00C0F0283628} 
  155.             Caption         =   "图形"
  156.             Key             =   "tx"
  157.             Object.ToolTipText     =   "点击或按Ctrl+A增加记录"
  158.             ImageKey        =   "tx"
  159.          EndProperty
  160.          BeginProperty Button6 {66833FEA-8583-11D1-B16A-00C0F0283628} 
  161.             Style           =   3
  162.          EndProperty
  163.          BeginProperty Button7 {66833FEA-8583-11D1-B16A-00C0F0283628} 
  164.             Caption         =   "帮助"
  165.             Key             =   "bz"
  166.             ImageKey        =   "bz"
  167.          EndProperty
  168.          BeginProperty Button8 {66833FEA-8583-11D1-B16A-00C0F0283628} 
  169.             Caption         =   "退出"
  170.             Key             =   "fh"
  171.             ImageKey        =   "tc"
  172.          EndProperty
  173.       EndProperty
  174.       BorderStyle     =   1
  175.       Begin MSComctlLib.Toolbar GsToolbar 
  176.          Height          =   540
  177.          Left            =   10140
  178.          TabIndex        =   1
  179.          Top             =   0
  180.          Width           =   1695
  181.          _ExtentX        =   2990
  182.          _ExtentY        =   953
  183.          ButtonWidth     =   1455
  184.          ButtonHeight    =   953
  185.          AllowCustomize  =   0   'False
  186.          Appearance      =   1
  187.          Style           =   1
  188.          ImageList       =   "ImageList1"
  189.          _Version        =   393216
  190.          BeginProperty Buttons {66833FE8-8583-11D1-B16A-00C0F0283628} 
  191.             NumButtons      =   2
  192.             BeginProperty Button1 {66833FEA-8583-11D1-B16A-00C0F0283628} 
  193.                Caption         =   "保存格式"
  194.                Key             =   "bcgs"
  195.                ImageKey        =   "bcgs"
  196.             EndProperty
  197.             BeginProperty Button2 {66833FEA-8583-11D1-B16A-00C0F0283628} 
  198.                Caption         =   "默认列宽"
  199.                Key             =   "hfmrgs"
  200.                ImageKey        =   "mrlk"
  201.             EndProperty
  202.          EndProperty
  203.       End
  204.    End
  205.    Begin MSComctlLib.ImageList ImageList1 
  206.       Left            =   1500
  207.       Top             =   1020
  208.       _ExtentX        =   1005
  209.       _ExtentY        =   1005
  210.       BackColor       =   -2147483643
  211.       ImageWidth      =   16
  212.       ImageHeight     =   16
  213.       MaskColor       =   12632256
  214.       _Version        =   393216
  215.       BeginProperty Images {2C247F25-8591-11D1-B16A-00C0F0283628} 
  216.          NumListImages   =   35
  217.          BeginProperty ListImage1 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  218.             Picture         =   "他评要素分析.frx":22064
  219.             Key             =   "sz"
  220.          EndProperty
  221.          BeginProperty ListImage2 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  222.             Picture         =   "他评要素分析.frx":223FE
  223.             Key             =   "dy"
  224.          EndProperty
  225.          BeginProperty ListImage3 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  226.             Picture         =   "他评要素分析.frx":22798
  227.             Key             =   "yl"
  228.          EndProperty
  229.          BeginProperty ListImage4 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  230.             Picture         =   "他评要素分析.frx":22B32
  231.             Key             =   "xg"
  232.          EndProperty
  233.          BeginProperty ListImage5 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  234.             Picture         =   "他评要素分析.frx":22ECC
  235.             Key             =   "zh"
  236.          EndProperty
  237.          BeginProperty ListImage6 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  238.             Picture         =   "他评要素分析.frx":23266
  239.             Key             =   "sh"
  240.          EndProperty
  241.          BeginProperty ListImage7 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  242.             Picture         =   "他评要素分析.frx":23600
  243.             Key             =   "bc"
  244.          EndProperty
  245.          BeginProperty ListImage8 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  246.             Picture         =   "他评要素分析.frx":2399A
  247.             Key             =   "fq"
  248.          EndProperty
  249.          BeginProperty ListImage9 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  250.             Picture         =   "他评要素分析.frx":23D34
  251.             Key             =   "bz"
  252.          EndProperty
  253.          BeginProperty ListImage10 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  254.             Picture         =   "他评要素分析.frx":240CE
  255.             Key             =   "tc"
  256.          EndProperty
  257.          BeginProperty ListImage11 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  258.             Picture         =   "他评要素分析.frx":24468
  259.             Key             =   "bcgs"
  260.          EndProperty
  261.          BeginProperty ListImage12 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  262.             Picture         =   "他评要素分析.frx":24802
  263.             Key             =   "mrlk"
  264.          EndProperty
  265.          BeginProperty ListImage13 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  266.             Picture         =   "他评要素分析.frx":24B9C
  267.             Key             =   "xsxm"
  268.          EndProperty
  269.          BeginProperty ListImage14 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  270.             Picture         =   "他评要素分析.frx":24F36
  271.             Key             =   "first"
  272.          EndProperty
  273.          BeginProperty ListImage15 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  274.             Picture         =   "他评要素分析.frx":252D0
  275.             Key             =   "prev"
  276.          EndProperty
  277.          BeginProperty ListImage16 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  278.             Picture         =   "他评要素分析.frx":2566A
  279.             Key             =   "next"
  280.          EndProperty
  281.          BeginProperty ListImage17 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  282.             Picture         =   "他评要素分析.frx":25A04
  283.             Key             =   "last"
  284.          EndProperty
  285.          BeginProperty ListImage18 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  286.             Picture         =   "他评要素分析.frx":25D9E
  287.             Key             =   "xx"
  288.          EndProperty
  289.          BeginProperty ListImage19 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  290.             Picture         =   "他评要素分析.frx":26138
  291.             Key             =   "define"
  292.          EndProperty
  293.          BeginProperty ListImage20 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  294.             Picture         =   "他评要素分析.frx":264D2
  295.             Key             =   "exec"
  296.          EndProperty
  297.          BeginProperty ListImage21 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  298.             Picture         =   "他评要素分析.frx":2686C
  299.             Key             =   "xz"
  300.          EndProperty
  301.          BeginProperty ListImage22 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  302.             Picture         =   "他评要素分析.frx":26C06
  303.             Key             =   "sc"
  304.          EndProperty
  305.          BeginProperty ListImage23 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  306.             Picture         =   "他评要素分析.frx":26FA0
  307.             Key             =   "sx"
  308.          EndProperty
  309.          BeginProperty ListImage24 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  310.             Picture         =   "他评要素分析.frx":2733A
  311.             Key             =   "cx"
  312.          EndProperty
  313.          BeginProperty ListImage25 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  314.             Picture         =   "他评要素分析.frx":276D4
  315.             Key             =   "zd"
  316.          EndProperty
  317.          BeginProperty ListImage26 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  318.             Picture         =   "他评要素分析.frx":27A6E
  319.             Key             =   "dz"
  320.          EndProperty
  321.          BeginProperty ListImage27 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  322.             Picture         =   "他评要素分析.frx":27E08
  323.             Key             =   "ph"
  324.          EndProperty
  325.          BeginProperty ListImage28 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  326.             Picture         =   "他评要素分析.frx":281A2
  327.             Key             =   "fz"
  328.          EndProperty
  329.          BeginProperty ListImage29 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  330.             Picture         =   "他评要素分析.frx":2853C
  331.             Key             =   "dw"
  332.          EndProperty
  333.          BeginProperty ListImage30 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  334.             Picture         =   "他评要素分析.frx":288D6
  335.             Key             =   "gb"
  336.          EndProperty
  337.          BeginProperty ListImage31 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  338.             Picture         =   "他评要素分析.frx":28C70
  339.             Key             =   "cp"
  340.          EndProperty
  341.          BeginProperty ListImage32 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  342.             Picture         =   "他评要素分析.frx":2900A
  343.             Key             =   "dx"
  344.          EndProperty
  345.          BeginProperty ListImage33 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  346.             Picture         =   "他评要素分析.frx":293A4
  347.             Key             =   "zb"
  348.          EndProperty
  349.          BeginProperty ListImage34 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  350.             Picture         =   "他评要素分析.frx":2973E
  351.             Key             =   "ys"
  352.          EndProperty
  353.          BeginProperty ListImage35 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  354.             Picture         =   "他评要素分析.frx":29AD8
  355.             Key             =   "tx"
  356.          EndProperty
  357.       EndProperty
  358.    End
  359.    Begin VSFlex8Ctl.VSFlexGrid CxbbGrid 
  360.       Height          =   5595
  361.       Left            =   2820
  362.       TabIndex        =   3
  363.       Top             =   1380
  364.       Width           =   8235
  365.       _ExtentX        =   14526
  366.       _ExtentY        =   9869
  367.       Appearance      =   1
  368.       BorderStyle     =   1
  369.       Enabled         =   -1  'True
  370.       BeginProperty Font {0BE35203-8F91-11CE-9DE3-00AA004BB851} 
  371.          Name            =   "宋体"
  372.          Size            =   9
  373.          Charset         =   134
  374.          Weight          =   400
  375.          Underline       =   0   'False
  376.          Italic          =   0   'False
  377.          Strikethrough   =   0   'False
  378.       EndProperty
  379.       MousePointer    =   0
  380.       BackColor       =   -2147483643
  381.       ForeColor       =   -2147483640
  382.       BackColorFixed  =   13826538
  383.       ForeColorFixed  =   -2147483630
  384.       BackColorSel    =   -2147483635
  385.       ForeColorSel    =   -2147483634
  386.       BackColorBkg    =   8421504
  387.       BackColorAlternate=   -2147483643
  388.       GridColor       =   -2147483633
  389.       GridColorFixed  =   -2147483632
  390.       TreeColor       =   -2147483632
  391.       FloodColor      =   192
  392.       SheetBorder     =   -2147483642
  393.       FocusRect       =   1
  394.       HighLight       =   1
  395.       AllowSelection  =   -1  'True
  396.       AllowBigSelection=   -1  'True
  397.       AllowUserResizing=   0
  398.       SelectionMode   =   0
  399.       GridLines       =   1
  400.       GridLinesFixed  =   2
  401.       GridLineWidth   =   1
  402.       Rows            =   5000
  403.       Cols            =   10
  404.       FixedRows       =   1
  405.       FixedCols       =   0
  406.       RowHeightMin    =   0
  407.       RowHeightMax    =   0
  408.       ColWidthMin     =   0
  409.       ColWidthMax     =   0
  410.       ExtendLastCol   =   0   'False
  411.       FormatString    =   ""
  412.       ScrollTrack     =   0   'False
  413.       ScrollBars      =   3
  414.       ScrollTips      =   0   'False
  415.       MergeCells      =   0
  416.       MergeCompare    =   0
  417.       AutoResize      =   -1  'True
  418.       AutoSizeMode    =   0
  419.       AutoSearch      =   0
  420.       MultiTotals     =   -1  'True
  421.       SubtotalPosition=   1
  422.       OutlineBar      =   0
  423.       OutlineCol      =   0
  424.       Ellipsis        =   0
  425.       ExplorerBar     =   0
  426.       PicturesOver    =   0   'False
  427.       FillStyle       =   0
  428.       RightToLeft     =   0   'False
  429.       PictureType     =   0
  430.       TabBehavior     =   0
  431.       OwnerDraw       =   0
  432.       Editable        =   0   'False
  433.       ShowComboButton =   -1  'True
  434.       WordWrap        =   0   'False
  435.       TextStyle       =   0
  436.       TextStyleFixed  =   0
  437.       OleDragMode     =   0
  438.       OleDropMode     =   0
  439.       DataMode        =   0
  440.       VirtualData     =   -1  'True
  441.    End
  442.    Begin MSComctlLib.TreeView TreeView 
  443.       Height          =   5595
  444.       Left            =   0
  445.       TabIndex        =   7
  446.       Top             =   1380
  447.       Width           =   2775
  448.       _ExtentX        =   4895
  449.       _ExtentY        =   9869
  450.       _Version        =   393217
  451.       Indentation     =   617
  452.       LabelEdit       =   1
  453.       Style           =   7
  454.       ImageList       =   "ImageList2"
  455.       Appearance      =   1
  456.       BeginProperty Font {0BE35203-8F91-11CE-9DE3-00AA004BB851} 
  457.          Name            =   "宋体"
  458.          Size            =   9
  459.          Charset         =   134
  460.          Weight          =   400
  461.          Underline       =   0   'False
  462.          Italic          =   0   'False
  463.          Strikethrough   =   0   'False
  464.       EndProperty
  465.    End
  466.    Begin VB.Image imgSplitter 
  467.       Height          =   6465
  468.       Left            =   2820
  469.       MousePointer    =   9  'Size W E
  470.       Top             =   630
  471.       Width           =   90
  472.    End
  473. End
  474. Attribute VB_Name = "Khgl_FactorAnalyze"
  475. Attribute VB_GlobalNameSpace = False
  476. Attribute VB_Creatable = False
  477. Attribute VB_PredeclaredId = True
  478. Attribute VB_Exposed = False
  479. '*******************************************************
  480. '*    模 块 名 称 :他评要素分析
  481. '*    功 能 描 述 :
  482. '*    程序员姓名  :张洪军
  483. '*    最后修改人  :张洪军
  484. '*    最后修改时间:2001/12/19
  485. '*    备        注:封版
  486. '*******************************************************
  487. Dim str_TitleCode As String             '考核类别编码
  488. Dim str_titleRoot As String             '考核类别根结点编码
  489. Dim str_format As String                '考核数据显示格式
  490. Dim int_EmpID As Integer                '职工id号
  491. Dim int_titleRootlen As Integer         '考核类别根结点长度
  492. Dim CheckFactor() As New CCheckFactor   '考核指标、考核要素、指标权重、要素权重、考核得分
  493. Dim mbMoving As Boolean
  494. Const sglSplitLimit = 1000
  495. Dim Rec_CodeSet As New ADODB.Recordset   '编码设置表
  496. Dim jdzygs As Integer                    '控件焦点转移个数
  497. Dim Lrzt As Integer                      '录入状态标志(0-非录入状态 1-增加 2-修改)
  498. Dim ReportTitle As String                '报表主标题
  499.   
  500. '以下为固定使用变量(网格)
  501. Dim Cxnrrec As New ADODB.Recordset       '显示查询内容动态集
  502. Dim Dyymctbl As New DY_Dyymsz            '打印页面窗体变量
  503. Dim GridCode As String                   '显示网格网格代码
  504. Dim GridInf() As Variant                 '整个网格设置信息
  505. Dim Tsxx As String                       '系统提示信息
  506. Dim Qslz As Long                         '网格隐藏(非操作显示)列数
  507. Dim Sjhgd As Double                      '网格数据行高度
  508. Dim GridBoolean() As Boolean             '网格列信息(布尔型)
  509. Dim GridStr()  As String                 '网格列信息(字符型)
  510. Dim GridInt() As Integer                 '网格列信息(整型)
  511. Dim Szzls As Integer                     '数组总列数(网格列数-1)
  512. Dim nodX As Node
  513. Private Sub Form_KeyPress(KeyAscii As Integer)   '控 制 焦 点 转 移
  514.     
  515.     jdzygs = 10
  516.     Select Case KeyAscii
  517.         Case vbKeyReturn
  518.             If Kjjdzy(jdzygs) Then
  519.                 KeyAscii = 0
  520.             End If
  521.         Case 39           '屏蔽"'"
  522.             KeyAscii = 0
  523.     End Select
  524. End Sub
  525. Private Sub Form_Load()
  526.     
  527.     SizeControls imgSplitter.Left
  528.   
  529.     str_format = "########"
  530.     
  531.     '填充考核类别列表框
  532.     Call AddTitleCode
  533.     
  534.     Call ShowFormat
  535.     
  536.     int_EmpID = -1
  537.     
  538.     Add_Tree
  539.   
  540.     '打印报表标题信息
  541.     ReportTitle = "他评要素分析"
  542.    
  543.     '调入打印页面设置窗体
  544.     XtReportCode = "Khgl_FactorAnalyze"
  545.     Load Dyymctbl
  546.   
  547.   
  548.     '调 入 网 格
  549.     GridCode = "Khgl_FactorAnalyze"
  550.     Call BzWgcsh(CxbbGrid, GridCode, GridInf(), GridBoolean(), GridInt(), GridStr())
  551.     Qslz = GridInf(1)
  552.     Sjhgd = GridInf(2)
  553.     Sfxshjwg = GridInf(7)
  554.     Szzls = CxbbGrid.Cols - 1
  555.     
  556.     '加快显示速度
  557.     CxbbGrid.Redraw = False
  558.     
  559.     '添加列标题
  560.     Call Sub_AddCol
  561.     
  562.     If int_EmpID > 0 Then
  563.         '填 充 网 格
  564.         Call Sub_Query
  565.     End If
  566.     
  567.     Imgcbo_Title.Refresh
  568.     
  569.     
  570. End Sub
  571. Private Sub Sub_AddCol()                         '添加列标题
  572.     Dim Rec_Query As New ADODB.Recordset        '查询结果动态集
  573.     Dim Sqlstr As String                        '查询字符串
  574.     Dim Jsqte As Integer                        '临时动态计数器
  575.     
  576.      '以下为自定义部分[
  577.     CxbbGrid.Redraw = False
  578.     
  579.     '填 充 网 格 标 题
  580.     CxbbGrid.Cols = Sydz("001", GridStr(), Szzls) + 2
  581.     CxbbGrid.TextMatrix(0, Sydz("001", GridStr(), Szzls)) = "测评规则编码"
  582.     CxbbGrid.TextMatrix(0, Sydz("002", GridStr(), Szzls)) = "测评规则名称"
  583.  
  584.     
  585.     CxbbGrid.TextMatrix(1, Sydz("001", GridStr(), Szzls)) = "测评规则编码"
  586.     CxbbGrid.TextMatrix(1, Sydz("002", GridStr(), Szzls)) = "测评规则名称"
  587.     
  588.     
  589.     '取考核类别编码方案
  590.     Sqlstr = "select * from Gy_CodeScheme where ItemCode='" & Trim("Khgl_Title") & "'"
  591.     Set Rec_Query = Cw_DataEnvi.DataConnect.Execute(Sqlstr)
  592.     
  593.     '取考核类别编码的根结点编码
  594.     int_titleRootlen = Val(Mid(Rec_Query.Fields("CodeScheme"), 1, 1))
  595.     str_titleRoot = Mid(str_TitleCode, 1, int_titleRootlen)
  596.     Rec_Query.Close
  597.     
  598.     '添加列标题
  599.     ReDim CheckFactor(2)
  600.     '本张单据查询字符串,填充考核要素编码、考核指标、考核要素名称
  601.     Sqlstr = " SELECT FactorCode,FactorName,CheckName" & _
  602.              " FROM Kh_v_ValMark where TitleCode='" & str_titleRoot & "'" & _
  603.              " Order By ValMarkID"
  604.     Set Rec_Query = Cw_DataEnvi.DataConnect.Execute(Sqlstr)
  605.     
  606.     With CxbbGrid
  607.         .Cols = .FixedCols + Rec_Query.RecordCount
  608.         For Jsqte = .FixedCols To .Cols - 1
  609.              ReDim Preserve CheckFactor(UBound(CheckFactor) + 1)
  610.              CheckFactor(Jsqte).FactorCode = Trim("" & Rec_Query!FactorCode)
  611.              CheckFactor(Jsqte).FactorValues = 0
  612.             .TextMatrix(0, Jsqte) = Trim("" & Rec_Query!CheckName)
  613.             .TextMatrix(1, Jsqte) = Trim("" & Rec_Query!FactorName)
  614.             .ColWidth(Jsqte) = 1000
  615.             .ColAlignment(Jsqte) = flexAlignRightCenter
  616.             Rec_Query.MoveNext
  617.         Next Jsqte
  618.     End With
  619.     
  620.     CxbbGrid.Cols = CxbbGrid.Cols + 2
  621.     
  622.     
  623.     CxbbGrid.TextMatrix(0, CxbbGrid.Cols - 2) = "有效票数"
  624.     CxbbGrid.TextMatrix(1, CxbbGrid.Cols - 2) = "有效票数"
  625.     
  626.     CxbbGrid.TextMatrix(0, CxbbGrid.Cols - 1) = "合    计"
  627.     CxbbGrid.TextMatrix(1, CxbbGrid.Cols - 1) = "合    计"
  628.     
  629.     For Jsqte = 0 To CxbbGrid.Cols - 1
  630.         CxbbGrid.FixedAlignment(Jsqte) = 4                      '列标题居中
  631.     Next Jsqte
  632.     
  633.     '查询测评规则,添加行标题
  634.     Sqlstr = " SELECT  Kh_Appraise.ValListCode        , Kh_ValList.ValListName  " & _
  635.              " From Kh_Appraise" & _
  636.              " left outer join Kh_ValList  on   Kh_Appraise.ValListCode   = Kh_ValList.ValListCode " & _
  637.              " where Kh_Appraise.TitleCode='" & str_titleRoot & "'" & _
  638.              " order by Kh_Appraise.ValListCode"
  639.     
  640.     Set Rec_Query = Cw_DataEnvi.DataConnect.Execute(Sqlstr)
  641.     With Rec_Query
  642.         CxbbGrid.Rows = CxbbGrid.FixedRows + .RecordCount
  643.         For Jsqte = CxbbGrid.FixedRows To CxbbGrid.Rows - 1
  644.             CxbbGrid.TextMatrix(Jsqte, Sydz("001", GridStr(), Szzls)) = Trim("" & !ValListCode)   '测评规则编码
  645.             CxbbGrid.TextMatrix(Jsqte, Sydz("002", GridStr(), Szzls)) = Trim("" & !ValListName)   '测评规则名称
  646.             CxbbGrid.RowHeight(Jsqte) = Sjhgd
  647.             .MoveNext
  648.         Next Jsqte
  649.     End With
  650.     '添加合计行
  651.     CxbbGrid.Rows = CxbbGrid.Rows + 1
  652.     CxbbGrid.TextMatrix(CxbbGrid.Rows - 1, Sydz("002", GridStr(), Szzls)) = "合计"
  653.   
  654.     CxbbGrid.Redraw = True
  655. End Sub
  656. Private Sub Sub_Query()                         '生成查询结果
  657.     Dim Rec_Query As New ADODB.Recordset        '查询结果动态集
  658.     Dim Sqlstr As String                        '查询字符串
  659.     Dim Jsqte As Integer                        '临时动态计数器
  660.     Dim int_row As Integer                      '临时动态计数器,实际网格行
  661.     
  662.      '以下为自定义部分[
  663.      
  664.     Xt_Wait.Show
  665.     Xt_Wait.Refresh
  666.     
  667.     CxbbGrid.Redraw = False
  668.     '清空表格数据
  669.     CxbbGrid.Clear 1
  670.     For int_row = CxbbGrid.FixedRows To CxbbGrid.Rows - 2
  671.                            
  672.         For Jsqte = CxbbGrid.FixedCols To CxbbGrid.Cols - 1 - 2
  673.                 '读取考核要素分值
  674.             Sqlstr = " SELECT sum(ObjectTotal) as ObjectTotal  From Kh_BaseTotal " & _
  675.                      " Where TitleCode='" & str_TitleCode & "'" & _
  676.                      " and FactorCode='" & CheckFactor(Jsqte).FactorCode & "'" & _
  677.                      " and ValListCode='" & Trim(CxbbGrid.TextMatrix(int_row, Sydz("001", GridStr(), Szzls))) & "'" & _
  678.                      " and Empid= " & int_EmpID & _
  679.                      " and TotalType=2"
  680.             Set Rec_Query = Cw_DataEnvi.DataConnect.Execute(Sqlstr)
  681.             If Not Rec_Query.EOF Then
  682.                 '填充考核要素分值
  683.                 If Rec_Query.Fields("ObjectTotal") > 0 Then
  684.                     CxbbGrid.TextMatrix(int_row, Jsqte) = Format(Rec_Query.Fields("ObjectTotal"), str_format)
  685.                 End If
  686.             End If
  687.         Next Jsqte
  688.         
  689.         '读取有效票数和合计分值
  690.         Sqlstr = " SELECT ObjectBallot,ObjectTotal  From Kh_BaseTotal " & _
  691.                  " Where TitleCode='" & str_TitleCode & "'" & _
  692.                  " and ValListCode='" & Trim(CxbbGrid.TextMatrix(int_row, Sydz("001", GridStr(), Szzls))) & "'" & _
  693.                  " and Empid= " & int_EmpID & _
  694.                  " and TotalType=4"
  695.         Set Rec_Query = Cw_DataEnvi.DataConnect.Execute(Sqlstr)
  696.         If Not Rec_Query.EOF Then
  697.             If (Rec_Query.Fields("ObjectBallot")) > 0 Then
  698.                 CxbbGrid.TextMatrix(int_row, CxbbGrid.Cols - 1 - 1) = Rec_Query.Fields("ObjectBallot")                           '有效票数
  699.             End If
  700.             If (Rec_Query.Fields("ObjectTotal")) > 0 Then
  701.                 CxbbGrid.TextMatrix(int_row, CxbbGrid.Cols - 1 - 0) = Format(Rec_Query.Fields("ObjectTotal"), str_format)       '合计
  702.             End If
  703.         End If
  704.     Next int_row
  705.     
  706.     '填充合计行数据
  707.     For Jsqte = CxbbGrid.FixedCols To CxbbGrid.Cols - 1 - 2
  708.     
  709.         CxbbGrid.Cell(flexcpBackColor, CxbbGrid.Rows - 1, Jsqte) = &HF7F3EC
  710.         '读取考核要素分值
  711.         Sqlstr = " SELECT ObjectTotal  From Kh_BaseTotal " & _
  712.                  " Where TitleCode='" & str_TitleCode & "'" & _
  713.                  " and FactorCode='" & CheckFactor(Jsqte).FactorCode & "'" & _
  714.                  " and Empid= " & int_EmpID & _
  715.                  " and TotalType=1"
  716.         Set Rec_Query = Cw_DataEnvi.DataConnect.Execute(Sqlstr)
  717.         If Not Rec_Query.EOF Then
  718.             '填充考核要素分值
  719.             If Rec_Query.Fields("ObjectTotal") > 0 Then
  720.                 CxbbGrid.TextMatrix(CxbbGrid.Rows - 1, Jsqte) = Format(Rec_Query.Fields("ObjectTotal"), str_format)
  721.             End If
  722.         End If
  723.     Next Jsqte
  724.         
  725.     CxbbGrid.Cell(flexcpBackColor, CxbbGrid.Rows - 1, CxbbGrid.Cols - 1 - 1) = &HF7F3EC
  726.     CxbbGrid.Cell(flexcpBackColor, CxbbGrid.Rows - 1, CxbbGrid.Cols - 1 - 0) = &HF7F3EC
  727.     
  728.     '读取有效票数和合计分值
  729.     Sqlstr = " SELECT  ObjectTotal  , ObjectBallot " & _
  730.              "   From  Kh_Object " & _
  731.              "  where  Kh_Object.TitleCode='" & str_TitleCode & "'" & _
  732.              "    and  EmpID=" & int_EmpID
  733.     Set Rec_Query = Cw_DataEnvi.DataConnect.Execute(Sqlstr)
  734.     If Not Rec_Query.EOF Then
  735.         If (Rec_Query.Fields("ObjectBallot")) > 0 Then
  736.             CxbbGrid.TextMatrix(CxbbGrid.Rows - 1, CxbbGrid.Cols - 1 - 1) = Rec_Query.Fields("ObjectBallot")                          '有效票数
  737.         End If
  738.         If (Rec_Query.Fields("ObjectTotal")) > 0 Then
  739.             CxbbGrid.TextMatrix(CxbbGrid.Rows - 1, CxbbGrid.Cols - 1 - 0) = Format(Rec_Query.Fields("ObjectTotal"), str_format)       '合计
  740.         End If
  741.     End If
  742.     
  743.     CxbbGrid.Redraw = True
  744.     
  745.     Xt_Wait.Hide
  746.     
  747. End Sub
  748. Private Sub Form_Resize()
  749.     On Error Resume Next
  750.     With Pic_Title
  751.       .Width = Me.Width - 160
  752.     End With
  753.     
  754.     '设置 height 属性
  755.     TreeView.Height = Me.Height - TreeView.Top - 400
  756.     
  757.     imgSplitter.Top = TreeView.Top
  758.     imgSplitter.Left = TreeView.Left + TreeView.Width
  759.     imgSplitter.Height = TreeView.Height
  760.     
  761.     With CxbbGrid
  762.       .Left = imgSplitter.Left + 40
  763.       .Width = Me.Width - (imgSplitter.Left + 160)   'Me.Width - 160
  764.       .Height = Me.Height - .Top - 400
  765.     End With
  766.     
  767.     GsToolbar.Left = Me.Width - GsToolbar.Width - 160
  768.    
  769. End Sub
  770. Private Sub Form_Unload(Cancel As Integer)             '窗体卸载
  771.     
  772.     Set Cxnrrec = Nothing
  773.     Set Rec_CodeSet = Nothing
  774.     Unload Dyymctbl
  775. End Sub
  776. '*******************以下区域为编写自定义过程区域**********************
  777. Private Sub Imgcbo_Title_Click()
  778.     int_EmpID = -1
  779.     str_TitleCode = GetComboKey(Imgcbo_Title, 0)
  780.     Call ShowFormat
  781.     str_titleRoot = Mid(str_TitleCode, 1, int_titleRootlen)
  782.     Add_Tree
  783.     '添加列标题
  784.     Call Sub_AddCol
  785. End Sub
  786. Private Function AddTitleCode()
  787.     Dim RecExist As New Recordset
  788.     
  789.     FillImageCombo Imgcbo_Title, "Khgl_TitleAnalyze", 1
  790.     
  791.   
  792.     Sqlstr = "SELECT TitleCode,titleName From Kh_Title where (endflag=1 and ComputeFlag=1 and CreateTime=(select max(createTime) from kh_title where endflag=1 and ComputeFlag=1))"
  793.     Set RecExist = Cw_DataEnvi.DataConnect.Execute(Sqlstr)
  794.     If Not RecExist.EOF Then
  795.         If Len(Trim(RecExist.Fields("titleName"))) > 0 Then
  796.             Imgcbo_Title.Text = RecExist.Fields("titleName")
  797.         End If
  798.     End If
  799.     
  800.     str_TitleCode = GetComboKey(Imgcbo_Title, 0)
  801. End Function
  802. Private Sub ShowFormat()
  803.     '设置考核数据显示格式
  804.     Dim rec_format As New Recordset
  805.     Dim str_sql As String
  806.     str_sql = "select TitleDigit from Kh_Title where TitleCode='" & str_TitleCode & "'"
  807.     Set rec_format = Cw_DataEnvi.DataConnect.Execute(str_sql)
  808.     If Not rec_format.EOF Then
  809.         str_format = "########" + "." + String(rec_format.Fields("TitleDigit"), "0")
  810.     End If
  811.     rec_format.Close
  812. End Sub
  813. '*******************以上区域为编写自定义过程区域**********************
  814. '******************以下为基本处理程序(固定不变)************************'
  815. Private Sub Add_Tree() '添加树项
  816.     Dim aDo_Sort As New Recordset
  817.     Dim str_DeptCode  As String  '加入接点时的部门号
  818.     Dim Sqlstr As String         '临时字符串
  819.     
  820.     Sqlstr = "SELECT TitleCode, EmpID, EmpNo,EmpName,DeptCode,DeptName from Kh_v_Object where TitleCode='" & str_TitleCode & "' order by TitleCode,DeptCode"
  821.     TreeView.Nodes.Clear
  822.     TreeView.Nodes.Add , 4, "T", "被考核对象", "T"
  823.     Set aDo_Sort = Cw_DataEnvi.DataConnect.Execute(Sqlstr)
  824.     With aDo_Sort
  825.         str_DeptCode = ""
  826.         Do While Not .EOF
  827.             
  828.             If Trim(str_DeptCode) <> Trim(.Fields("DeptCode")) Then
  829.                 Set nodX = TreeView.Nodes.Add("T", 4, "!" & Trim(.Fields("DeptCode")) & "", Trim(.Fields("DeptName")) & "", "Cl")
  830.                     nodX.Tag = "-1"
  831.                 '树形是否展开
  832.                 nodX.EnsureVisible
  833.                 
  834.                 Set nodX = TreeView.Nodes.Add("!" & Trim(.Fields("DeptCode")) & "", 4, "@" & Trim(.Fields("EmpNo")) & "", Trim(.Fields("EmpName")) & "", "C")
  835.                     nodX.Tag = Trim(.Fields("EmpID"))
  836.             Else
  837.                 Set nodX = TreeView.Nodes.Add("!" & Trim(.Fields("DeptCode")) & "", 4, "@" & Trim(.Fields("EmpNo")) & "", Trim(.Fields("EmpName")) & "", "C")
  838.                     nodX.Tag = Trim(.Fields("EmpID"))
  839.             End If
  840.             
  841.             str_DeptCode = .Fields("DeptCode")
  842.             .MoveNext
  843.         Loop
  844.     End With
  845.    
  846. End Sub
  847. Private Sub imgSplitter_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
  848.     
  849.     With imgSplitter
  850.         picSplitter.Move .Left, .Top, .Width  2, .Height - 20
  851.     End With
  852.     picSplitter.Visible = True
  853.     mbMoving = True
  854. End Sub
  855. Private Sub imgSplitter_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
  856.     
  857.     Dim sglPos As Single
  858.     If mbMoving Then
  859.         sglPos = X + imgSplitter.Left
  860.         If sglPos < sglSplitLimit Then
  861.             picSplitter.Left = sglSplitLimit
  862.         ElseIf sglPos > Me.Width - sglSplitLimit Then
  863.             picSplitter.Left = Me.Width - sglSplitLimit
  864.         Else
  865.             picSplitter.Left = sglPos
  866.         End If
  867.     End If
  868. End Sub
  869. Private Sub imgSplitter_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
  870.     
  871.     SizeControls picSplitter.Left
  872.     picSplitter.Visible = False
  873.     mbMoving = False
  874. End Sub
  875. Private Sub SizeControls(X As Single)
  876.     
  877.     On Error Resume Next
  878.     '设置 Width 属性
  879.     If X < 2000 Then X = 2000
  880.     If X > (Me.Width - 5000) Then X = Me.Width - 5000
  881.     TreeView.Width = X
  882.     imgSplitter.Left = X
  883.     CxbbGrid.Left = X + 40
  884.     CxbbGrid.Width = Me.Width - (X + 40 + 160)
  885. End Sub
  886. Private Sub Form_KeyUp(KeyCode As Integer, Shift As Integer)        '支持热键操作
  887.     
  888.     If Shift = 2 Then
  889.         Select Case UCase(Chr(KeyCode))
  890.             Case "P"                                                                          'Ctrl+P 打印
  891.                 If SzToolbar.Buttons("dy").Visible And SzToolbar.Buttons("dy").Enabled Then
  892.                     Call bbyl(False)
  893.                 End If
  894.         End Select
  895.     End If
  896. End Sub
  897. Private Sub SzToolbar_ButtonClick(ByVal Button As MSComctlLib.Button)
  898.     
  899.     Select Case Button.Key
  900.         Case "ymsz"                                          '页面设置
  901.             Dyymctbl.Show 1
  902.         Case "yl"                                            '预 览
  903.             Call bbyl(True)
  904.         Case "dy"                                            '打 印
  905.             Call bbyl(False)
  906.             
  907.       Case "tx"                                              '图形
  908.         Call Txfxbb(CxbbGrid, "Khgl_FactorAnalyze")
  909.         
  910.         Case "bz"                                            '帮 助
  911.             Call F1bz
  912.         Case "fh"                                            '退 出
  913.             Unload Me
  914.     End Select
  915. End Sub
  916. Private Sub CxbbGrid_AfterMoveColumn(ByVal Col As Long, Position As Long)           '网格列发生移动时自动交换网格索引信息
  917.     FnBln_RefreshArray Col, Position, GridStr(), GridInf()
  918. End Sub
  919. Private Sub GsToolbar_ButtonClick(ByVal Button As MSComctlLib.Button)   '表格格式设置(通用)
  920.     
  921.     Select Case Button.Key
  922.         Case "bcgs"                                       '保存表格格式
  923.             Call Bcwggs(CxbbGrid, GridCode, GridStr())
  924.         Case "hfmrgs"                                     '恢复默认格式
  925.             Call Hfmrgs(CxbbGrid, GridCode, GridStr())
  926.         'Case "szxsxm"                                     '设置显示项目
  927.             'Call Szxsxm(CxbbGrid, GridCode)
  928.     End Select
  929. End Sub
  930. Private Sub bbyl(bbylte As Boolean)                    '报表打印预览
  931.   
  932.     Dim Bbzbt$, Bbxbt() As String, bbxbtzzxs() As Integer, Bbxbtgs As Integer
  933.     Dim Bbbwh() As String, Bbbwhzzxs() As Integer, Bbbwhgs As Integer
  934.     Bbxbtgs = 2                                          '报 表 小 标 题 行 数
  935.     Bbbwhgs = 0                                          '报 表 表 尾 行 数
  936.     ReDim Bbxbt(1 To Bbxbtgs)
  937.     ReDim bbxbtzzxs(1 To Bbxbtgs)
  938.     If Bbbwhgs <> 0 Then
  939.         ReDim Bbbwh(1 To Bbbwhgs)
  940.         ReDim Bbbwhzzxs(1 To Bbbwhgs)
  941.     End If
  942.     Bbzbt = ReportTitle
  943.     Bbxbt(1) = " "
  944.     bbxbtzzxs(1) = 0                                     '报表行组织形式(0-居左 1-居中 2-居右)
  945.     
  946.     Bbxbt(2) = Fun_FormatOutPut("考核类别:" + Imgcbo_Title.Text, 30) + Fun_FormatOutPut(TsLabel(1).Caption, 30)
  947.     bbxbtzzxs(2) = 0                                    '居左
  948.     
  949.     Call Scyxsjb(CxbbGrid)                               '生成报表数据
  950.     Call Scdybb(Dyymctbl, Bbzbt, Bbxbt(), bbxbtzzxs(), Bbxbtgs, Bbbwh(), Bbbwhzzxs(), Bbbwhgs, bbylte)
  951.     If Not bbylte Then
  952.         Unload DY_Tybbyldy
  953.     End If
  954. End Sub
  955. Private Sub TreeView_Expand(ByVal Node As MSComctlLib.Node)
  956.     
  957.     If Node.Index <> 1 And Node.Key <> "T" Then
  958.         Node.Image = "O"
  959.     End If
  960. End Sub
  961. Private Sub TreeView_NodeClick(ByVal Node As MSComctlLib.Node)
  962.     int_EmpID = Val(Node.Tag)
  963.     If int_EmpID > 0 Then
  964.         TsLabel(1).Caption = "被考核对象:" + Node.Text
  965.         '填 充 网 格
  966.         Call Sub_Query
  967.     Else
  968.         TsLabel(1).Caption = "被考核对象:"
  969.     End If
  970. End Sub