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

企业管理

开发平台:

Visual Basic

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