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

企业管理

开发平台:

Visual Basic

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