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

企业管理

开发平台:

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