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