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

企业管理

开发平台:

Visual Basic

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