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

企业管理

开发平台:

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