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