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

企业管理

开发平台:

Visual Basic

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