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

企业管理

开发平台:

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