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

企业管理

开发平台:

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