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

企业管理

开发平台:

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