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

企业管理

开发平台:

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