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