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

企业管理

开发平台:

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. Object = "{BDC217C8-ED16-11CD-956C-0000C04E4C0A}#1.1#0"; "TABCTL32.OCX"
  6. Begin VB.Form Khgl_Factor 
  7.    BorderStyle     =   1  'Fixed Single
  8.    Caption         =   "考核要素设置"
  9.    ClientHeight    =   7110
  10.    ClientLeft      =   45
  11.    ClientTop       =   330
  12.    ClientWidth     =   9375
  13.    HelpContextID   =   2312005
  14.    Icon            =   "考核要素设置.frx":0000
  15.    KeyPreview      =   -1  'True
  16.    LinkTopic       =   "Form2"
  17.    MaxButton       =   0   'False
  18.    ScaleHeight     =   7110
  19.    ScaleWidth      =   9375
  20.    StartUpPosition =   2  '屏幕中心
  21.    Begin VB.Frame Frame2 
  22.       Height          =   615
  23.       Left            =   60
  24.       TabIndex        =   14
  25.       Top             =   600
  26.       Width           =   4300
  27.       Begin MSComctlLib.ImageCombo Imgcbo_Check 
  28.          Height          =   315
  29.          Left            =   1140
  30.          TabIndex        =   16
  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 Lbl_CheckCode 
  40.          Caption         =   "考核指标:"
  41.          Height          =   195
  42.          Left            =   180
  43.          TabIndex        =   15
  44.          Top             =   240
  45.          Width           =   975
  46.       End
  47.    End
  48.    Begin TabDlg.SSTab StTab 
  49.       Height          =   5805
  50.       Left            =   60
  51.       TabIndex        =   9
  52.       Top             =   1260
  53.       Width           =   9300
  54.       _ExtentX        =   16404
  55.       _ExtentY        =   10239
  56.       _Version        =   393216
  57.       Style           =   1
  58.       Tabs            =   2
  59.       TabHeight       =   520
  60.       TabCaption(0)   =   "列表视图"
  61.       TabPicture(0)   =   "考核要素设置.frx":1042
  62.       Tab(0).ControlEnabled=   -1  'True
  63.       Tab(0).Control(0)=   "CzxsGrid"
  64.       Tab(0).Control(0).Enabled=   0   'False
  65.       Tab(0).ControlCount=   1
  66.       TabCaption(1)   =   "单张视图"
  67.       TabPicture(1)   =   "考核要素设置.frx":105E
  68.       Tab(1).ControlEnabled=   0   'False
  69.       Tab(1).Control(0)=   "Frame1"
  70.       Tab(1).ControlCount=   1
  71.       Begin VB.Frame Frame1 
  72.          Height          =   5295
  73.          Left            =   -74910
  74.          TabIndex        =   10
  75.          Top             =   390
  76.          Width           =   9105
  77.          Begin VB.CommandButton Ydcommand1 
  78.             Height          =   300
  79.             Index           =   3
  80.             Left            =   5070
  81.             Picture         =   "考核要素设置.frx":107A
  82.             Style           =   1  'Graphical
  83.             TabIndex        =   19
  84.             Top             =   1740
  85.             Visible         =   0   'False
  86.             Width           =   300
  87.          End
  88.          Begin VB.OptionButton Opt_AppraiseType 
  89.             Caption         =   "使用量化规则"
  90.             Height          =   255
  91.             Index           =   1
  92.             Left            =   555
  93.             TabIndex        =   7
  94.             Top             =   1740
  95.             Width           =   1395
  96.          End
  97.          Begin VB.OptionButton Opt_AppraiseType 
  98.             Caption         =   "使用分值规则"
  99.             Height          =   255
  100.             Index           =   0
  101.             Left            =   555
  102.             TabIndex        =   6
  103.             Top             =   1320
  104.             Value           =   -1  'True
  105.             Width           =   1395
  106.          End
  107.          Begin VB.TextBox LrText 
  108.             Height          =   300
  109.             Index           =   1
  110.             Left            =   2040
  111.             TabIndex        =   1
  112.             Text            =   "1"
  113.             Top             =   780
  114.             Width           =   3315
  115.          End
  116.          Begin VB.TextBox LrText 
  117.             Height          =   300
  118.             Index           =   2
  119.             Left            =   2040
  120.             TabIndex        =   2
  121.             Text            =   "2"
  122.             Top             =   1260
  123.             Width           =   3015
  124.          End
  125.          Begin VB.TextBox LrText 
  126.             Height          =   300
  127.             Index           =   3
  128.             Left            =   2040
  129.             MultiLine       =   -1  'True
  130.             TabIndex        =   3
  131.             Text            =   "考核要素设置.frx":1404
  132.             Top             =   1740
  133.             Width           =   3015
  134.          End
  135.          Begin VB.CommandButton BcCommand 
  136.             Caption         =   "保存(&S)"
  137.             Height          =   300
  138.             Left            =   3030
  139.             TabIndex        =   4
  140.             Top             =   2250
  141.             Width           =   1120
  142.          End
  143.          Begin VB.CommandButton QxCommand 
  144.             Cancel          =   -1  'True
  145.             Caption         =   "取消(&C)"
  146.             Height          =   300
  147.             Left            =   4230
  148.             TabIndex        =   5
  149.             Top             =   2250
  150.             Width           =   1120
  151.          End
  152.          Begin VB.CommandButton Ydcommand1 
  153.             Height          =   300
  154.             Index           =   2
  155.             Left            =   5070
  156.             Picture         =   "考核要素设置.frx":1406
  157.             Style           =   1  'Graphical
  158.             TabIndex        =   11
  159.             Top             =   1260
  160.             Visible         =   0   'False
  161.             Width           =   300
  162.          End
  163.          Begin VB.TextBox LrText 
  164.             Height          =   300
  165.             Index           =   0
  166.             Left            =   2040
  167.             TabIndex        =   0
  168.             Text            =   "0"
  169.             Top             =   330
  170.             Width           =   1620
  171.          End
  172.          Begin VB.Label TsLabel 
  173.             AutoSize        =   -1  'True
  174.             Caption         =   "考核要素编码:"
  175.             Height          =   180
  176.             Index           =   0
  177.             Left            =   555
  178.             TabIndex        =   18
  179.             Top             =   390
  180.             Width           =   1170
  181.          End
  182.          Begin VB.Label TsLabel 
  183.             AutoSize        =   -1  'True
  184.             Caption         =   "考核要素名称:"
  185.             Height          =   180
  186.             Index           =   1
  187.             Left            =   555
  188.             TabIndex        =   17
  189.             Top             =   840
  190.             Width           =   1170
  191.          End
  192.       End
  193.       Begin VSFlex8Ctl.VSFlexGrid CzxsGrid 
  194.          Height          =   5295
  195.          Left            =   90
  196.          TabIndex        =   8
  197.          Top             =   390
  198.          Width           =   9105
  199.          _ExtentX        =   16060
  200.          _ExtentY        =   9340
  201.          Appearance      =   1
  202.          BorderStyle     =   1
  203.          Enabled         =   -1  'True
  204.          BeginProperty Font {0BE35203-8F91-11CE-9DE3-00AA004BB851} 
  205.             Name            =   "宋体"
  206.             Size            =   9
  207.             Charset         =   134
  208.             Weight          =   400
  209.             Underline       =   0   'False
  210.             Italic          =   0   'False
  211.             Strikethrough   =   0   'False
  212.          EndProperty
  213.          MousePointer    =   0
  214.          BackColor       =   -2147483643
  215.          ForeColor       =   -2147483640
  216.          BackColorFixed  =   -2147483633
  217.          ForeColorFixed  =   -2147483630
  218.          BackColorSel    =   -2147483635
  219.          ForeColorSel    =   -2147483634
  220.          BackColorBkg    =   8421504
  221.          BackColorAlternate=   -2147483643
  222.          GridColor       =   -2147483633
  223.          GridColorFixed  =   -2147483632
  224.          TreeColor       =   -2147483632
  225.          FloodColor      =   192
  226.          SheetBorder     =   -2147483642
  227.          FocusRect       =   1
  228.          HighLight       =   1
  229.          AllowSelection  =   -1  'True
  230.          AllowBigSelection=   -1  'True
  231.          AllowUserResizing=   0
  232.          SelectionMode   =   0
  233.          GridLines       =   1
  234.          GridLinesFixed  =   2
  235.          GridLineWidth   =   1
  236.          Rows            =   5000
  237.          Cols            =   10
  238.          FixedRows       =   1
  239.          FixedCols       =   0
  240.          RowHeightMin    =   0
  241.          RowHeightMax    =   0
  242.          ColWidthMin     =   0
  243.          ColWidthMax     =   0
  244.          ExtendLastCol   =   0   'False
  245.          FormatString    =   ""
  246.          ScrollTrack     =   0   'False
  247.          ScrollBars      =   3
  248.          ScrollTips      =   0   'False
  249.          MergeCells      =   0
  250.          MergeCompare    =   0
  251.          AutoResize      =   -1  'True
  252.          AutoSizeMode    =   0
  253.          AutoSearch      =   0
  254.          MultiTotals     =   -1  'True
  255.          SubtotalPosition=   1
  256.          OutlineBar      =   0
  257.          OutlineCol      =   0
  258.          Ellipsis        =   0
  259.          ExplorerBar     =   0
  260.          PicturesOver    =   0   'False
  261.          FillStyle       =   0
  262.          RightToLeft     =   0   'False
  263.          PictureType     =   0
  264.          TabBehavior     =   0
  265.          OwnerDraw       =   0
  266.          Editable        =   0   'False
  267.          ShowComboButton =   -1  'True
  268.          WordWrap        =   0   'False
  269.          TextStyle       =   0
  270.          TextStyleFixed  =   0
  271.          OleDragMode     =   0
  272.          OleDropMode     =   0
  273.          DataMode        =   0
  274.          VirtualData     =   -1  'True
  275.       End
  276.    End
  277.    Begin MSComctlLib.ImageList ImageList1 
  278.       Left            =   0
  279.       Top             =   420
  280.       _ExtentX        =   1005
  281.       _ExtentY        =   1005
  282.       BackColor       =   -2147483643
  283.       ImageWidth      =   16
  284.       ImageHeight     =   16
  285.       MaskColor       =   12632256
  286.       _Version        =   393216
  287.       BeginProperty Images {2C247F25-8591-11D1-B16A-00C0F0283628} 
  288.          NumListImages   =   29
  289.          BeginProperty ListImage1 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  290.             Picture         =   "考核要素设置.frx":1790
  291.             Key             =   "sz"
  292.          EndProperty
  293.          BeginProperty ListImage2 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  294.             Picture         =   "考核要素设置.frx":1B2A
  295.             Key             =   "dy"
  296.          EndProperty
  297.          BeginProperty ListImage3 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  298.             Picture         =   "考核要素设置.frx":1EC4
  299.             Key             =   "yl"
  300.          EndProperty
  301.          BeginProperty ListImage4 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  302.             Picture         =   "考核要素设置.frx":225E
  303.             Key             =   "xg"
  304.          EndProperty
  305.          BeginProperty ListImage5 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  306.             Picture         =   "考核要素设置.frx":25F8
  307.             Key             =   "zh"
  308.          EndProperty
  309.          BeginProperty ListImage6 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  310.             Picture         =   "考核要素设置.frx":2992
  311.             Key             =   "sh"
  312.          EndProperty
  313.          BeginProperty ListImage7 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  314.             Picture         =   "考核要素设置.frx":2D2C
  315.             Key             =   "bc"
  316.          EndProperty
  317.          BeginProperty ListImage8 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  318.             Picture         =   "考核要素设置.frx":30C6
  319.             Key             =   "fq"
  320.          EndProperty
  321.          BeginProperty ListImage9 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  322.             Picture         =   "考核要素设置.frx":3460
  323.             Key             =   "bz"
  324.          EndProperty
  325.          BeginProperty ListImage10 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  326.             Picture         =   "考核要素设置.frx":37FA
  327.             Key             =   "tc"
  328.          EndProperty
  329.          BeginProperty ListImage11 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  330.             Picture         =   "考核要素设置.frx":3B94
  331.             Key             =   "bcgs"
  332.          EndProperty
  333.          BeginProperty ListImage12 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  334.             Picture         =   "考核要素设置.frx":3F2E
  335.             Key             =   "mrlk"
  336.          EndProperty
  337.          BeginProperty ListImage13 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  338.             Picture         =   "考核要素设置.frx":42C8
  339.             Key             =   "xsxm"
  340.          EndProperty
  341.          BeginProperty ListImage14 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  342.             Picture         =   "考核要素设置.frx":4662
  343.             Key             =   "first"
  344.          EndProperty
  345.          BeginProperty ListImage15 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  346.             Picture         =   "考核要素设置.frx":49FC
  347.             Key             =   "prev"
  348.          EndProperty
  349.          BeginProperty ListImage16 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  350.             Picture         =   "考核要素设置.frx":4D96
  351.             Key             =   "next"
  352.          EndProperty
  353.          BeginProperty ListImage17 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  354.             Picture         =   "考核要素设置.frx":5130
  355.             Key             =   "last"
  356.          EndProperty
  357.          BeginProperty ListImage18 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  358.             Picture         =   "考核要素设置.frx":54CA
  359.             Key             =   "xx"
  360.          EndProperty
  361.          BeginProperty ListImage19 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  362.             Picture         =   "考核要素设置.frx":5864
  363.             Key             =   "define"
  364.          EndProperty
  365.          BeginProperty ListImage20 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  366.             Picture         =   "考核要素设置.frx":5BFE
  367.             Key             =   "exec"
  368.          EndProperty
  369.          BeginProperty ListImage21 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  370.             Picture         =   "考核要素设置.frx":5F98
  371.             Key             =   "xz"
  372.          EndProperty
  373.          BeginProperty ListImage22 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  374.             Picture         =   "考核要素设置.frx":6332
  375.             Key             =   "sc"
  376.          EndProperty
  377.          BeginProperty ListImage23 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  378.             Picture         =   "考核要素设置.frx":66CC
  379.             Key             =   "sx"
  380.          EndProperty
  381.          BeginProperty ListImage24 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  382.             Picture         =   "考核要素设置.frx":6A66
  383.             Key             =   "cx"
  384.          EndProperty
  385.          BeginProperty ListImage25 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  386.             Picture         =   "考核要素设置.frx":6E00
  387.             Key             =   "zd"
  388.          EndProperty
  389.          BeginProperty ListImage26 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  390.             Picture         =   "考核要素设置.frx":719A
  391.             Key             =   "dz"
  392.          EndProperty
  393.          BeginProperty ListImage27 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  394.             Picture         =   "考核要素设置.frx":7534
  395.             Key             =   "ph"
  396.          EndProperty
  397.          BeginProperty ListImage28 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  398.             Picture         =   "考核要素设置.frx":78CE
  399.             Key             =   "fz"
  400.          EndProperty
  401.          BeginProperty ListImage29 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  402.             Picture         =   "考核要素设置.frx":7C68
  403.             Key             =   "dw"
  404.          EndProperty
  405.       EndProperty
  406.    End
  407.    Begin MSComctlLib.Toolbar SzToolbar 
  408.       Align           =   1  'Align Top
  409.       Height          =   570
  410.       Left            =   0
  411.       TabIndex        =   12
  412.       Top             =   0
  413.       Width           =   9375
  414.       _ExtentX        =   16536
  415.       _ExtentY        =   1005
  416.       ButtonWidth     =   820
  417.       ButtonHeight    =   953
  418.       AllowCustomize  =   0   'False
  419.       Appearance      =   1
  420.       Style           =   1
  421.       ImageList       =   "ImageList1"
  422.       _Version        =   393216
  423.       BeginProperty Buttons {66833FE8-8583-11D1-B16A-00C0F0283628} 
  424.          NumButtons      =   14
  425.          BeginProperty Button1 {66833FEA-8583-11D1-B16A-00C0F0283628} 
  426.             Caption         =   "设置"
  427.             Key             =   "ymsz"
  428.             ImageKey        =   "sz"
  429.          EndProperty
  430.          BeginProperty Button2 {66833FEA-8583-11D1-B16A-00C0F0283628} 
  431.             Caption         =   "打印"
  432.             Key             =   "dy"
  433.             Object.ToolTipText     =   "点击或按Ctrl+P打印表格"
  434.             ImageKey        =   "dy"
  435.          EndProperty
  436.          BeginProperty Button3 {66833FEA-8583-11D1-B16A-00C0F0283628} 
  437.             Caption         =   "预览"
  438.             Key             =   "yl"
  439.             ImageKey        =   "yl"
  440.          EndProperty
  441.          BeginProperty Button4 {66833FEA-8583-11D1-B16A-00C0F0283628} 
  442.             Style           =   3
  443.          EndProperty
  444.          BeginProperty Button5 {66833FEA-8583-11D1-B16A-00C0F0283628} 
  445.             Caption         =   "增加"
  446.             Key             =   "zj"
  447.             Object.ToolTipText     =   "点击或按Ctrl+A增加记录"
  448.             ImageKey        =   "xz"
  449.          EndProperty
  450.          BeginProperty Button6 {66833FEA-8583-11D1-B16A-00C0F0283628} 
  451.             Caption         =   "修改"
  452.             Key             =   "xg"
  453.             ImageKey        =   "xg"
  454.          EndProperty
  455.          BeginProperty Button7 {66833FEA-8583-11D1-B16A-00C0F0283628} 
  456.             Caption         =   "删除"
  457.             Key             =   "sc"
  458.             Object.ToolTipText     =   "点击或按Ctrl+D删除当前记录"
  459.             ImageKey        =   "sc"
  460.          EndProperty
  461.          BeginProperty Button8 {66833FEA-8583-11D1-B16A-00C0F0283628} 
  462.             Style           =   3
  463.          EndProperty
  464.          BeginProperty Button9 {66833FEA-8583-11D1-B16A-00C0F0283628} 
  465.             Caption         =   "刷新"
  466.             Key             =   "sx"
  467.             ImageKey        =   "sx"
  468.          EndProperty
  469.          BeginProperty Button10 {66833FEA-8583-11D1-B16A-00C0F0283628} 
  470.             Style           =   3
  471.          EndProperty
  472.          BeginProperty Button11 {66833FEA-8583-11D1-B16A-00C0F0283628} 
  473.             Caption         =   "标准"
  474.             Key             =   "pjbz"
  475.             ImageKey        =   "ph"
  476.          EndProperty
  477.          BeginProperty Button12 {66833FEA-8583-11D1-B16A-00C0F0283628} 
  478.             Style           =   3
  479.          EndProperty
  480.          BeginProperty Button13 {66833FEA-8583-11D1-B16A-00C0F0283628} 
  481.             Caption         =   "帮助"
  482.             Key             =   "bz"
  483.             ImageKey        =   "bz"
  484.          EndProperty
  485.          BeginProperty Button14 {66833FEA-8583-11D1-B16A-00C0F0283628} 
  486.             Caption         =   "退出"
  487.             Key             =   "fh"
  488.             ImageKey        =   "tc"
  489.          EndProperty
  490.       EndProperty
  491.       BorderStyle     =   1
  492.       Begin MSComctlLib.Toolbar GsToolbar 
  493.          Height          =   540
  494.          Left            =   6870
  495.          TabIndex        =   13
  496.          Top             =   0
  497.          Width           =   2475
  498.          _ExtentX        =   4366
  499.          _ExtentY        =   953
  500.          ButtonWidth     =   1455
  501.          ButtonHeight    =   953
  502.          AllowCustomize  =   0   'False
  503.          Appearance      =   1
  504.          Style           =   1
  505.          ImageList       =   "ImageList1"
  506.          _Version        =   393216
  507.          BeginProperty Buttons {66833FE8-8583-11D1-B16A-00C0F0283628} 
  508.             NumButtons      =   3
  509.             BeginProperty Button1 {66833FEA-8583-11D1-B16A-00C0F0283628} 
  510.                Caption         =   "保存格式"
  511.                Key             =   "bcgs"
  512.                ImageKey        =   "bcgs"
  513.             EndProperty
  514.             BeginProperty Button2 {66833FEA-8583-11D1-B16A-00C0F0283628} 
  515.                Caption         =   "默认列宽"
  516.                Key             =   "hfmrgs"
  517.                ImageKey        =   "mrlk"
  518.             EndProperty
  519.             BeginProperty Button3 {66833FEA-8583-11D1-B16A-00C0F0283628} 
  520.                Caption         =   "显示项目"
  521.                Key             =   "szxsxm"
  522.                ImageKey        =   "xsxm"
  523.             EndProperty
  524.          EndProperty
  525.       End
  526.    End
  527. End
  528. Attribute VB_Name = "Khgl_Factor"
  529. Attribute VB_GlobalNameSpace = False
  530. Attribute VB_Creatable = False
  531. Attribute VB_PredeclaredId = True
  532. Attribute VB_Exposed = False
  533. '**********************************************************
  534. '*    模 块 名 称 :考核要素设置
  535. '*    功 能 描 述 :设置考核指标具体内容,即考核要素
  536. '*    程序员姓名  :张洪军
  537. '*    最后修改人  :张洪军
  538. '*    最后修改时间:2001/12/10
  539. '*    备        注:封版(*所有自定义部分程序均用[>> <<]括起)
  540. '**********************************************************
  541. Dim str_CheckCode As String          '考核指标编码
  542.                
  543. Dim Rec_CodeSet As New ADODB.Recordset   '编码设置表
  544. Dim jdzygs As Integer                    '控件焦点转移个数
  545. Dim Lrzt As Integer                      '录入状态标志(0-非录入状态 1-增加 2-修改)
  546. Dim ReportTitle As String                '报表主标题
  547.   
  548. '以下为固定使用变量(网格)
  549. Dim Cxnrrec As New ADODB.Recordset       '显示查询内容动态集
  550. Dim Dyymctbl As New DY_Dyymsz            '打印页面窗体变量
  551. Dim GridCode As String                   '显示网格网格代码
  552. Dim GridInf() As Variant                 '整个网格设置信息
  553. Dim Tsxx As String                       '系统提示信息
  554. Dim Qslz As Long                         '网格隐藏(非操作显示)列数
  555. Dim Sjhgd As Double                      '网格数据行高度
  556. Dim GridBoolean() As Boolean             '网格列信息(布尔型)
  557. Dim GridStr()  As String                 '网格列信息(字符型)
  558. Dim GridInt() As Integer                 '网格列信息(整型)
  559. Dim Szzls As Integer                     '数组总列数(网格列数-1)
  560. '以下为固定使用变量(文本框)
  561. Dim Textvar() As Variant                 '存储变体型文本框信息
  562. Dim Textboolean() As Boolean             '存储布尔型文本框信息
  563. Dim Textint() As Integer                 '存储整型文本框信息
  564. Dim Textstr() As String                  '存储字符型文本框信息
  565. Dim Max_Text_Index As Integer            '最大录入文本框索引值
  566. Dim TextGroupCode As String              '文本框录入分组编码
  567. Dim TextValiLock As Boolean              '文本框失去焦点是否进行有效性控制判断
  568. Dim TextValiJudgeLock() As Boolean       '文本框录入有效性判断控制锁
  569. Dim CurTextIndex As Integer              '当前文本框索引值
  570. Dim TextChangeLock As Boolean            '文本框内容变换控制锁
  571. Dim Bln_Cancel As Boolean                '取消按钮信息传递
  572. Private Sub Form_KeyPress(KeyAscii As Integer)   '控 制 焦 点 转 移
  573.     jdzygs = 10
  574.     
  575.     Select Case KeyAscii
  576.         Case vbKeyReturn
  577.             If Kjjdzy(jdzygs) Then
  578.                 KeyAscii = 0
  579.             End If
  580.         Case 39           '屏蔽"'"
  581.             KeyAscii = 0
  582.     End Select
  583.    
  584. End Sub
  585. Private Sub Form_Load()
  586.   
  587.     
  588.     '打印报表标题信息
  589.     ReportTitle = "考核要素设置"
  590.      
  591.     '调入打印页面设置窗体
  592.     XtReportCode = "Khgl_Factor"
  593.     Load Dyymctbl
  594.       
  595.     
  596.     '以下为文本框处理程序(读入文本框录入信息)
  597.     TextGroupCode = "Khgl_Factor"
  598.     Call Drwbkxx(TextGroupCode, Textvar(), Textboolean(), Textint(), Textstr())
  599.     Call Wbkcsh
  600.     
  601.     '调入网格设置信息
  602.     GridCode = "Khgl_Factor"
  603.     Call BzWgcsh(CzxsGrid, GridCode, GridInf(), GridBoolean(), GridInt(), GridStr())
  604.     Qslz = GridInf(1)
  605.     Sjhgd = GridInf(2)
  606.     Szzls = CzxsGrid.Cols - 1
  607.     
  608.     '填充考核指标列表框
  609.     FillImageCombo Imgcbo_Check, "Khgl_Check2", 1
  610.     str_CheckCode = GetComboKey(Imgcbo_Check, 0)
  611.         
  612.     '填 充 网 格
  613.     Call Cxnrtcwg
  614.        
  615.     '初始化ToolBar,Tab卡状态
  616.     StTab.Tab = 0
  617.     StTab.TabEnabled(1) = False
  618.     Frame1.Enabled = False
  619.     
  620.     '设置为非录入状态
  621.     Lrzt = 0
  622.     
  623.     
  624.  End Sub
  625.  
  626. Private Sub Cxnrtcwg()                               '查询内容填充网格
  627.     Dim Sqlstr As String              '查询连接串
  628.     Dim Jsqte As Long                 '查询临时使用变量
  629.   
  630.     '为加快显示速度,将网格刷新动作冻结
  631.     CzxsGrid.Redraw = False
  632.   
  633.     '[>>查询连接串
  634.     Sqlstr = "SELECT Kh_v_Factor.* FROM Kh_V_Factor where  CheckCode='" + str_CheckCode + "'  Order By FactorCode"
  635.     '<<]
  636.     Set Cxnrrec = Cw_DataEnvi.DataConnect.Execute(Sqlstr)
  637.     
  638.     With Cxnrrec
  639.         CzxsGrid.Rows = CzxsGrid.FixedRows
  640.         If .EOF And .BOF Then
  641.             CzxsGrid.Redraw = True
  642.             Exit Sub
  643.         End If
  644.         Jsqte = CzxsGrid.FixedRows
  645.         Do While Not .EOF
  646.             CzxsGrid.AddItem ""
  647.             Call Jltcwg(Cxnrrec, Jsqte)                              '调入填充网格子过程
  648.             CzxsGrid.RowHeight(Jsqte) = Sjhgd                        '设置网格高度
  649.             .MoveNext
  650.             Jsqte = Jsqte + 1
  651.         Loop
  652.     End With
  653.   
  654.     '将网格刷新动作解冻
  655.     CzxsGrid.Redraw = True
  656.     
  657. End Sub
  658. Private Sub Jltcwg(Jlbrec As ADODB.Recordset, Rowjsq As Long)           '记录内容填充网格
  659.     '[>>以下为自定义部分
  660.     With Jlbrec
  661.        
  662.         CzxsGrid.TextMatrix(Rowjsq, Sydz("001", GridStr(), Szzls)) = Trim(.Fields("FactorCode") & "")      '考核要素编码
  663.         CzxsGrid.TextMatrix(Rowjsq, Sydz("002", GridStr(), Szzls)) = Trim(.Fields("FactorName") & "")      '考核要素名称
  664.         If Trim(.Fields("AppraiseType") & "") = 0 Then
  665.             CzxsGrid.TextMatrix(Rowjsq, Sydz("003", GridStr(), Szzls)) = "分值规则"                        '评价标准类型
  666.         Else
  667.             CzxsGrid.TextMatrix(Rowjsq, Sydz("003", GridStr(), Szzls)) = "量化规则"                        '评价标准类型
  668.         End If
  669.         CzxsGrid.TextMatrix(Rowjsq, Sydz("004", GridStr(), Szzls)) = Trim(.Fields("AppraiseName") & "")    '评价标准
  670.         
  671.        
  672.     End With
  673.     '以上为自定义部分<<]
  674.     
  675. End Sub
  676. Private Sub Form_Unload(Cancel As Integer)             '窗体卸载
  677.     Set Cxnrrec = Nothing
  678.     Set Rec_CodeSet = Nothing
  679.     Unload Dyymctbl
  680.    
  681. End Sub
  682. Private Function Bclrsj() As Boolean                   '判断录入数据有效性,并保存数据
  683.     Dim Jsqte As Integer
  684.   
  685.     '对文本框录入内容进行为零和为空判断(固定不变)
  686.     With Rec_CodeSet
  687.         For Jsqte = 0 To Max_Text_Index
  688.             If Textint(Jsqte, 8) = 1 Then     '字段不能为空
  689.                 If Len(Trim(LrText(Jsqte).Text)) = 0 Then
  690.                     Tsxx = Textstr(Jsqte, 7) & "不能为空!"
  691.                     Call Xtxxts(Tsxx, 0, 1)
  692.                     LrText(Jsqte).SetFocus
  693.                     Bclrsj = False
  694.                     Exit Function
  695.                 End If
  696.             Else
  697.                 If Textint(Jsqte, 8) = 2 Then   '字段不能为零
  698.                     If Val(Trim(LrText(Jsqte).Text)) = 0 Then
  699.                         Tsxx = Textstr(Jsqte, 7) & "不能为零!"
  700.                         Call Xtxxts(Tsxx, 0, 1)
  701.                         LrText(Jsqte).SetFocus
  702.                         Bclrsj = False
  703.                         Exit Function
  704.                     End If
  705.                 End If
  706.             End If
  707.         Next Jsqte
  708.     
  709.         '对需要进行事后判断的文本框录入内容进行有效性判断 (固定不变)
  710.         For Jsqte = 0 To Max_Text_Index
  711.             If Textint(Jsqte, 9) = 0 Or Textint(Jsqte, 9) = 2 Then
  712.                 If Not TextYxxpd(Jsqte) Then
  713.                     Exit Function
  714.                 End If
  715.             End If
  716.         Next Jsqte
  717.    
  718.         If Opt_AppraiseType(0).Value = True Then
  719.             If Not (Len(Trim(LrText(2).Text)) > 0) Then
  720.                 Tsxx = "分值规则不能为空!"
  721.                 Call Xtxxts(Tsxx, 0, 1)
  722.                 LrText(2).SetFocus
  723.                 Bclrsj = False
  724.                 Exit Function
  725.             End If
  726.         Else
  727.             If Not (Len(Trim(LrText(3).Text)) > 0) Then
  728.                 Tsxx = "量化规则不能为空!"
  729.                 Call Xtxxts(Tsxx, 0, 1)
  730.                 LrText(3).SetFocus
  731.                 Bclrsj = False
  732.                 Exit Function
  733.             End If
  734.         End If
  735.         If Lrzt = 1 Then  '增 加
  736.         
  737.             '[>>判断编码是否重复
  738.             If .State = 1 Then .Close
  739.             .Open "SELECT * FROM Kh_Factor WHERE FactorCode= '" + Trim(LrText(0).Text) + "'", Cw_DataEnvi.DataConnect, adOpenDynamic, adLockOptimistic
  740.             
  741.             If Not .EOF Then
  742.                 Tsxx = "考核要素编码重复!"
  743.                 Call Xtxxts(Tsxx, 0, 1)
  744.                 LrText(0).SetFocus
  745.                 Bclrsj = False
  746.                 Exit Function
  747.             End If
  748.            
  749.             '判断名称是否重复
  750.             If .State = 1 Then .Close
  751.             .Open "SELECT * FROM Kh_Factor WHERE FactorName= '" + Trim(LrText(1).Text) + "' and CheckCode='" + str_CheckCode + "'", Cw_DataEnvi.DataConnect, adOpenDynamic, adLockOptimistic
  752.             
  753.             If Not .EOF Then
  754.                 Tsxx = "考核要素名称重复!"
  755.                 Call Xtxxts(Tsxx, 0, 1)
  756.                 LrText(1).SetFocus
  757.                 
  758.                 Bclrsj = False
  759.                 Exit Function
  760.             End If
  761.     
  762.     
  763.             '判断记录内容无误后,将记录内容写入数据表
  764.             On Error GoTo Swcwcl
  765.     
  766.             Cw_DataEnvi.DataConnect.BeginTrans
  767.    
  768.             .AddNew
  769.                 .Fields("FactorCode") = Trim(LrText(0).Text)       '考核要素编码
  770.                 .Fields("FactorName") = Trim(LrText(1).Text)       '考核要素名称
  771.                 
  772.                 If Opt_AppraiseType(0).Value = True Then
  773.                     .Fields("AppraiseType") = 0                    '评价标准类型
  774.                     .Fields("AppraiseCode") = Trim(LrText(2).Tag)  '分值规则
  775.                 Else
  776.                     .Fields("AppraiseType") = 1                    '评价标准类型
  777.                     .Fields("AppraiseCode") = Trim(LrText(3).Tag)  '量化规则
  778.                 End If
  779.                               
  780.                 .Fields("CheckCode") = str_CheckCode               '考核指标编码
  781.             .Update
  782.             
  783.             Cw_DataEnvi.DataConnect.CommitTrans
  784.    
  785.             '将记录加入网格
  786.             Sqlstr = "SELECT * FROM Kh_v_Factor WHERE FactorCode= '" + Trim(LrText(0).Text) + "'"
  787.             Set Cxnrrec = Cw_DataEnvi.DataConnect.Execute(Sqlstr)
  788.             
  789.             With CzxsGrid
  790.                 .AddItem ""
  791.                 .RowHeight(.Rows - 1) = Sjhgd
  792.                 .Select .Rows - 1, Qslz
  793.                 Call Jltcwg(Cxnrrec, .Rows - 1)
  794.             End With
  795.    
  796.             Tsxx = "保存完毕!"
  797.             Call Xtxxts(Tsxx, 0, 4)
  798.             
  799.             Call Cshlrxx(1)
  800.             LrText(0).SetFocus
  801.    
  802.             '将网格按编码排序
  803.             With CzxsGrid
  804.                 .Col = Sydz("001", GridStr(), Szzls)
  805.                 CzxsGrid.Sort = flexSortStringAscending
  806.             End With
  807.             '<<]
  808.     
  809.         Else  '否则为修改记录
  810.  
  811.             If .State = 1 Then .Close
  812.             .Open "SELECT * FROM Kh_Factor WHERE FactorName= '" + Trim(LrText(1).Text) + "' and CheckCode='" + str_CheckCode + "' and FactorCode<>'" & Trim(LrText(0).Text) & "'", Cw_DataEnvi.DataConnect, adOpenDynamic, adLockOptimistic
  813.         
  814.             If Not .EOF Then
  815.                 Tsxx = "考核要素名称重复!"
  816.                 Call Xtxxts(Tsxx, 0, 1)
  817.                 LrText(1).SetFocus
  818.                 Bclrsj = False
  819.                 Exit Function
  820.             End If
  821.         
  822.             On Error GoTo Swcwcl
  823.         
  824.             Cw_DataEnvi.DataConnect.BeginTrans
  825.          
  826.             If .State = 1 Then .Close
  827.             .Open "SELECT * FROM Kh_Factor WHERE FactorCode= '" + Trim(LrText(0).Text) + "'", Cw_DataEnvi.DataConnect, adOpenDynamic, adLockOptimistic
  828.              
  829.             If Not .EOF Then
  830.                 .Fields("FactorName") = Trim(LrText(1).Text)       '考核要素名称
  831.                 
  832.                 If Opt_AppraiseType(0).Value = True Then
  833.                     .Fields("AppraiseType") = 0                    '评价标准类型
  834.                     .Fields("AppraiseCode") = Trim(LrText(2).Tag)  '分值规则
  835.                 Else
  836.                     .Fields("AppraiseType") = 1                    '评价标准类型
  837.                     .Fields("AppraiseCode") = Trim(LrText(3).Tag)  '量化规则
  838.                 End If
  839.                             
  840.                 .Update
  841.             End If
  842.             
  843.             Cw_DataEnvi.DataConnect.CommitTrans
  844.             
  845.             '刷新当前网格
  846.             Sqlstr = "SELECT * FROM Kh_v_Factor WHERE FactorCode= '" + Trim(LrText(0).Text) + "'"
  847.             Set Cxnrrec = Cw_DataEnvi.DataConnect.Execute(Sqlstr)
  848.             
  849.             If Not Cxnrrec.EOF Then
  850.                 With CzxsGrid
  851.                     Call Jltcwg(Cxnrrec, .Row)
  852.                 End With
  853.             Else
  854.                 Tsxx = "该记录已经被其他人删除,请刷新当前数据!"
  855.                 Call Xtxxts(Tsxx, 0, 4)
  856.                 Exit Function
  857.             End If
  858.    
  859.         End If
  860.      
  861.         '保存记录成功,函数返回真值
  862.         Bclrsj = True
  863.         Exit Function
  864.     End With
  865.  
  866. Swcwcl:
  867.     Cw_DataEnvi.DataConnect.RollbackTrans
  868.     
  869.     Tsxx = "存盘过程中出现错误,程序自动恢复保存前状态!"
  870.     Call Xtxxts(Tsxx, 0, 1)
  871.     
  872.     Exit Function
  873.      
  874. End Function
  875. Private Function Cshlrxx(lrztxx As Integer) As Boolean              '初始化录入字段信息
  876.     TextChangeLock = True       '关闭文本框Chang事件
  877.     
  878.     If lrztxx = 1 Then
  879.     
  880.         '增加新记录时将文本框清空
  881.         For Jsqte = 0 To Max_Text_Index
  882.             If Len(Trim(Textstr(Jsqte, 1))) <> 0 Then
  883.                 LrText(Jsqte).Text = ""
  884.                 LrText(Jsqte).Tag = ""
  885.             End If
  886.             TextValiJudgeLock(Jsqte) = True
  887.         Next Jsqte
  888.        
  889.         '[>>
  890.         '在此处可添加新增记录时初始化设置
  891.         '<<]
  892.     Else
  893.     
  894.         '修改记录时根据记录关键字(编码)从数据表中读入其他字段内容
  895.         With RecTemp
  896.         
  897.             Sqlstr = "SELECT Kh_v_Factor.* FROM Kh_v_Factor Where FactorCode='" & Trim(CzxsGrid.TextMatrix(CzxsGrid.Row, Sydz("001", GridStr(), Szzls))) & "'"
  898.             Set RecTemp = Cw_DataEnvi.DataConnect.Execute(Sqlstr)
  899.        
  900.             '记录如存在则读入其内容,否则提示记录已被其他人删除
  901.             If Not RecTemp.EOF Then
  902.                 LrText(0).Text = Trim(.Fields("FactorCode") & "")            '考核要素编码
  903.                 LrText(1).Text = Trim(.Fields("FactorName") & "")           '考核要素名称
  904.                 
  905.                 If Trim(.Fields("AppraiseType") & "") = 0 Then
  906.                     Opt_AppraiseType(0).Value = True                        '评价标准类型
  907.                     LrText(2).Tag = Trim(.Fields("AppraiseCode") & "")      '分值规则编码
  908.                     LrText(2).Text = Trim(.Fields("AppraiseName") & "")     '分值规则名称
  909.                     LrText(3).Tag = ""                                      '量化规则编码
  910.                     LrText(3).Text = ""                                     '量化规则名称
  911.                     Ydcommand1(2).Enabled = True
  912.                     Ydcommand1(3).Enabled = False
  913.                 End If
  914.                 
  915.                 If Trim(.Fields("AppraiseType") & "") = 1 Then
  916.                     Opt_AppraiseType(1).Value = True                        '评价标准类型
  917.                     LrText(2).Tag = ""                                      '分值规则编码
  918.                     LrText(2).Text = ""                                     '分值规则名称
  919.                     LrText(3).Tag = Trim(.Fields("AppraiseCode") & "")      '量化规则编码
  920.                     LrText(3).Text = Trim(.Fields("AppraiseName") & "")     '量化规则名称
  921.                     Ydcommand1(2).Enabled = False
  922.                     Ydcommand1(3).Enabled = True
  923.                 End If
  924.                             
  925.             Else
  926.                 Tsxx = "该记录已经被其他人删除,请刷新当前数据!"
  927.                 Call Xtxxts(Tsxx, 0, 4)
  928.                 Call Cancel
  929.                 TextChangeLock = False
  930.                 Exit Function
  931.             End If
  932.             
  933.         End With
  934.         
  935.     End If
  936.     
  937.     Cshlrxx = True
  938.     TextChangeLock = False
  939.     
  940. End Function
  941. Private Sub Scdqjl()                 '删 除 当 前 记 录
  942.     Dim yhAnswer As Integer
  943.     '判断用户是否有此功能执行权限,如有则写上机日志(进入)
  944.     If Not Security_Log("Khgl_Factor_edit", Xtczybm, 1) Then
  945.         Exit Sub
  946.     End If
  947.     '非数据行不能删除
  948.     If CzxsGrid.Row < CzxsGrid.FixedRows Then
  949.         Exit Sub
  950.     End If
  951.   
  952.     '用户确认是否删除记录
  953.     Tsxx = "请确认是否删除当前记录?"
  954.     yhAnswer = Xtxxts(Tsxx, 2, 2)
  955.     
  956.     If yhAnswer = 2 Then
  957.         Exit Sub
  958.     End If
  959.   
  960.     On Error GoTo Cwcl
  961.   
  962.     Cw_DataEnvi.DataConnect.BeginTrans
  963.   
  964.     '[以下需自定义部分
  965.     '删除评价标准
  966.     Cw_DataEnvi.DataConnect.Execute "delete Kh_Standard where FactorCode = '" + Trim(CzxsGrid.TextMatrix(CzxsGrid.Row, Sydz("001", GridStr(), Szzls))) + "'"
  967.     Cw_DataEnvi.DataConnect.Execute "delete Kh_Factor where FactorCode = '" + Trim(CzxsGrid.TextMatrix(CzxsGrid.Row, Sydz("001", GridStr(), Szzls))) + "'"
  968.     '以上为自定义部分]
  969.   
  970.     Cw_DataEnvi.DataConnect.CommitTrans
  971.     
  972.     CzxsGrid.RemoveItem CzxsGrid.Row
  973.   
  974.     Exit Sub
  975.   
  976. Cwcl:
  977.     Cw_DataEnvi.DataConnect.RollbackTrans
  978.     
  979.     If Err.Number = -2147217873 Then              '(-2147217873 为SQL Server 2000通过建立外键产生的错误号)
  980.         Tsxx = "该考核要素已经被使用,不能删除!"
  981.         Call Xtxxts(Tsxx, 0, 1)
  982.         Exit Sub
  983.     Else
  984.         Tsxx = "出现未知情况,该考核要素不能被删除!"
  985.         Call Xtxxts(Tsxx, 0, 1)
  986.         Exit Sub
  987.     End If
  988.     
  989. End Sub
  990. '*******************以下区域为编写自定义过程区域**********************
  991. Private Sub Imgcbo_Check_Click()
  992.     '区组合框的选定值并刷新网格
  993.     str_CheckCode = GetComboKey(Imgcbo_Check, 0)
  994.     Call Cxnrtcwg
  995. End Sub
  996. Private Sub Opt_AppraiseType_Click(Index As Integer)
  997.     '设置分值规则或量化规则文本框可用
  998.     If Opt_AppraiseType(0).Value = True Then
  999.         LrText(2).Enabled = True
  1000.         LrText(2).SetFocus
  1001.         LrText(3).Enabled = False
  1002.         LrText(3).Tag = ""
  1003.         LrText(3).Text = ""
  1004.         Ydcommand1(2).Enabled = True
  1005.         Ydcommand1(3).Enabled = False
  1006.     Else
  1007.         LrText(3).Enabled = True
  1008.         LrText(3).SetFocus
  1009.         LrText(2).Enabled = False
  1010.         LrText(2).Tag = ""
  1011.         LrText(2).Text = ""
  1012.         Ydcommand1(2).Enabled = False
  1013.         Ydcommand1(3).Enabled = True
  1014.     End If
  1015. End Sub
  1016. Private Sub Pjbz()
  1017.     If CzxsGrid.Row < CzxsGrid.FixedRows Then
  1018.         Exit Sub
  1019.     End If
  1020.     If (Trim(CzxsGrid.TextMatrix(CzxsGrid.Row, Sydz("003", GridStr(), Szzls))) = "量化规则") And (Len(Trim(CzxsGrid.TextMatrix(CzxsGrid.Row, Sydz("004", GridStr(), Szzls)))) > 0) Then
  1021.         Khgl_Standard.str_CheckCode = str_CheckCode
  1022.         Khgl_Standard.str_FactorCode = CzxsGrid.TextMatrix(CzxsGrid.Row, Sydz("001", GridStr(), Szzls))
  1023.         Khgl_Standard.TsLabel(0).Caption = "考核指标:" + GetComboKey(Imgcbo_Check, 1)
  1024.         Khgl_Standard.TsLabel(1).Caption = "考核要素:" + CzxsGrid.TextMatrix(CzxsGrid.Row, Sydz("002", GridStr(), Szzls))
  1025.         Khgl_Standard.Show 1
  1026.     Else
  1027.         Tsxx = "考核要素使用的是分值规则,不能设置评价标准!"
  1028.         Call Xtxxts(Tsxx, 0, 1)
  1029.     End If
  1030. End Sub
  1031. '*******************以上区域为编写自定义过程区域**********************
  1032. '*******************************以下为基本处理程序(固定不变)*******************************************'
  1033. Private Sub Form_KeyUp(KeyCode As Integer, Shift As Integer)        '支持热键操作
  1034.     If Shift = 2 Then
  1035.         Select Case UCase(Chr(KeyCode))
  1036.             Case "P"                                                                          'Ctrl+P 打印
  1037.                 If SzToolbar.Buttons("dy").Visible And SzToolbar.Buttons("dy").Enabled Then
  1038.                     Call bbyl(False)
  1039.                 End If
  1040.             Case "A"                                                                          'Ctrl+A 增加
  1041.                 '判断用户是否有此功能执行权限,如有则写上机日志(进入)
  1042.                 If Not Security_Log("Khgl_Factor_edit", Xtczybm, 1) Then
  1043.                     Exit Sub
  1044.                 End If
  1045.                 If SzToolbar.Buttons("zj").Visible And SzToolbar.Buttons("zj").Enabled Then
  1046.                     Call Toolbjzt
  1047.                     Lrzt = 1
  1048.                     Call Cshlrxx(Lrzt)
  1049.                     LrText(0).Enabled = True
  1050.                     LrText(0).SetFocus
  1051.                 End If
  1052.             Case "D"                                                                          'Ctrl+D 删除
  1053.                 If SzToolbar.Buttons("sc").Visible And SzToolbar.Buttons("sc").Enabled Then
  1054.                     Call Scdqjl
  1055.                 End If
  1056.         End Select
  1057.     End If
  1058.   
  1059. End Sub
  1060. Private Sub SzToolbar_ButtonClick(ByVal Button As MSComctlLib.Button)
  1061.     Select Case Button.Key
  1062.         Case "ymsz"                                          '页面设置
  1063.             Dyymctbl.Show 1
  1064.         Case "yl"                                            '预 览
  1065.             Call bbyl(True)
  1066.         Case "dy"                                            '打 印
  1067.              Call bbyl(False)
  1068.         Case "zj"                                            '增 加
  1069.             '判断用户是否有此功能执行权限,如有则写上机日志(进入)
  1070.             If Not Security_Log("Khgl_Factor_edit", Xtczybm, 1) Then
  1071.                 Exit Sub
  1072.             End If
  1073.             If Not Len(Trim(str_CheckCode)) > 0 Then
  1074.                 Exit Sub
  1075.             End If
  1076.             Call Toolbjzt
  1077.             Lrzt = 1
  1078.             Call Cshlrxx(Lrzt)
  1079.             Opt_AppraiseType(0).Enabled = True
  1080.             Opt_AppraiseType(1).Enabled = True
  1081.             Opt_AppraiseType(1).Value = True
  1082.             Ydcommand1(2).Enabled = False
  1083.             Ydcommand1(3).Enabled = True
  1084.             LrText(3).Enabled = True
  1085.             LrText(0).Enabled = True
  1086.             LrText(0).SetFocus
  1087.         Case "xg"                                            '修 改
  1088.             Call Xgdqjl
  1089.         Case "sc"                                            '删 除
  1090.             Call Scdqjl
  1091.         Case "sx"                                            '刷 新
  1092.             Call Cxnrtcwg
  1093.         Case "pjbz"                                          '评价标准
  1094.             Call Pjbz
  1095.         Case "bz"                                            '帮 助
  1096.             Call F1bz
  1097.         Case "fh"                                            '退 出
  1098.             Unload Me
  1099.     End Select
  1100.     
  1101. End Sub
  1102. Private Sub CzxsGrid_DblClick()                                         '修改当前编码记录
  1103.     Call Xgdqjl
  1104.     
  1105. End Sub
  1106. Private Sub Xgdqjl()                                                    '修改当前编码记录
  1107.     '判断用户是否有此功能执行权限,如有则写上机日志(进入)
  1108.     If Not Security_Log("Khgl_Factor_edit", Xtczybm, 1) Then
  1109.         Exit Sub
  1110.     End If
  1111.     If CzxsGrid.Row < CzxsGrid.FixedRows Then
  1112.         Exit Sub
  1113.     End If
  1114.     
  1115.     Call Toolbjzt
  1116.     Lrzt = 2
  1117.     
  1118.     If Cshlrxx(Lrzt) Then
  1119.         LrText(1).SetFocus
  1120.         LrText(0).Enabled = False
  1121.         LrText(3).Enabled = False
  1122.         Ydcommand1(3).Enabled = False
  1123.         Opt_AppraiseType(0).Enabled = False
  1124.         Opt_AppraiseType(1).Enabled = False
  1125.         
  1126.     End If
  1127.   
  1128. End Sub
  1129. Private Sub Toolbjzt()                                                  'Toolbar状态(编辑状态)
  1130.     StTab.TabEnabled(1) = True
  1131.     StTab.Tab = 1
  1132.     Frame1.Enabled = True
  1133.     StTab.TabEnabled(0) = False
  1134.     CzxsGrid.Enabled = False
  1135.     
  1136.     With SzToolbar
  1137.         .Buttons("ymsz").Enabled = False
  1138.         .Buttons("dy").Enabled = False
  1139.         .Buttons("yl").Enabled = False
  1140.         .Buttons("zj").Enabled = False
  1141.         .Buttons("xg").Enabled = False
  1142.         .Buttons("sc").Enabled = False
  1143.         .Buttons("sx").Enabled = False
  1144.     End With
  1145.       '设置考核规则组合框不可用
  1146.     Imgcbo_Check.Enabled = False
  1147. End Sub
  1148. Private Sub Toolfbjzt()                                                 'Toolbar状态(非编辑状态)
  1149.     StTab.TabEnabled(0) = True
  1150.     StTab.Tab = 0
  1151.     CzxsGrid.Enabled = True
  1152.     Frame1.Enabled = False
  1153.     StTab.TabEnabled(1) = False
  1154.     Lrzt = 0
  1155.     
  1156.     With SzToolbar
  1157.         .Buttons("ymsz").Enabled = True
  1158.         .Buttons("dy").Enabled = True
  1159.         .Buttons("yl").Enabled = True
  1160.         .Buttons("zj").Enabled = True
  1161.         .Buttons("xg").Enabled = True
  1162.         .Buttons("sc").Enabled = True
  1163.         .Buttons("sx").Enabled = True
  1164.     End With
  1165.       '设置考核规则组合框不可用
  1166.     Imgcbo_Check.Enabled = True
  1167.   
  1168. End Sub
  1169. Private Sub BcCommand_Click()                                           '保 存
  1170.     If Not Bclrsj Then
  1171.         Exit Sub
  1172.     End If
  1173.     
  1174.     If Lrzt = 2 Then
  1175.         Call Toolfbjzt
  1176.     End If
  1177.   
  1178. End Sub
  1179. Private Sub QxCommand_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)       '取消
  1180.   
  1181.     '避免执行Click程序
  1182.     Bln_Cancel = True
  1183.     
  1184.     Call Cancel
  1185.   
  1186. End Sub
  1187. Private Sub QxCommand_Click()                                           '取消
  1188.     If Bln_Cancel Then
  1189.         Bln_Cancel = False
  1190.         Exit Sub
  1191.     End If
  1192.     
  1193.     Call Cancel
  1194.     
  1195. End Sub
  1196. Private Sub Cancel()                                                    '取消
  1197.     '文本框加锁
  1198.     For Jsqte = 0 To Max_Text_Index
  1199.         TextValiJudgeLock(Jsqte) = True
  1200.     Next Jsqte
  1201.     
  1202.     Call Toolfbjzt
  1203.   
  1204. End Sub
  1205. Private Sub CzxsGrid_BeforeMoveColumn(ByVal Col As Long, Position As Long)           '网格列发生移动时自动交换网格索引信息
  1206.   
  1207.     Call FnBln_RefreshArray(Col, Position, GridStr(), GridInf())
  1208.   
  1209. End Sub
  1210. Private Sub GsToolbar_ButtonClick(ByVal Button As MSComctlLib.Button)   '表格格式设置(通用)
  1211.     Select Case Button.Key
  1212.         Case "bcgs"                                       '保存表格格式
  1213.             Call Bcwggs(CzxsGrid, GridCode, GridStr())
  1214.         Case "hfmrgs"                                     '恢复默认格式
  1215.             Call Hfmrgs(CzxsGrid, GridCode, GridStr())
  1216.         Case "szxsxm"                                     '设置显示项目
  1217.             Call Szxsxm(CzxsGrid, GridCode)
  1218.     End Select
  1219.     
  1220. End Sub
  1221. Private Sub bbyl(bbylte As Boolean)                    '报表打印预览
  1222.     Dim Bbzbt$, Bbxbt() As String, bbxbtzzxs() As Integer, Bbxbtgs As Integer
  1223.     Dim Bbbwh() As String, Bbbwhzzxs() As Integer, Bbbwhgs As Integer
  1224.     Bbxbtgs = 2                                          '报 表 小 标 题 行 数
  1225.     Bbbwhgs = 0                                          '报 表 表 尾 行 数
  1226.     ReDim Bbxbt(1 To Bbxbtgs)
  1227.     ReDim bbxbtzzxs(1 To Bbxbtgs)
  1228.     
  1229.     If Bbbwhgs <> 0 Then
  1230.         ReDim Bbbwh(1 To Bbbwhgs)
  1231.         ReDim Bbbwhzzxs(1 To Bbbwhgs)
  1232.     End If
  1233.     
  1234.     Bbzbt = ReportTitle
  1235.     Bbxbt(1) = " "
  1236.     bbxbtzzxs(1) = 0                                     '报表行组织形式(0-居左 1-居中 2-居右)
  1237.     Bbxbt(2) = "考核指标:" + Imgcbo_Check.Text
  1238.     bbxbtzzxs(2) = 0                                    '居左
  1239.     Call Scyxsjb(CzxsGrid)                               '生成报表数据
  1240.     Call Scdybb(Dyymctbl, Bbzbt, Bbxbt(), bbxbtzzxs(), Bbxbtgs, Bbbwh(), Bbbwhzzxs(), Bbbwhgs, bbylte)
  1241.     
  1242.     If Not bbylte Then
  1243.         Unload DY_Tybbyldy
  1244.     End If
  1245.     
  1246. End Sub
  1247. '************以下为文本框录入处理程序(固定不变部分)*************'
  1248. Private Sub Wbklrwbcl(Index As Integer)    '文本框录入事后处理程序
  1249.   
  1250.     '以下为依据实际情况自定义部分[
  1251.     
  1252.         '在此填写文本框录入事后处理程序
  1253.      
  1254.     ']以上为依据实际情况自定义部分
  1255.   
  1256. End Sub
  1257. Private Sub LrText_Change(Index As Integer)
  1258.     '屏蔽程序改变控制
  1259.     If TextChangeLock Then
  1260.         Exit Sub
  1261.     End If
  1262.     
  1263.     TextValiJudgeLock(Index) = False    '打开有效性判断锁
  1264.     
  1265.     '限制字段录入长度
  1266.           
  1267.     TextChangeLock = True  '加锁(防止执行Lrtext_Change)
  1268.      
  1269.     Select Case Textint(Index, 1)
  1270.         Case 8, 11       '金额型
  1271.             Call Sjgskz(LrText(Index), Xtjezws - Xtjexsws - 1, Xtjexsws)
  1272.         Case 9, 12       '数量型
  1273.             Call Sjgskz(LrText(Index), Xtslzws - Xtslxsws - 1, Xtslxsws)
  1274.         Case 10          '单价型
  1275.             Call Sjgskz(LrText(Index), Xtdjzws - Xtdjxsws - 1, Xtdjxsws)
  1276.         Case Else        '其他小数类型控制
  1277.             If Textint(Index, 6) <> 0 Or Textint(Index, 7) <> 0 Then
  1278.                 Call Sjgskz(LrText(Index), Textint(Index, 6), Textint(Index, 7))
  1279.             End If
  1280.     End Select
  1281.         
  1282.     TextChangeLock = False '解锁
  1283.    
  1284. End Sub
  1285. Private Sub LrText_GotFocus(Index As Integer)                                                 '文本框得到焦点,显示相应信息
  1286.    
  1287.     Call TextShow(Index)
  1288.     CurTextIndex = Index
  1289.     LrText(Index).SelStart = Len(LrText(Index))
  1290.    
  1291. End Sub
  1292. Private Sub LrText_KeyDown(Index As Integer, KeyCode As Integer, Shift As Integer)            '字段按F2键提供帮助
  1293.    
  1294.     Select Case KeyCode
  1295.         Case vbKeyF2
  1296.             Call Text_Help(Index)
  1297.     End Select
  1298.    
  1299. End Sub
  1300. Private Sub LrText_KeyPress(Index As Integer, KeyAscii As Integer)                            '文本框录入事中控制
  1301.    
  1302.     Call InputFieldLimit(LrText(Index), Textint(Index, 1), KeyAscii)
  1303. End Sub
  1304. Private Sub LrText_LostFocus(Index As Integer)                                                '文本框失去焦点
  1305.     '显示相应信息但不能进行有效性判断
  1306.   
  1307. End Sub
  1308. Private Sub Ydcommand1_MouseDown(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single)     '按钮提供帮助
  1309.    
  1310.     Call Text_Help(Index)
  1311.     
  1312. End Sub
  1313. Private Sub Text_Help(Index As Integer)                                                       '录入字段帮助
  1314.   
  1315.     If Not Textboolean(Index, 1) Then
  1316.         Exit Sub
  1317.     End If
  1318.      
  1319.     '调用帮助
  1320.     Call Drbmhelp(Textint(Index, 2), Textstr(Index, 4), Trim(LrText(Index).Text))
  1321.   
  1322.     '根据设置选择显示编码和名称,并进行存储
  1323.     If Len(Xtfhcs) <> 0 Then
  1324.         If Textint(Index, 3) = 1 Then
  1325.             LrText(Index).Text = Xtfhcsfz
  1326.             LrText(Index).Tag = Xtfhcs
  1327.         Else
  1328.             LrText(Index).Text = Xtfhcs
  1329.             LrText(Index).Tag = Xtfhcsfz
  1330.         End If
  1331.     End If
  1332.    
  1333.     LrText(Index).SetFocus
  1334.     
  1335. End Sub
  1336. Private Sub TextShow(Index As Integer)        '文本框得到焦点,显示相应信息
  1337.     '填写文本框得到焦点,进行相应信息处理程序
  1338.    
  1339. End Sub
  1340. Private Sub Wbkcsh()                          '录入文本框初始化
  1341.     Dim Jsqte As Integer
  1342.   
  1343.     '最大录入文本框索引值
  1344.     Max_Text_Index = Textvar(1)
  1345.   
  1346.     ReDim TextValiJudgeLock(Max_Text_Index)
  1347.   
  1348.     For Jsqte = 0 To Max_Text_Index
  1349.         If Len(Trim(Textstr(Jsqte, 1))) <> 0 Then
  1350.             If Textboolean(Jsqte, 1) Then
  1351.                 If Jsqte <> 0 And Not Textboolean(Jsqte, 3) Then
  1352.                     Load Ydcommand1(Jsqte)
  1353.                 End If
  1354.                 Ydcommand1(Jsqte).Visible = True
  1355.                 Ydcommand1(Jsqte).Move LrText(Jsqte).Left + LrText(Jsqte).Width, LrText(Jsqte).Top
  1356.             End If
  1357.             
  1358.             TextChangeLock = True
  1359.             LrText(Jsqte).Text = ""
  1360.             LrText(Jsqte).Tag = ""
  1361.             
  1362.             If Textint(Jsqte, 5) <> 0 Then
  1363.                 LrText(Jsqte).MaxLength = Textint(Jsqte, 5)
  1364.             End If
  1365.             
  1366.             TextChangeLock = False
  1367.         End If
  1368.        
  1369.         TextValiJudgeLock(Jsqte) = True
  1370.     Next Jsqte
  1371.     
  1372. End Sub
  1373. Private Function TextYxxpd(Index As Integer) As Boolean           '文本框有效性判断
  1374.     Dim Sqlstr As String
  1375.     Dim Findrec As ADODB.Recordset
  1376.   
  1377.     '文本框内容未曾改变不进行有效性判断
  1378.     If TextValiJudgeLock(Index) Then
  1379.         TextYxxpd = True
  1380.         Exit Function
  1381.     End If
  1382.   
  1383.     '文本框内容为空认为有效,并清空其Tag值
  1384.     If Trim(LrText(Index)) = "" Then
  1385.         LrText(Index).Tag = ""
  1386.         Call Wbklrwbcl(Index)
  1387.         TextValiJudgeLock(Index) = True
  1388.         TextYxxpd = True
  1389.         Exit Function
  1390.     End If
  1391.   
  1392.     '可在此加入不做有效性判断的理由
  1393.     Select Case Textint(Index, 4)
  1394.         Case 1      '编码型
  1395.             Sqlstr = Trim(Textstr(Index, 5))
  1396.             Sqlstr = Replace(Sqlstr, "@", "'" + Trim(LrText(Index).Text) + "'")
  1397.             Set Findrec = Cw_DataEnvi.DataConnect.Execute(Sqlstr)
  1398.             
  1399.             If Findrec.EOF Then
  1400.                 Call Xtxxts(Trim(Textstr(Index, 6)), 0, 1)
  1401.                 LrText(Index).SetFocus
  1402.                 Exit Function
  1403.             Else
  1404.                 Select Case Textint(Index, 3)
  1405.                     Case 0
  1406.                     
  1407.                         If Len(Trim(Textstr(Index, 2))) <> 0 Then
  1408.                             LrText(Index).Text = Trim(Findrec.Fields(Trim(Textstr(Index, 2))))
  1409.                         End If
  1410.                         
  1411.                         If Len(Trim(Textstr(Index, 3) & "")) <> 0 Then
  1412.                             LrText(Index).Tag = Trim(Findrec.Fields(Trim(Textstr(Index, 3))))
  1413.                         End If
  1414.                         
  1415.                     Case 1
  1416.                     
  1417.                         If Len(Trim(Textstr(Index, 3) & "")) <> 0 Then
  1418.                             LrText(Index).Text = Trim(Findrec.Fields(Trim(Textstr(Index, 3))))
  1419.                         End If
  1420.                         
  1421.                         If Len(Trim(Textstr(Index, 2))) <> 0 Then
  1422.                             LrText(Index).Tag = Trim(Findrec.Fields(Trim(Textstr(Index, 2))))
  1423.                         End If
  1424.                 End Select
  1425.             End If
  1426.             
  1427.         Case 2      '日期型
  1428.             If IsDate(LrText(Index).Text) Then
  1429.                 LrText(Index).Text = Format(LrText(Index).Text, "yyyy-mm-dd")
  1430.                 If Val(Mid(LrText(Index), 1, 4)) < 1900 Then
  1431.                     LrText(Index).Text = "1900" + Mid(LrText(Index), 5, 6)
  1432.                 End If
  1433.             Else
  1434.                 Tsxx = "非法公历日期!(格式:" + Format(Date, "yyyy-mm-dd") + ")"
  1435.                 Call Xtxxts(Tsxx, 0, 1)
  1436.                 LrText(Index).SetFocus
  1437.                 Exit Function
  1438.             End If
  1439.             
  1440.         Case 3      '其他类型
  1441.         
  1442.     End Select
  1443.     
  1444.     '如果有效则加锁,用户不改变内容则不再进行有效性判断
  1445.     TextValiJudgeLock(Index) = True
  1446.     '调用文本框事后处理程序
  1447.     Call Wbklrwbcl(Index)
  1448.    
  1449.     '有效性判断通过则返回True
  1450.     TextYxxpd = True
  1451.    
  1452. End Function