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

企业管理

开发平台:

Visual Basic

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