上传用户: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 Cg_PurTypeSet 
  6.    BorderStyle     =   1  'Fixed Single
  7.    Caption         =   "采购类型设置"
  8.    ClientHeight    =   7110
  9.    ClientLeft      =   45
  10.    ClientTop       =   330
  11.    ClientWidth     =   9375
  12.    HelpContextID   =   1101006
  13.    Icon            =   "采购系统_采购类型设置.frx":0000
  14.    KeyPreview      =   -1  'True
  15.    LinkTopic       =   "Form2"
  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        =   1
  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        =   4
  47.          Top             =   330
  48.          Width           =   9135
  49.          Begin VB.CommandButton Ydcommand1 
  50.             Height          =   300
  51.             Index           =   0
  52.             Left            =   3720
  53.             Picture         =   "采购系统_采购类型设置.frx":107A
  54.             Style           =   1  'Graphical
  55.             TabIndex        =   5
  56.             Top             =   1140
  57.             Visible         =   0   'False
  58.             Width           =   300
  59.          End
  60.          Begin VB.TextBox LrText 
  61.             Height          =   300
  62.             Index           =   0
  63.             Left            =   1755
  64.             TabIndex        =   7
  65.             Text            =   "0"
  66.             Top             =   360
  67.             Width           =   2280
  68.          End
  69.          Begin VB.TextBox LrText 
  70.             Height          =   300
  71.             Index           =   1
  72.             Left            =   1755
  73.             TabIndex        =   9
  74.             Text            =   "1"
  75.             Top             =   750
  76.             Width           =   2280
  77.          End
  78.          Begin VB.CommandButton QxCommand 
  79.             Cancel          =   -1  'True
  80.             Caption         =   "取消(&C)"
  81.             Height          =   300
  82.             Left            =   2900
  83.             TabIndex        =   6
  84.             Top             =   1680
  85.             Width           =   1120
  86.          End
  87.          Begin VB.CommandButton BcCommand 
  88.             Caption         =   "保存(&S)"
  89.             Height          =   300
  90.             Left            =   1695
  91.             TabIndex        =   12
  92.             Top             =   1680
  93.             Width           =   1120
  94.          End
  95.          Begin VB.TextBox LrText 
  96.             Height          =   300
  97.             Index           =   2
  98.             Left            =   1755
  99.             TabIndex        =   10
  100.             Text            =   "2"
  101.             Top             =   1140
  102.             Width           =   1980
  103.          End
  104.          Begin VB.Label TsLabel 
  105.             AutoSize        =   -1  'True
  106.             Caption         =   "入库类别:"
  107.             Height          =   180
  108.             Index           =   2
  109.             Left            =   480
  110.             TabIndex        =   13
  111.             Top             =   1200
  112.             Width           =   810
  113.          End
  114.          Begin VB.Label TsLabel 
  115.             AutoSize        =   -1  'True
  116.             Caption         =   "采购类型编码:"
  117.             Height          =   180
  118.             Index           =   0
  119.             Left            =   480
  120.             TabIndex        =   11
  121.             Top             =   420
  122.             Width           =   1170
  123.          End
  124.          Begin VB.Label TsLabel 
  125.             AutoSize        =   -1  'True
  126.             Caption         =   "采购类型名称:"
  127.             Height          =   180
  128.             Index           =   1
  129.             Left            =   480
  130.             TabIndex        =   8
  131.             Top             =   810
  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        =   2
  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        =   3
  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 = "Cg_PurTypeSet"
  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/06/24
  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 = 12
  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 = "Cg_PurTypeSet"
  539.     Load Dyymctbl
  540.     
  541.     '单据编辑(新增、修改、删除)权限索引
  542.     Str_RightEdit = "Cg_PurTypeSet_edit"
  543.     
  544.     '以下为文本框处理程序(读入文本框录入信息)
  545.     TextGroupCode = "Cg_PurTypeSet"
  546.     Call Drwbkxx(TextGroupCode, Textvar(), Textboolean(), Textint(), Textstr())
  547.     Call Wbkcsh
  548.     
  549.     '调入网格设置信息
  550.     GridCode = "Cg_PurTypeSet"
  551.     Call BzWgcsh(CzxsGrid, GridCode, GridInf(), GridBoolean(), GridInt(), GridStr())
  552.     Qslz = GridInf(1)
  553.     Sjhgd = GridInf(2)
  554.     Szzls = CzxsGrid.Cols - 1
  555.     
  556.     '填 充 网 格
  557.     Call Cxnrtcwg
  558.        
  559.     '初始化toolbar,tab卡状态
  560.     StTab.Tab = 0
  561.     StTab.TabEnabled(1) = False
  562.     Frame1.Enabled = False
  563.      
  564.     '设置为非录入状态
  565.     Lrzt = 0
  566.      
  567. End Sub
  568.  
  569. Private Sub Cxnrtcwg()                               '查询内容填充网格
  570.     Dim Sqlstr As String              '查询连接串
  571.     Dim jsqte As Long                 '查询临时使用变量
  572.   
  573.     '为加快显示速度,将网格刷新动作冻结
  574.     CzxsGrid.Redraw = False
  575.   
  576.     '[>>查询连接串
  577.     Sqlstr = "SELECT * FROM Cg_V_PurType order by PurTypeCode"
  578.     '<<]
  579.     Set Cxnrrec = Cw_DataEnvi.DataConnect.Execute(Sqlstr)
  580.     
  581.     With Cxnrrec
  582.         CzxsGrid.Rows = CzxsGrid.FixedRows
  583.         If .EOF And .BOF Then
  584.             CzxsGrid.Redraw = True
  585.             Exit Sub
  586.         End If
  587.         
  588.         jsqte = CzxsGrid.FixedRows
  589.         
  590.         Do While Not .EOF
  591.             CzxsGrid.AddItem ""
  592.             Call Jltcwg(Cxnrrec, jsqte)                              '调入填充网格子过程
  593.             CzxsGrid.RowHeight(jsqte) = Sjhgd                        '设置网格高度
  594.             .MoveNext
  595.             jsqte = jsqte + 1
  596.         Loop
  597.     End With
  598.   
  599.     '将网格刷新动作解冻
  600.     CzxsGrid.Redraw = True
  601.     
  602. End Sub
  603. Private Sub Jltcwg(Jlbrec As ADODB.Recordset, Rowjsq As Long)           '记录内容填充网格
  604.     '[>>以下为自定义部分
  605.     With Jlbrec
  606.         CzxsGrid.TextMatrix(Rowjsq, Sydz("001", GridStr(), Szzls)) = Trim(.Fields("PurTypeCode") & "")              '采购类型编码
  607.         CzxsGrid.TextMatrix(Rowjsq, Sydz("002", GridStr(), Szzls)) = Trim(.Fields("PurTypeName") & "")              '采购类型名称
  608.         CzxsGrid.TextMatrix(Rowjsq, Sydz("003", GridStr(), Szzls)) = Trim(.Fields("InOutClassName") & "")           '入库类别名称
  609.     End With
  610.     '以上为自定义部分<<]
  611.     
  612. End Sub
  613. Private Sub Form_Unload(Cancel As Integer)             '窗体卸载
  614.     Set Cxnrrec = Nothing
  615.     Set Rec_CodeSet = Nothing
  616.     Unload Dyymctbl
  617.    
  618. End Sub
  619. Private Function Bclrsj() As Boolean                   '判断录入数据有效性,并保存数据
  620.     Dim jsqte As Integer
  621.   
  622.     '对文本框录入内容进行为零和为空判断(固定不变)
  623.     With Rec_CodeSet
  624.     
  625.         For jsqte = 0 To Max_Text_Index
  626.             If Textint(jsqte, 8) = 1 Then     '字段不能为空
  627.                 If Len(Trim(LrText(jsqte).Text)) = 0 Then
  628.                     Tsxx = Textstr(jsqte, 7) & "不能为空!"
  629.                     Call Xtxxts(Tsxx, 0, 1)
  630.                     LrText(jsqte).SetFocus
  631.                     Bclrsj = False
  632.                     Exit Function
  633.                 End If
  634.             Else
  635.                 If Textint(jsqte, 8) = 2 Then   '字段不能为零
  636.                     If S2N(Trim(LrText(jsqte).Text)) = 0 Then
  637.                         Tsxx = Textstr(jsqte, 7) & "不能为零!"
  638.                         Call Xtxxts(Tsxx, 0, 1)
  639.                         LrText(jsqte).SetFocus
  640.                         Bclrsj = False
  641.                         Exit Function
  642.                     End If
  643.                 End If
  644.             End If
  645.         Next jsqte
  646.     
  647.         '对需要进行事后判断的文本框录入内容进行有效性判断 (固定不变)
  648.         For jsqte = 0 To Max_Text_Index
  649.             If Textint(jsqte, 9) = 0 Or Textint(jsqte, 9) = 2 Then
  650.                 If Not TextYxxpd(jsqte) Then
  651.                     Exit Function
  652.                 End If
  653.             End If
  654.         Next jsqte
  655.    
  656.         If Lrzt = 1 Then  '增 加
  657.         
  658.             '[>>判断编码是否重复
  659.             If .State = 1 Then .Close
  660.             .Open "SELECT * FROM Cg_PurType WHERE PurTypeCode= '" + Trim(LrText(0).Text) + "'", Cw_DataEnvi.DataConnect, adOpenDynamic, adLockOptimistic
  661.     
  662.             If Not .EOF Then
  663.                 Tsxx = "采购类型编码重复!"
  664.                 Call Xtxxts(Tsxx, 0, 1)
  665.                 LrText(0).SetFocus
  666.                 Bclrsj = False
  667.                 Exit Function
  668.             End If
  669.     
  670.             '判断名称是否重复
  671.             If .State = 1 Then .Close
  672.             .Open "SELECT * FROM Cg_PurType WHERE PurTypeName= '" + Trim(LrText(1).Text) + "'", Cw_DataEnvi.DataConnect, adOpenDynamic, adLockOptimistic
  673.     
  674.             If Not .EOF Then
  675.                 Tsxx = "采购类型名称重复!"
  676.                 Call Xtxxts(Tsxx, 0, 1)
  677.                 LrText(1).SetFocus
  678.                 Bclrsj = False
  679.                 Exit Function
  680.             End If
  681.             '判断记录内容无误后,将记录内容写入数据表
  682.             On Error GoTo Swcwcl
  683.     
  684.             Cw_DataEnvi.DataConnect.BeginTrans
  685.    
  686.             .AddNew
  687.             .Fields("PurTypeCode") = Trim(LrText(0).Text)    '采购类型编码
  688.             .Fields("PurTypeName") = Trim(LrText(1).Text)    '采购类型名称
  689.             .Fields("InOutClassCode") = Trim(LrText(2).Tag)  '入库类别编码
  690.             .Update
  691.             
  692.             Cw_DataEnvi.DataConnect.CommitTrans
  693.             '将记录加入网格
  694.             Sqlstr = "SELECT * FROM Cg_V_PurType WHERE PurTypeCode= '" + Trim(LrText(0).Text) + "'"
  695.             Set Cxnrrec = Cw_DataEnvi.DataConnect.Execute(Sqlstr)
  696.    
  697.             With CzxsGrid
  698.                 .AddItem ""
  699.                 .RowHeight(.Rows - 1) = Sjhgd
  700.                 .Select .Rows - 1, Qslz
  701.                 Call Jltcwg(Cxnrrec, .Rows - 1)
  702.             End With
  703.             Tsxx = "保存完毕!"
  704.             Call Xtxxts(Tsxx, 0, 4)
  705.             
  706.             Call Cshlrxx(1)
  707.             LrText(0).SetFocus
  708.             '将网格按编码排序
  709.             With CzxsGrid
  710.                 .Col = Sydz("001", GridStr(), Szzls)
  711.                 CzxsGrid.Sort = flexSortStringAscending
  712.             End With
  713.             '<<]
  714.     
  715.         Else  '否则为修改记录
  716.  
  717.             If .State = 1 Then .Close
  718.             .Open "SELECT * FROM Cg_PurType WHERE PurTypeName= '" + Trim(LrText(1).Text) + "' and PurTypeCode<>'" & Trim(LrText(0).Text) & "'", Cw_DataEnvi.DataConnect, adOpenDynamic, adLockOptimistic
  719.             If Not .EOF Then
  720.                 Tsxx = "采购类型名称重复!"
  721.                 Call Xtxxts(Tsxx, 0, 1)
  722.                 LrText(1).SetFocus
  723.         
  724.                 Bclrsj = False
  725.                 Exit Function
  726.             End If
  727.             On Error GoTo Swcwcl
  728.             Cw_DataEnvi.DataConnect.BeginTrans
  729.             If .State = 1 Then .Close
  730.             .Open "SELECT * FROM Cg_PurType WHERE PurTypeCode= '" + Trim(LrText(0).Text) + "'", Cw_DataEnvi.DataConnect, adOpenDynamic, adLockOptimistic
  731.      
  732.             If Not .EOF Then
  733.                 .Fields("PurTypeName") = Trim(LrText(1).Text)    '采购类型名称
  734.                 .Fields("InOutClassCode") = Trim(LrText(2).Tag)  '入库类别编码
  735.                 .Update
  736.             End If
  737.              Cw_DataEnvi.DataConnect.CommitTrans
  738.    
  739.             '刷新当前网格
  740.             Sqlstr = "SELECT * FROM Cg_V_PurType WHERE PurTypeCode= '" + Trim(LrText(0).Text) + "'"
  741.             Set Cxnrrec = Cw_DataEnvi.DataConnect.Execute(Sqlstr)
  742.    
  743.             With CzxsGrid
  744.                 Call Jltcwg(Cxnrrec, .Row)
  745.             End With
  746.    
  747.         End If
  748.      
  749.         '保存记录成功,函数返回真值
  750.         Bclrsj = True
  751.         Exit Function
  752.         
  753.     End With
  754.  
  755. Swcwcl:
  756.      Cw_DataEnvi.DataConnect.RollbackTrans
  757.      
  758.      Tsxx = "存盘过程中出现错误,程序自动恢复保存前状态!"
  759.      Call Xtxxts(Tsxx, 0, 1)
  760.      
  761.      Exit Function
  762.      
  763. End Function
  764. Private Function Cshlrxx(lrztxx As Integer) As Boolean              '初始化录入字段信息
  765.     TextChangeLock = True       '关闭文本框Chang事件
  766.     
  767.     If lrztxx = 1 Then
  768.     
  769.         '增加新记录时将文本框清空
  770.         For jsqte = 0 To Max_Text_Index
  771.             If Len(Trim(Textstr(jsqte, 1))) <> 0 Then
  772.                 LrText(jsqte).Text = ""
  773.                 LrText(jsqte).Tag = ""
  774.             End If
  775.             TextValiJudgeLock(jsqte) = True
  776.         Next jsqte
  777.        
  778.         '[>>
  779.         '在此处可添加新增记录时初始化设置
  780.         '<<]
  781.     Else
  782.     
  783.         '修改记录时根据记录关键字(编码)从数据表中读入其他字段内容
  784.         With RecTemp
  785.             Sqlstr = "SELECT * FROM Cg_V_PurType Where PurTypeCode='" & Trim(CzxsGrid.TextMatrix(CzxsGrid.Row, Sydz("001", GridStr(), Szzls))) & "'"
  786.             Set RecTemp = Cw_DataEnvi.DataConnect.Execute(Sqlstr)
  787.        
  788.             '记录如存在则读入其内容,否则提示记录已被其他人删除
  789.             If Not RecTemp.EOF Then
  790.                 LrText(0).Text = Trim(.Fields("PurTypeCode") & "")            '采购类型编码
  791.                 LrText(1).Text = Trim(.Fields("PurTypeName") & "")            '采购类型名称
  792.                 LrText(2).Tag = Trim(.Fields("InOutClassCode") & "")          '入库类别编码
  793.                 LrText(2).Text = Trim(.Fields("InOutClassName") & "")         '入库类别名称
  794.             Else
  795.                 Tsxx = "该记录已经被其他人删除,请刷新当前数据!"
  796.                 Call Xtxxts(Tsxx, 0, 4)
  797.                 Call Cancel
  798.                 TextChangeLock = False
  799.                 Exit Function
  800.             End If
  801.         End With
  802.     End If
  803.     
  804.     Cshlrxx = True
  805.     TextChangeLock = False
  806.     
  807. End Function
  808. Private Sub Scdqjl()                 '删 除 当 前 记 录
  809.     Dim yhAnswer As Integer
  810.     
  811.     '判断用户是否有此功能执行权限,如有则写上机日志(进入)
  812.     If Not Security_Log(Str_RightEdit, Xtczybm, 3) Then
  813.         Exit Sub
  814.     End If
  815.             
  816.     '非数据行不能删除
  817.     If CzxsGrid.Row < CzxsGrid.FixedRows Then
  818.         Exit Sub
  819.     End If
  820.   
  821.     '用户确认是否删除记录
  822.     Tsxx = "请确认是否删除当前记录?"
  823.     yhAnswer = Xtxxts(Tsxx, 2, 2)
  824.     
  825.     If yhAnswer = 2 Then
  826.         Exit Sub
  827.     End If
  828.     On Error GoTo Cwcl
  829.   
  830.     Cw_DataEnvi.DataConnect.BeginTrans
  831.     '[>>以下需自定义部分
  832.     Cw_DataEnvi.DataConnect.Execute "delete Cg_PurType where PurTypeCode = '" + Trim(CzxsGrid.TextMatrix(CzxsGrid.Row, Sydz("001", GridStr(), Szzls))) + "'"
  833.     '以上为自定义部分<<]
  834.   
  835.     Cw_DataEnvi.DataConnect.CommitTrans
  836.     CzxsGrid.RemoveItem CzxsGrid.Row
  837.     Exit Sub
  838.   
  839. Cwcl:
  840.     Cw_DataEnvi.DataConnect.RollbackTrans
  841.     
  842.     If Err.Number = -2147217873 Then                '(-2147217873 为SQL Server 2000通过建立外键产生的错误号)
  843.         Tsxx = "该采购类型已经被使用,不能删除!"
  844.         Call Xtxxts(Tsxx, 0, 1)
  845.         Exit Sub
  846.     Else
  847.         Tsxx = "出现未知情况,该采购类型不能被删除!"
  848.         Call Xtxxts(Tsxx, 0, 1)
  849.         Exit Sub
  850.     End If
  851.     
  852. End Sub
  853. '*******************以下区域为编写自定义过程区域**********************
  854. '*******************以上区域为编写自定义过程区域**********************
  855. '******************以下为基本处理程序(固定不变)************************'
  856. Private Sub Form_KeyUp(KeyCode As Integer, Shift As Integer)        '支持热键操作
  857.     If Shift = 2 Then
  858.         Select Case UCase(Chr(KeyCode))
  859.             Case "P"                                                                          'Ctrl+P 打印
  860.                 If SzToolbar.Buttons("dy").Visible And SzToolbar.Buttons("dy").Enabled Then
  861.                     Call bbyl(False)
  862.                 End If
  863.             Case "A"                                                                          'Ctrl+A 增加
  864.                 '判断用户是否有此功能执行权限,如有则写上机日志(进入)
  865.                 If Not Security_Log(Str_RightEdit, Xtczybm, 3) Then
  866.                     Exit Sub
  867.                 End If
  868.                 If SzToolbar.Buttons("zj").Visible And SzToolbar.Buttons("zj").Enabled Then
  869.                     Call Toolbjzt
  870.                     Lrzt = 1
  871.                     Call Cshlrxx(Lrzt)
  872.                     LrText(0).Enabled = True
  873.                     LrText(0).SetFocus
  874.                     
  875.                 End If
  876.             Case "D"                                                                          'Ctrl+D 删除
  877.                 If SzToolbar.Buttons("sc").Visible And SzToolbar.Buttons("sc").Enabled Then
  878.                     Call Scdqjl
  879.                 End If
  880.         End Select
  881.     End If
  882.     
  883. End Sub
  884. Private Sub SzToolbar_ButtonClick(ByVal Button As MSComctlLib.Button)
  885.    
  886.     Select Case Button.Key
  887.         Case "ymsz"                                          '页面设置
  888.             Dyymctbl.Show 1
  889.         Case "yl"                                            '预 览
  890.             Call bbyl(True)
  891.         Case "dy"                                            '打 印
  892.             Call bbyl(False)
  893.         Case "zj"                                            '增 加
  894.             '判断用户是否有此功能执行权限,如有则写上机日志(进入)
  895.             If Not Security_Log(Str_RightEdit, Xtczybm, 3) Then
  896.                 Exit Sub
  897.             End If
  898.             Call Toolbjzt
  899.             Lrzt = 1
  900.             Call Cshlrxx(Lrzt)
  901.             LrText(0).Enabled = True
  902.             LrText(0).SetFocus
  903.             
  904.         Case "xg"                                            '修 改
  905.             Call Xgdqjl
  906.         Case "sc"                                            '删 除
  907.             Call Scdqjl
  908.         Case "sx"                                            '刷 新
  909.             Call Cxnrtcwg
  910.         Case "bz"                                            '帮 助
  911.             Call F1bz
  912.         Case "fh"                                            '退 出
  913.             Unload Me
  914.         End Select
  915.         
  916. End Sub
  917. Private Sub CzxsGrid_DblClick()                            '修改当前编码记录
  918.     Call Xgdqjl
  919.   
  920. End Sub
  921. Private Sub Xgdqjl()                                       '修改当前编码记录
  922.     '判断用户是否有此功能执行权限,如有则写上机日志(进入)
  923.     If Not Security_Log(Str_RightEdit, Xtczybm, 3) Then
  924.         Exit Sub
  925.     End If
  926.     
  927.     If CzxsGrid.Row < CzxsGrid.FixedRows Then
  928.         Exit Sub
  929.     End If
  930.     
  931.     Call Toolbjzt
  932.     Lrzt = 2
  933.     
  934.     If Cshlrxx(Lrzt) Then
  935.         LrText(1).SetFocus
  936.         LrText(0).Enabled = False
  937.     End If
  938.   
  939. End Sub
  940. Private Sub Toolbjzt()                                     'Toolbar状态(编辑状态)
  941.     StTab.TabEnabled(1) = True
  942.     StTab.Tab = 1
  943.     Frame1.Enabled = True
  944.     StTab.TabEnabled(0) = False
  945.     CzxsGrid.Enabled = False
  946.   
  947.     With SzToolbar
  948.         .Buttons("ymsz").Enabled = False
  949.         .Buttons("dy").Enabled = False
  950.         .Buttons("yl").Enabled = False
  951.         .Buttons("zj").Enabled = False
  952.         .Buttons("xg").Enabled = False
  953.         .Buttons("sc").Enabled = False
  954.         .Buttons("sx").Enabled = False
  955.     End With
  956.   
  957. End Sub
  958. Private Sub Toolfbjzt()                                    'Toolbar状态(非编辑状态)
  959.     StTab.TabEnabled(0) = True
  960.     StTab.Tab = 0
  961.     CzxsGrid.Enabled = True
  962.     Frame1.Enabled = False
  963.     StTab.TabEnabled(1) = False
  964.     Lrzt = 0
  965.     
  966.     With SzToolbar
  967.         .Buttons("ymsz").Enabled = True
  968.         .Buttons("dy").Enabled = True
  969.         .Buttons("yl").Enabled = True
  970.         .Buttons("zj").Enabled = True
  971.         .Buttons("xg").Enabled = True
  972.         .Buttons("sc").Enabled = True
  973.         .Buttons("sx").Enabled = True
  974.     End With
  975.   
  976. End Sub
  977. Private Sub BcCommand_Click()                                           '保 存
  978.     If Not Bclrsj Then
  979.         Exit Sub
  980.     End If
  981.   
  982.     If Lrzt = 2 Then
  983.         Call Toolfbjzt
  984.     End If
  985.   
  986. End Sub
  987. Private Sub QxCommand_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)       '取消
  988.   
  989.     '避免执行Click程序
  990.     Bln_Cancel = True
  991.   
  992.     Call Cancel
  993.     
  994. End Sub
  995. Private Sub QxCommand_Click()                                                                         '取消
  996.  
  997.     If Bln_Cancel Then
  998.         Bln_Cancel = False
  999.         Exit Sub
  1000.     End If
  1001.  
  1002.     Call Cancel
  1003.     
  1004. End Sub
  1005. Private Sub Cancel()                                                                                  '取消
  1006.   
  1007.     '文本框加锁
  1008.     For jsqte = 0 To Max_Text_Index
  1009.         TextValiJudgeLock(jsqte) = True
  1010.     Next jsqte
  1011.   
  1012.     Call Toolfbjzt
  1013.     
  1014. End Sub
  1015. Private Sub CzxsGrid_BeforeMoveColumn(ByVal Col As Long, Position As Long)           '网格列发生移动时自动交换网格索引信息
  1016.     
  1017.     FnBln_RefreshArray Col, Position, GridStr(), GridInf()
  1018. End Sub
  1019. Private Sub GsToolbar_ButtonClick(ByVal Button As MSComctlLib.Button)   '表格格式设置(通用)
  1020.     
  1021.     Select Case Button.Key
  1022.         Case "bcgs"                                       '保存表格格式
  1023.             Call Bcwggs(CzxsGrid, GridCode, GridStr())
  1024.         Case "hfmrgs"                                     '恢复默认格式
  1025.             Call Hfmrgs(CzxsGrid, GridCode, GridStr())
  1026.         Case "szxsxm"                                     '设置显示项目
  1027.             Call Szxsxm(CzxsGrid, GridCode)
  1028.     End Select
  1029.     
  1030. End Sub
  1031. Private Sub bbyl(bbylte As Boolean)                    '报表打印预览
  1032.     Dim Bbzbt$, Bbxbt() As String, bbxbtzzxs() As Integer, Bbxbtgs As Integer
  1033.     Dim Bbbwh() As String, Bbbwhzzxs() As Integer, Bbbwhgs As Integer
  1034.     Bbxbtgs = 1                                          '报 表 小 标 题 行 数
  1035.     Bbbwhgs = 0                                          '报 表 表 尾 行 数
  1036.     ReDim Bbxbt(1 To Bbxbtgs)
  1037.     ReDim bbxbtzzxs(1 To Bbxbtgs)
  1038.     
  1039.     If Bbbwhgs <> 0 Then
  1040.         ReDim Bbbwh(1 To Bbbwhgs)
  1041.         ReDim Bbbwhzzxs(1 To Bbbwhgs)
  1042.     End If
  1043.     
  1044.     Bbzbt = ReportTitle
  1045.     Bbxbt(1) = " "
  1046.     bbxbtzzxs(1) = 0                                     '报表行组织形式(0-居左 1-居中 2-居右)
  1047.     
  1048.     Call Scyxsjb(CzxsGrid)                               '生成报表数据
  1049.     Call Scdybb(Dyymctbl, Bbzbt, Bbxbt(), bbxbtzzxs(), Bbxbtgs, Bbbwh(), Bbbwhzzxs(), Bbbwhgs, bbylte)
  1050.   
  1051.     If Not bbylte Then
  1052.         Unload DY_Tybbyldy
  1053.     End If
  1054.     
  1055. End Sub
  1056. '************以下为文本框录入处理程序(固定不变部分)*************'
  1057. Private Sub Wbklrwbcl(Index As Integer)    '文本框录入事后处理程序
  1058.     '以下为依据实际情况自定义部分[
  1059.   
  1060.         '在此填写文本框录入事后处理程序
  1061.    
  1062.     ']以上为依据实际情况自定义部分
  1063.     
  1064. End Sub
  1065. Private Sub LrText_Change(Index As Integer)
  1066.     '屏蔽程序改变控制
  1067.     If TextChangeLock Then
  1068.         Exit Sub
  1069.     End If
  1070.     
  1071.     TextValiJudgeLock(Index) = False    '打开有效性判断锁
  1072.     
  1073.     '限制字段录入长度
  1074.           
  1075.     TextChangeLock = True  '加锁(防止执行Lrtext_Change)
  1076.     Call TextChangeLimit(LrText(Index), Textint(Index, 1))  '去掉无效字符
  1077.     Select Case Textint(Index, 1)
  1078.         Case 8, 11      '金额型
  1079.             Call Sjgskz(LrText(Index), Xtjezws - Xtjexsws - 1, Xtjexsws)
  1080.         Case 9, 12      '数量型
  1081.             Call Sjgskz(LrText(Index), Xtslzws - Xtslxsws - 1, Xtslxsws)
  1082.         Case 10          '单价型
  1083.             Call Sjgskz(LrText(Index), Xtdjzws - Xtdjxsws - 1, Xtdjxsws)
  1084.         Case Else        '其他小数类型控制
  1085.             If Textint(Index, 6) <> 0 Or Textint(Index, 7) <> 0 Then
  1086.                 Call Sjgskz(LrText(Index), Textint(Index, 6), Textint(Index, 7))
  1087.             End If
  1088.     End Select
  1089.         
  1090.     TextChangeLock = False '解锁
  1091.     
  1092. End Sub
  1093. Private Sub LrText_GotFocus(Index As Integer)                                                 '文本框得到焦点,显示相应信息
  1094.    
  1095.     Call TextShow(Index)
  1096.     CurTextIndex = Index
  1097.     LrText(Index).SelStart = Len(LrText(Index))
  1098.    
  1099. End Sub
  1100. Private Sub LrText_KeyDown(Index As Integer, KeyCode As Integer, Shift As Integer)            '字段按F2键提供帮助
  1101.    
  1102.     Select Case KeyCode
  1103.          Case vbKeyF2
  1104.              Call Text_Help(Index)
  1105.     End Select
  1106.    
  1107. End Sub
  1108. Private Sub LrText_KeyPress(Index As Integer, KeyAscii As Integer)                            '文本框录入事中控制
  1109.    
  1110.     Call InputFieldLimit(LrText(Index), Textint(Index, 1), KeyAscii)
  1111. End Sub
  1112. Private Sub LrText_LostFocus(Index As Integer)                                                '文本框失去焦点
  1113.     '显示相应信息但不能进行有效性判断
  1114.   
  1115. End Sub
  1116. Private Sub Ydcommand1_MouseDown(Index As Integer, Button As Integer, Shift As Integer, x As Single, y As Single)     '按钮提供帮助
  1117.     
  1118.     Call Text_Help(Index)
  1119.     
  1120. End Sub
  1121. Private Sub Text_Help(Index As Integer)                                                       '录入字段帮助
  1122.   
  1123.     If Not Textboolean(Index, 1) Then
  1124.         Exit Sub
  1125.     End If
  1126.    
  1127.     '调用帮助
  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.                 
  1166.             End If
  1167.             TextChangeLock = True
  1168.             LrText(jsqte).Text = ""
  1169.             LrText(jsqte).Tag = ""
  1170.             
  1171.             If Textint(jsqte, 5) <> 0 Then
  1172.                 LrText(jsqte).MaxLength = Textint(jsqte, 5)
  1173.             End If
  1174.             
  1175.             TextChangeLock = False
  1176.         End If
  1177.         
  1178.         TextValiJudgeLock(jsqte) = True
  1179.     Next jsqte
  1180.     
  1181. End Sub
  1182. Private Function TextYxxpd(Index As Integer) As Boolean           '文本框有效性判断
  1183.     Dim Sqlstr As String
  1184.     Dim Findrec As ADODB.Recordset
  1185.   
  1186.     '文本框内容未曾改变不进行有效性判断
  1187.     If TextValiJudgeLock(Index) Then
  1188.         TextYxxpd = True
  1189.         Exit Function
  1190.     End If
  1191.   
  1192.     '文本框内容为空认为有效,并清空其Tag值
  1193.     If Trim(LrText(Index)) = "" Then
  1194.         LrText(Index).Tag = ""
  1195.         Call Wbklrwbcl(Index)
  1196.         TextValiJudgeLock(Index) = True
  1197.         TextYxxpd = True
  1198.         Exit Function
  1199.     End If
  1200.   
  1201.     '可在此加入不做有效性判断的理由
  1202.   
  1203.     Select Case Textint(Index, 4)
  1204.         Case 1      '编码型
  1205.             Sqlstr = Trim(Textstr(Index, 5))
  1206.             Sqlstr = Replace(Sqlstr, "@", "'" + Trim(LrText(Index).Text) + "'")
  1207.             Set Findrec = Cw_DataEnvi.DataConnect.Execute(Sqlstr)
  1208.          
  1209.             If Findrec.EOF Then
  1210.                 Call Xtxxts(Trim(Textstr(Index, 6)), 0, 1)
  1211.                 LrText(Index).SetFocus
  1212.                 Exit Function
  1213.             Else
  1214.                 Select Case Textint(Index, 3)
  1215.                     Case 0
  1216.                         If Len(Trim(Textstr(Index, 2))) <> 0 Then
  1217.                             LrText(Index).Text = Trim(Findrec.Fields(Trim(Textstr(Index, 2))))
  1218.                         End If
  1219.                         If Len(Trim(Textstr(Index, 3) & "")) <> 0 Then
  1220.                             LrText(Index).Tag = Trim(Findrec.Fields(Trim(Textstr(Index, 3))))
  1221.                         End If
  1222.                     Case 1
  1223.                         If Len(Trim(Textstr(Index, 3) & "")) <> 0 Then
  1224.                             LrText(Index).Text = Trim(Findrec.Fields(Trim(Textstr(Index, 3))))
  1225.                         End If
  1226.                         If Len(Trim(Textstr(Index, 2))) <> 0 Then
  1227.                             LrText(Index).Tag = Trim(Findrec.Fields(Trim(Textstr(Index, 2))))
  1228.                         End If
  1229.                 End Select
  1230.             End If
  1231.             
  1232.         Case 2      '日期型
  1233.             If IsDate(LrText(Index).Text) Then
  1234.                 LrText(Index).Text = Format(LrText(Index).Text, "yyyy-mm-dd")
  1235.                 If S2N(Mid(LrText(Index), 1, 4)) < 1900 Then
  1236.                     LrText(Index).Text = "1900" + Mid(LrText(Index), 5, 6)
  1237.                 End If
  1238.             Else
  1239.                 Tsxx = "非法公历日期!(格式:" + Format(Date, "yyyy-mm-dd") + ")"
  1240.                 Call Xtxxts(Tsxx, 0, 1)
  1241.                 LrText(Index).SetFocus
  1242.                 Exit Function
  1243.             End If
  1244.             
  1245.         Case 3      '其他类型
  1246.         
  1247.     End Select
  1248.     
  1249.     '如果有效则加锁,用户不改变内容则不再进行有效性判断
  1250.     TextValiJudgeLock(Index) = True
  1251.     '调用文本框事后处理程序
  1252.     Call Wbklrwbcl(Index)
  1253.    
  1254.     '有效性判断通过则返回True
  1255.     TextYxxpd = True
  1256.    
  1257. End Function