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

企业管理

开发平台:

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