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

企业管理

开发平台:

Visual Basic

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