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

企业管理

开发平台:

Visual Basic

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