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

企业管理

开发平台:

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