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

企业管理

开发平台:

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