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

企业管理

开发平台:

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