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

企业管理

开发平台:

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