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

企业管理

开发平台:

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