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

企业管理

开发平台:

Visual Basic

  1. VERSION 5.00
  2. Object = "{65A39231-6133-11D1-BAA2-444553540000}#1.0#0"; "vslight6.OCX"
  3. Object = "{D76D7128-4A96-11D3-BD95-D296DC2DD072}#1.0#0"; "VSOCX7.OCX"
  4. Object = "{831FDD16-0C5C-11D2-A9FC-0000F8754DA1}#2.0#0"; "MSCOMCTL.OCX"
  5. Object = "{BDC217C8-ED16-11CD-956C-0000C04E4C0A}#1.1#0"; "TABCTL32.OCX"
  6. Object = "{C932BA88-4374-101B-A56C-00AA003668DC}#1.1#0"; "MSMASK32.OCX"
  7. Begin VB.Form Tr_Stop 
  8.    BorderStyle     =   1  'Fixed Single
  9.    Caption         =   "暂放单"
  10.    ClientHeight    =   7110
  11.    ClientLeft      =   45
  12.    ClientTop       =   330
  13.    ClientWidth     =   9345
  14.    Icon            =   "铁运管理_暂放单.frx":0000
  15.    KeyPreview      =   -1  'True
  16.    LinkTopic       =   "Form2"
  17.    MaxButton       =   0   'False
  18.    MinButton       =   0   'False
  19.    ScaleHeight     =   7110
  20.    ScaleWidth      =   9345
  21.    StartUpPosition =   1  '所有者中心
  22.    Begin TabDlg.SSTab StTab 
  23.       Height          =   6435
  24.       Left            =   30
  25.       TabIndex        =   5
  26.       Top             =   660
  27.       Width           =   9330
  28.       _ExtentX        =   16457
  29.       _ExtentY        =   11351
  30.       _Version        =   393216
  31.       Style           =   1
  32.       Tabs            =   2
  33.       Tab             =   1
  34.       TabHeight       =   520
  35.       TabCaption(0)   =   "列表视图"
  36.       TabPicture(0)   =   "铁运管理_暂放单.frx":1042
  37.       Tab(0).ControlEnabled=   0   'False
  38.       Tab(0).Control(0)=   "CzxsGrid"
  39.       Tab(0).ControlCount=   1
  40.       TabCaption(1)   =   "单张视图"
  41.       TabPicture(1)   =   "铁运管理_暂放单.frx":105E
  42.       Tab(1).ControlEnabled=   -1  'True
  43.       Tab(1).Control(0)=   "Frame1"
  44.       Tab(1).Control(0).Enabled=   0   'False
  45.       Tab(1).ControlCount=   1
  46.       Begin VB.Frame Frame1 
  47.          Height          =   6015
  48.          Left            =   90
  49.          TabIndex        =   6
  50.          Top             =   330
  51.          Width           =   9135
  52.          Begin VB.TextBox LrText 
  53.             Height          =   300
  54.             Index           =   0
  55.             Left            =   1755
  56.             TabIndex        =   0
  57.             Text            =   "0"
  58.             Top             =   360
  59.             Width           =   1618
  60.          End
  61.          Begin VB.TextBox LrText 
  62.             Height          =   300
  63.             Index           =   1
  64.             Left            =   1755
  65.             TabIndex        =   3
  66.             Text            =   "1"
  67.             Top             =   1650
  68.             Width           =   1620
  69.          End
  70.          Begin VB.CommandButton QxCommand 
  71.             Cancel          =   -1  'True
  72.             Caption         =   "取消(&C)"
  73.             Height          =   300
  74.             Left            =   2010
  75.             TabIndex        =   8
  76.             Top             =   2520
  77.             Width           =   1120
  78.          End
  79.          Begin VB.CommandButton BcCommand 
  80.             Caption         =   "保存(&S)"
  81.             Height          =   300
  82.             Left            =   780
  83.             TabIndex        =   4
  84.             Top             =   2520
  85.             Width           =   1120
  86.          End
  87.          Begin VB.CommandButton Ydcommand1 
  88.             Height          =   300
  89.             Index           =   0
  90.             Left            =   3720
  91.             Picture         =   "铁运管理_暂放单.frx":107A
  92.             Style           =   1  'Graphical
  93.             TabIndex        =   7
  94.             Top             =   3270
  95.             Visible         =   0   'False
  96.             Width           =   300
  97.          End
  98.          Begin MSMask.MaskEdBox JiText 
  99.             Height          =   300
  100.             Index           =   1
  101.             Left            =   1755
  102.             TabIndex        =   2
  103.             Top             =   1215
  104.             Width           =   1620
  105.             _ExtentX        =   2858
  106.             _ExtentY        =   529
  107.             _Version        =   393216
  108.             MaxLength       =   16
  109.             Mask            =   "####-##-## ##:##"
  110.             PromptChar      =   "_"
  111.          End
  112.          Begin MSMask.MaskEdBox JiText 
  113.             Height          =   300
  114.             Index           =   0
  115.             Left            =   1740
  116.             TabIndex        =   1
  117.             Top             =   795
  118.             Width           =   1620
  119.             _ExtentX        =   2858
  120.             _ExtentY        =   529
  121.             _Version        =   393216
  122.             MaxLength       =   16
  123.             Mask            =   "####-##-## ##:##"
  124.             PromptChar      =   "_"
  125.          End
  126.          Begin VB.Label TsLabel 
  127.             AutoSize        =   -1  'True
  128.             Caption         =   "车号:"
  129.             Height          =   180
  130.             Index           =   0
  131.             Left            =   420
  132.             TabIndex        =   12
  133.             Top             =   420
  134.             Width           =   450
  135.          End
  136.          Begin VB.Label TsLabel 
  137.             AutoSize        =   -1  'True
  138.             Caption         =   "暂放负责人:"
  139.             Height          =   180
  140.             Index           =   1
  141.             Left            =   420
  142.             TabIndex        =   11
  143.             Top             =   1710
  144.             Width           =   990
  145.          End
  146.          Begin VB.Label TsLabel 
  147.             AutoSize        =   -1  'True
  148.             Caption         =   "要求暂放时间:"
  149.             Height          =   180
  150.             Index           =   2
  151.             Left            =   420
  152.             TabIndex        =   10
  153.             Top             =   855
  154.             Width           =   1170
  155.          End
  156.          Begin VB.Label TsLabel 
  157.             AutoSize        =   -1  'True
  158.             Caption         =   "暂放完毕时间:"
  159.             Height          =   180
  160.             Index           =   3
  161.             Left            =   420
  162.             TabIndex        =   9
  163.             Top             =   1275
  164.             Width           =   1170
  165.          End
  166.       End
  167.       Begin VSFlex8Ctl.VSFlexGrid CzxsGrid 
  168.          Height          =   5955
  169.          Left            =   -74910
  170.          TabIndex        =   13
  171.          Top             =   390
  172.          Width           =   9135
  173.          _ExtentX        =   16113
  174.          _ExtentY        =   10504
  175.          Appearance      =   1
  176.          BorderStyle     =   1
  177.          Enabled         =   -1  'True
  178.          BeginProperty Font {0BE35203-8F91-11CE-9DE3-00AA004BB851} 
  179.             Name            =   "宋体"
  180.             Size            =   9
  181.             Charset         =   134
  182.             Weight          =   400
  183.             Underline       =   0   'False
  184.             Italic          =   0   'False
  185.             Strikethrough   =   0   'False
  186.          EndProperty
  187.          MousePointer    =   0
  188.          BackColor       =   -2147483643
  189.          ForeColor       =   -2147483640
  190.          BackColorFixed  =   -2147483633
  191.          ForeColorFixed  =   -2147483630
  192.          BackColorSel    =   -2147483635
  193.          ForeColorSel    =   -2147483634
  194.          BackColorBkg    =   8421504
  195.          BackColorAlternate=   -2147483643
  196.          GridColor       =   -2147483633
  197.          GridColorFixed  =   -2147483632
  198.          TreeColor       =   -2147483632
  199.          FloodColor      =   192
  200.          SheetBorder     =   -2147483642
  201.          FocusRect       =   1
  202.          HighLight       =   1
  203.          AllowSelection  =   -1  'True
  204.          AllowBigSelection=   -1  'True
  205.          AllowUserResizing=   0
  206.          SelectionMode   =   0
  207.          GridLines       =   1
  208.          GridLinesFixed  =   2
  209.          GridLineWidth   =   1
  210.          Rows            =   5000
  211.          Cols            =   10
  212.          FixedRows       =   1
  213.          FixedCols       =   0
  214.          RowHeightMin    =   0
  215.          RowHeightMax    =   0
  216.          ColWidthMin     =   0
  217.          ColWidthMax     =   0
  218.          ExtendLastCol   =   0   'False
  219.          FormatString    =   ""
  220.          ScrollTrack     =   0   'False
  221.          ScrollBars      =   3
  222.          ScrollTips      =   0   'False
  223.          MergeCells      =   0
  224.          MergeCompare    =   0
  225.          AutoResize      =   -1  'True
  226.          AutoSizeMode    =   0
  227.          AutoSearch      =   0
  228.          MultiTotals     =   -1  'True
  229.          SubtotalPosition=   1
  230.          OutlineBar      =   0
  231.          OutlineCol      =   0
  232.          Ellipsis        =   0
  233.          ExplorerBar     =   0
  234.          PicturesOver    =   0   'False
  235.          FillStyle       =   0
  236.          RightToLeft     =   0   'False
  237.          PictureType     =   0
  238.          TabBehavior     =   0
  239.          OwnerDraw       =   0
  240.          Editable        =   0   'False
  241.          ShowComboButton =   -1  'True
  242.          WordWrap        =   0   'False
  243.          TextStyle       =   0
  244.          TextStyleFixed  =   0
  245.          OleDragMode     =   0
  246.          OleDropMode     =   0
  247.          DataMode        =   0
  248.          VirtualData     =   -1  'True
  249.       End
  250.    End
  251.    Begin MSComctlLib.Toolbar SzToolbar 
  252.       Align           =   1  'Align Top
  253.       Height          =   570
  254.       Left            =   0
  255.       TabIndex        =   14
  256.       Top             =   0
  257.       Width           =   9345
  258.       _ExtentX        =   16484
  259.       _ExtentY        =   1005
  260.       ButtonWidth     =   820
  261.       ButtonHeight    =   953
  262.       AllowCustomize  =   0   'False
  263.       Appearance      =   1
  264.       Style           =   1
  265.       ImageList       =   "ImageList1"
  266.       _Version        =   393216
  267.       BeginProperty Buttons {66833FE8-8583-11D1-B16A-00C0F0283628} 
  268.          NumButtons      =   12
  269.          BeginProperty Button1 {66833FEA-8583-11D1-B16A-00C0F0283628} 
  270.             Caption         =   "设置"
  271.             Key             =   "ymsz"
  272.             ImageKey        =   "sz"
  273.          EndProperty
  274.          BeginProperty Button2 {66833FEA-8583-11D1-B16A-00C0F0283628} 
  275.             Caption         =   "打印"
  276.             Key             =   "dy"
  277.             Object.ToolTipText     =   "点击或按Ctrl+P打印表格"
  278.             ImageKey        =   "dy"
  279.          EndProperty
  280.          BeginProperty Button3 {66833FEA-8583-11D1-B16A-00C0F0283628} 
  281.             Caption         =   "预览"
  282.             Key             =   "yl"
  283.             ImageKey        =   "yl"
  284.          EndProperty
  285.          BeginProperty Button4 {66833FEA-8583-11D1-B16A-00C0F0283628} 
  286.             Style           =   3
  287.          EndProperty
  288.          BeginProperty Button5 {66833FEA-8583-11D1-B16A-00C0F0283628} 
  289.             Caption         =   "增加"
  290.             Key             =   "zj"
  291.             Object.ToolTipText     =   "点击或按Ctrl+A增加记录"
  292.             ImageKey        =   "xz"
  293.          EndProperty
  294.          BeginProperty Button6 {66833FEA-8583-11D1-B16A-00C0F0283628} 
  295.             Caption         =   "修改"
  296.             Key             =   "xg"
  297.             ImageKey        =   "xg"
  298.          EndProperty
  299.          BeginProperty Button7 {66833FEA-8583-11D1-B16A-00C0F0283628} 
  300.             Caption         =   "删除"
  301.             Key             =   "sc"
  302.             Object.ToolTipText     =   "点击或按Ctrl+D删除当前记录"
  303.             ImageKey        =   "sc"
  304.          EndProperty
  305.          BeginProperty Button8 {66833FEA-8583-11D1-B16A-00C0F0283628} 
  306.             Style           =   3
  307.          EndProperty
  308.          BeginProperty Button9 {66833FEA-8583-11D1-B16A-00C0F0283628} 
  309.             Caption         =   "刷新"
  310.             Key             =   "sx"
  311.             ImageKey        =   "sx"
  312.          EndProperty
  313.          BeginProperty Button10 {66833FEA-8583-11D1-B16A-00C0F0283628} 
  314.             Style           =   3
  315.          EndProperty
  316.          BeginProperty Button11 {66833FEA-8583-11D1-B16A-00C0F0283628} 
  317.             Caption         =   "帮助"
  318.             Key             =   "bz"
  319.             ImageKey        =   "bz"
  320.          EndProperty
  321.          BeginProperty Button12 {66833FEA-8583-11D1-B16A-00C0F0283628} 
  322.             Caption         =   "退出"
  323.             Key             =   "fh"
  324.             ImageKey        =   "tc"
  325.          EndProperty
  326.       EndProperty
  327.       BorderStyle     =   1
  328.       Begin MSComctlLib.Toolbar GsToolbar 
  329.          Height          =   540
  330.          Left            =   6870
  331.          TabIndex        =   15
  332.          Top             =   0
  333.          Width           =   2475
  334.          _ExtentX        =   4366
  335.          _ExtentY        =   953
  336.          ButtonWidth     =   1455
  337.          ButtonHeight    =   953
  338.          AllowCustomize  =   0   'False
  339.          Appearance      =   1
  340.          Style           =   1
  341.          ImageList       =   "ImageList1"
  342.          _Version        =   393216
  343.          BeginProperty Buttons {66833FE8-8583-11D1-B16A-00C0F0283628} 
  344.             NumButtons      =   3
  345.             BeginProperty Button1 {66833FEA-8583-11D1-B16A-00C0F0283628} 
  346.                Caption         =   "保存格式"
  347.                Key             =   "bcgs"
  348.                ImageKey        =   "bcgs"
  349.             EndProperty
  350.             BeginProperty Button2 {66833FEA-8583-11D1-B16A-00C0F0283628} 
  351.                Caption         =   "默认列宽"
  352.                Key             =   "hfmrgs"
  353.                ImageKey        =   "mrlk"
  354.             EndProperty
  355.             BeginProperty Button3 {66833FEA-8583-11D1-B16A-00C0F0283628} 
  356.                Caption         =   "显示项目"
  357.                Key             =   "szxsxm"
  358.                ImageKey        =   "xsxm"
  359.             EndProperty
  360.          EndProperty
  361.       End
  362.    End
  363.    Begin MSComctlLib.ImageList ImageList1 
  364.       Left            =   0
  365.       Top             =   420
  366.       _ExtentX        =   1005
  367.       _ExtentY        =   1005
  368.       BackColor       =   -2147483643
  369.       ImageWidth      =   16
  370.       ImageHeight     =   16
  371.       MaskColor       =   12632256
  372.       _Version        =   393216
  373.       BeginProperty Images {2C247F25-8591-11D1-B16A-00C0F0283628} 
  374.          NumListImages   =   29
  375.          BeginProperty ListImage1 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  376.             Picture         =   "铁运管理_暂放单.frx":1404
  377.             Key             =   "sz"
  378.          EndProperty
  379.          BeginProperty ListImage2 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  380.             Picture         =   "铁运管理_暂放单.frx":179E
  381.             Key             =   "dy"
  382.          EndProperty
  383.          BeginProperty ListImage3 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  384.             Picture         =   "铁运管理_暂放单.frx":1B38
  385.             Key             =   "yl"
  386.          EndProperty
  387.          BeginProperty ListImage4 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  388.             Picture         =   "铁运管理_暂放单.frx":1ED2
  389.             Key             =   "xg"
  390.          EndProperty
  391.          BeginProperty ListImage5 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  392.             Picture         =   "铁运管理_暂放单.frx":226C
  393.             Key             =   "zh"
  394.          EndProperty
  395.          BeginProperty ListImage6 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  396.             Picture         =   "铁运管理_暂放单.frx":2606
  397.             Key             =   "sh"
  398.          EndProperty
  399.          BeginProperty ListImage7 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  400.             Picture         =   "铁运管理_暂放单.frx":29A0
  401.             Key             =   "bc"
  402.          EndProperty
  403.          BeginProperty ListImage8 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  404.             Picture         =   "铁运管理_暂放单.frx":2D3A
  405.             Key             =   "fq"
  406.          EndProperty
  407.          BeginProperty ListImage9 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  408.             Picture         =   "铁运管理_暂放单.frx":30D4
  409.             Key             =   "bz"
  410.          EndProperty
  411.          BeginProperty ListImage10 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  412.             Picture         =   "铁运管理_暂放单.frx":346E
  413.             Key             =   "tc"
  414.          EndProperty
  415.          BeginProperty ListImage11 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  416.             Picture         =   "铁运管理_暂放单.frx":3808
  417.             Key             =   "bcgs"
  418.          EndProperty
  419.          BeginProperty ListImage12 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  420.             Picture         =   "铁运管理_暂放单.frx":3BA2
  421.             Key             =   "mrlk"
  422.          EndProperty
  423.          BeginProperty ListImage13 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  424.             Picture         =   "铁运管理_暂放单.frx":3F3C
  425.             Key             =   "xsxm"
  426.          EndProperty
  427.          BeginProperty ListImage14 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  428.             Picture         =   "铁运管理_暂放单.frx":42D6
  429.             Key             =   "first"
  430.          EndProperty
  431.          BeginProperty ListImage15 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  432.             Picture         =   "铁运管理_暂放单.frx":4670
  433.             Key             =   "prev"
  434.          EndProperty
  435.          BeginProperty ListImage16 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  436.             Picture         =   "铁运管理_暂放单.frx":4A0A
  437.             Key             =   "next"
  438.          EndProperty
  439.          BeginProperty ListImage17 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  440.             Picture         =   "铁运管理_暂放单.frx":4DA4
  441.             Key             =   "last"
  442.          EndProperty
  443.          BeginProperty ListImage18 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  444.             Picture         =   "铁运管理_暂放单.frx":513E
  445.             Key             =   "xx"
  446.          EndProperty
  447.          BeginProperty ListImage19 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  448.             Picture         =   "铁运管理_暂放单.frx":54D8
  449.             Key             =   "define"
  450.          EndProperty
  451.          BeginProperty ListImage20 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  452.             Picture         =   "铁运管理_暂放单.frx":5872
  453.             Key             =   "exec"
  454.          EndProperty
  455.          BeginProperty ListImage21 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  456.             Picture         =   "铁运管理_暂放单.frx":5C0C
  457.             Key             =   "xz"
  458.          EndProperty
  459.          BeginProperty ListImage22 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  460.             Picture         =   "铁运管理_暂放单.frx":5FA6
  461.             Key             =   "sc"
  462.          EndProperty
  463.          BeginProperty ListImage23 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  464.             Picture         =   "铁运管理_暂放单.frx":6340
  465.             Key             =   "sx"
  466.          EndProperty
  467.          BeginProperty ListImage24 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  468.             Picture         =   "铁运管理_暂放单.frx":66DA
  469.             Key             =   "cx"
  470.          EndProperty
  471.          BeginProperty ListImage25 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  472.             Picture         =   "铁运管理_暂放单.frx":6A74
  473.             Key             =   "zd"
  474.          EndProperty
  475.          BeginProperty ListImage26 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  476.             Picture         =   "铁运管理_暂放单.frx":6E0E
  477.             Key             =   "dz"
  478.          EndProperty
  479.          BeginProperty ListImage27 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  480.             Picture         =   "铁运管理_暂放单.frx":71A8
  481.             Key             =   "ph"
  482.          EndProperty
  483.          BeginProperty ListImage28 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  484.             Picture         =   "铁运管理_暂放单.frx":7542
  485.             Key             =   "fz"
  486.          EndProperty
  487.          BeginProperty ListImage29 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  488.             Picture         =   "铁运管理_暂放单.frx":78DC
  489.             Key             =   "dw"
  490.          EndProperty
  491.       EndProperty
  492.    End
  493. End
  494. Attribute VB_Name = "Tr_Stop"
  495. Attribute VB_GlobalNameSpace = False
  496. Attribute VB_Creatable = False
  497. Attribute VB_PredeclaredId = True
  498. Attribute VB_Exposed = False
  499. '*******************************************************
  500. '*    模 块 名 称 :暂放单设置
  501. '*    功 能 描 述 :设置车辆停放单据
  502. '*    程序员姓名  :孙宝龙
  503. '*    最后修改人  :孙宝龙
  504. '*    最后修改时间:2001/12/06
  505. '*    备        注:封版
  506. '*******************************************************
  507. Dim Rec_CodeSet As New ADODB.Recordset   '编码设置表
  508. Dim jdzygs As Integer                    '控件焦点转移个数
  509. Dim Lrzt As Integer                      '录入状态标志(0-非录入状态 1-增加 2-修改)
  510. Dim ReportTitle As String                '报表主标题
  511. Dim Str_RightEdit As String              '编辑(新增、修改、删除)权限索引
  512. '自定义
  513. Public dbl_RecordAutoCode As Double
  514. '以下为固定使用变量(网格)
  515. Dim Cxnrrec As New ADODB.Recordset       '显示查询内容动态集
  516. Dim Dyymctbl As New DY_Dyymsz            '打印页面窗体变量
  517. Dim GridCode As String                   '显示网格网格代码
  518. Dim GridInf() As Variant                 '整个网格设置信息
  519. Dim Tsxx As String                       '系统提示信息
  520. Dim Qslz As Long                         '网格隐藏(非操作显示)列数
  521. Dim Sjhgd As Double                      '网格数据行高度
  522. Dim GridBoolean() As Boolean             '网格列信息(布尔型)
  523. Dim GridStr()  As String                 '网格列信息(字符型)
  524. Dim GridInt() As Integer                 '网格列信息(整型)
  525. Dim szzls As Integer                     '数组总列数(网格列数-1)
  526. '以下为固定使用变量(文本框)
  527. Dim Textvar() As Variant                 '存储变体型文本框信息
  528. Dim Textboolean() As Boolean             '存储布尔型文本框信息
  529. Dim Textint() As Integer                 '存储整型文本框信息
  530. Dim Textstr() As String                  '存储字符型文本框信息
  531. Dim Max_Text_Index As Integer            '最大录入文本框索引值
  532. Dim TextGroupCode As String              '文本框录入分组编码
  533. Dim TextValiLock As Boolean              '文本框失去焦点是否进行有效性控制判断
  534. Dim TextValiJudgeLock() As Boolean       '文本框录入有效性判断控制锁
  535. Dim CurTextIndex As Integer              '当前文本框索引值
  536. Dim TextChangeLock As Boolean            '文本框内容变换控制锁
  537. Dim Bln_Cancel As Boolean                '取消按钮信息传递
  538. Private Sub Form_KeyPress(KeyAscii As Integer)   '控 制 焦 点 转 移
  539.     jdzygs = 5
  540.     
  541.     Select Case KeyAscii
  542.         Case vbKeyReturn
  543.             If Kjjdzy(jdzygs) Then
  544.                 KeyAscii = 0
  545.             End If
  546.         Case 39           '屏蔽"'"
  547.             KeyAscii = 0
  548.    End Select
  549.    
  550. End Sub
  551. Private Sub Form_Load()
  552.   
  553.     '打印报表标题信息
  554.     ReportTitle = "暂 放 单"
  555.     Xtrq = Format(Xtrq, "yyyy-mm-dd hh:mm")
  556.     '调入打印页面设置窗体
  557.     XtReportCode = "Tr_Stop"
  558.     Load Dyymctbl
  559.     
  560.     '以下为文本框处理程序(读入文本框录入信息)
  561.     TextGroupCode = "Tr_Stop"
  562.     Call Drwbkxx(TextGroupCode, Textvar(), Textboolean(), Textint(), Textstr())
  563.     Call Wbkcsh
  564.     
  565.     '调入网格设置信息
  566.     GridCode = "Tr_Stop"
  567.     Call BzWgcsh(CzxsGrid, GridCode, GridInf(), GridBoolean(), GridInt(), GridStr())
  568.     Qslz = GridInf(1)
  569.     Sjhgd = GridInf(2)
  570.     szzls = CzxsGrid.Cols - 1
  571.     
  572.     '填 充 网 格
  573.     Call Cxnrtcwg
  574.        
  575.     '初始化toolbar,tab卡状态
  576.     StTab.Tab = 0
  577.     StTab.TabEnabled(1) = False
  578.     Frame1.Enabled = False
  579.      
  580.     '设置为非录入状态
  581.     Lrzt = 0
  582.     
  583.     '编辑(新增、修改、删除)权限索引
  584.     Str_RightEdit = "Tr_Stop_Edit"
  585.     
  586. End Sub
  587.  
  588. Private Sub Cxnrtcwg()                               '查询内容填充网格
  589.     Dim Sqlstr As String              '查询连接串
  590.     Dim jsqte As Long                '查询临时使用变量
  591.   
  592.     '为加快显示速度,将网格刷新动作冻结
  593.     CzxsGrid.Redraw = False
  594.   
  595.     '[>>查询连接串
  596.    Sqlstr = "SELECT Tr_Stop.*,Tr_NowAccount.VoucherId as VoucherId FROM Tr_Stop left outer join Tr_NowAccount on Tr_Stop.StopId=Tr_NowAccount.ChildId where Tr_NowAccount.VoucherNum=2 order by Tr_Stop.StopTime"
  597.     '<<]
  598.     Set Cxnrrec = Cw_DataEnvi.DataConnect.Execute(Sqlstr)
  599.     
  600.     With Cxnrrec
  601.         CzxsGrid.Rows = CzxsGrid.FixedRows
  602.         If .EOF And .BOF Then
  603.             CzxsGrid.Redraw = True
  604.             Exit Sub
  605.         End If
  606.         
  607.         jsqte = CzxsGrid.FixedRows
  608.         
  609.         Do While Not .EOF
  610.             CzxsGrid.AddItem ""
  611.             Call Jltcwg(Cxnrrec, jsqte)                              '调入填充网格子过程
  612.             CzxsGrid.RowHeight(jsqte) = Sjhgd                        '设置网格高度
  613.             .MoveNext
  614.             jsqte = jsqte + 1
  615.         Loop
  616.     End With
  617.   
  618.     '将网格刷新动作解冻
  619.     CzxsGrid.Redraw = True
  620.     
  621. End Sub
  622. Private Sub Jltcwg(Jlbrec As ADODB.Recordset, Rowjsq As Long)           '记录内容填充网格
  623.     '[>>以下为自定义部分
  624.     With Jlbrec
  625.         CzxsGrid.TextMatrix(Rowjsq, 0) = .Fields("StopId")
  626.         CzxsGrid.TextMatrix(Rowjsq, 1) = .Fields("VoucherId")
  627.         CzxsGrid.TextMatrix(Rowjsq, Sydz("001", GridStr(), szzls)) = Trim(.Fields("VehicleNum") & "")    '车号
  628.         If Not IsNull(.Fields("StopTime")) Then
  629.               CzxsGrid.TextMatrix(Rowjsq, Sydz("002", GridStr(), szzls)) = Format(Trim(.Fields("StopTime")), "yyyy-mm-dd hh:mm") '要求暂放时间
  630.         Else
  631.               CzxsGrid.TextMatrix(Rowjsq, Sydz("002", GridStr(), szzls)) = ""
  632.         End If
  633.         If Not IsNull(.Fields("StopEndTime")) Then
  634.               CzxsGrid.TextMatrix(Rowjsq, Sydz("003", GridStr(), szzls)) = Format(Trim(.Fields("StopEndTime")), "yyyy-mm-dd hh:mm") '暂放完毕时间
  635.         Else
  636.               CzxsGrid.TextMatrix(Rowjsq, Sydz("003", GridStr(), szzls)) = ""
  637.         End If
  638.         If Not IsNull(.Fields("StopMan")) Then
  639.               CzxsGrid.TextMatrix(Rowjsq, Sydz("004", GridStr(), szzls)) = Trim(.Fields("StopMan") & "")   '暂放负责人
  640.         Else
  641.               CzxsGrid.TextMatrix(Rowjsq, Sydz("004", GridStr(), szzls)) = ""
  642.         End If
  643.         If Trim(.Fields("Result")) = True Then                                                             '暂放状态
  644.               CzxsGrid.TextMatrix(Rowjsq, Sydz("005", GridStr(), szzls)) = "已暂放"
  645.         Else
  646.               CzxsGrid.TextMatrix(Rowjsq, Sydz("005", GridStr(), szzls)) = "未暂放"
  647.         End If
  648.     End With
  649.     '以上为自定义部分<<]
  650.     
  651. End Sub
  652. Private Sub Form_Unload(Cancel As Integer)             '窗体卸载
  653.     dbl_RecordAutoCode = 0
  654.     Set Cxnrrec = Nothing
  655.     Set Rec_CodeSet = Nothing
  656.     Unload Dyymctbl
  657.    
  658. End Sub
  659. Private Function Bclrsj() As Boolean                   '判断录入数据有效性,并保存数据
  660.     Dim jsqte As Integer
  661.     Dim Findrc As New ADODB.Recordset
  662.   
  663.     '对文本框录入内容进行为零和为空判断(固定不变)
  664.     With Rec_CodeSet
  665.     
  666.         For jsqte = 0 To Max_Text_Index
  667.             If Textint(jsqte, 8) = 1 Then     '字段不能为空
  668.                 If Len(Trim(LrText(jsqte).Text)) = 0 Then
  669.                     Tsxx = Textstr(jsqte, 7) & "不能为空!"
  670.                     Call Xtxxts(Tsxx, 0, 1)
  671.                     LrText(jsqte).SetFocus
  672.                     Bclrsj = False
  673.                     Exit Function
  674.                 End If
  675.             Else
  676.                 If Textint(jsqte, 8) = 2 Then   '字段不能为零
  677.                     If Val(Trim(LrText(jsqte).Text)) = 0 Then
  678.                         Tsxx = Textstr(jsqte, 7) & "不能为零!"
  679.                         Call Xtxxts(Tsxx, 0, 1)
  680.                         LrText(jsqte).SetFocus
  681.                         Bclrsj = False
  682.                         Exit Function
  683.                     End If
  684.                 End If
  685.             End If
  686.         Next jsqte
  687.          '<<自定义
  688.         '判断要求暂放时间的年度是否与当前会计年度相符
  689.         If Trim(JiText(0).Text <> "____-__-__ __:__") Then
  690.         If IsDate(JiText(0).Text) Then
  691.             JiText(0).Text = Format(JiText(0).Text, "yyyy-mm-dd hh:mm")
  692.             If Val(Trim(JiText(0).Text)) <> Val(Year(Xtrq)) Then
  693.                 Tsxx = "年度与当前会计年度不符,请重新输入"
  694.                 Call Xtxxts(Tsxx, 0, 4)
  695.                 JiText(0).SetFocus
  696.                 Exit Function
  697.             End If
  698.         Else
  699.             Tsxx = "非法公历时间!(格式:" + Format(Date, "yyyy-mm-dd hh:mm") + ")"
  700.             Call Xtxxts(Tsxx, 0, 1)
  701.             JiText(0).SetFocus
  702.             Exit Function
  703.         End If
  704.     End If
  705.     
  706.     '要求暂放时间不能为空
  707.     If Trim(JiText(0).Text) = "____-__-__ __:__" Then
  708.         Tsxx = "要求暂放时间不能为空!"
  709.         Call Xtxxts(Tsxx, 0, 1)
  710.         JiText(0).SetFocus
  711.         Bclrsj = False
  712.         Exit Function
  713.     End If
  714.     '判断暂放完毕时间的年度是否与当前会计年度相符
  715.     If Trim(JiText(1).Text <> "____-__-__ __:__") Then
  716.         If IsDate(JiText(1).Text) Then
  717.             JiText(1).Text = Format(JiText(1).Text, "yyyy-mm-dd hh:mm")
  718.             If Val(Trim(JiText(1).Text)) <> Val(Year(Xtrq)) Then
  719.                 Tsxx = "年度与当前会计年度不符,请重新输入"
  720.                 Call Xtxxts(Tsxx, 0, 4)
  721.                 JiText(1).SetFocus
  722.                 Exit Function
  723.             End If
  724.         Else
  725.             Tsxx = "非法公历时间!(格式:" + Format(Date, "yyyy-mm-dd hh:mm") + ")"
  726.             Call Xtxxts(Tsxx, 0, 1)
  727.             JiText(1).SetFocus
  728.             Exit Function
  729.         End If
  730.     End If
  731.     '要求暂放时间不能大于暂放完毕时间
  732.     If Trim(JiText(0).Text) <> "____-__-__ __:__" And Trim(JiText(1).Text) <> "____-__-__ __:__" Then
  733.         If CDate(JiText(0).Text) > CDate(JiText(1).Text) Then
  734.             Tsxx = "要求暂放时间不能大于暂放完毕时间!"
  735.             Call Xtxxts(Tsxx, 0, 1)
  736.             Bclrsj = False
  737.             JiText(1).SetFocus
  738.             Exit Function
  739.         End If
  740.     End If
  741.     If Not JiTextptpd Then
  742.         Exit Function
  743.     End If
  744.     
  745.     '>>
  746.     
  747.         '对需要进行事后判断的文本框录入内容进行有效性判断 (固定不变)
  748.         For jsqte = 0 To Max_Text_Index
  749.             If Textint(jsqte, 9) = 0 Or Textint(jsqte, 9) = 2 Then
  750.                 If Not TextYxxpd(jsqte) Then
  751.                     Exit Function
  752.                 End If
  753.             End If
  754.         Next jsqte
  755.         
  756.    
  757.         If Lrzt = 1 Then  '增 加
  758.         
  759.             If .State = 1 Then .Close
  760.             .Open "SELECT * FROM Tr_Stop where 1=2 ", Cw_DataEnvi.DataConnect, adOpenDynamic, adLockOptimistic
  761.             '判断记录内容无误后,将记录内容写入数据表
  762.             On Error GoTo Swcwcl
  763.     
  764.             Cw_DataEnvi.DataConnect.BeginTrans
  765.    
  766.             .AddNew
  767.                 .Fields("VehicleNum") = Trim(LrText(0).Text & "")                             '车号
  768.                 If Trim(JiText(0).Text) <> "____-__-__ __:__" Then
  769.                     .Fields("StopTime") = Format(JiText(0).Text, "yyyy-mm-dd hh:mm")          '要求暂放时间
  770.                 Else
  771.                     .Fields("StopTime") = Null
  772.                 End If
  773.                 If Trim(JiText(1).Text) <> "____-__-__ __:__" Then
  774.                     .Fields("StopEndTime") = Format(JiText(1).Text, "yyyy-mm-dd hh:mm")       '暂放完毕时间
  775.                 Else
  776.                     .Fields("StopEndTime") = Null
  777.                 End If
  778.                 If Trim(LrText(1).Text) <> "" Then
  779.                     .Fields("StopMan") = Trim(LrText(1).Text & "")                            '暂放负责人
  780.                 Else
  781.                     .Fields("StopMan") = ""
  782.                 End If
  783.                 If Trim(JiText(1).Text) <> "____-__-__ __:__" Then                            '暂放状态
  784.                     .Fields("Result") = 1
  785.                 Else
  786.                     .Fields("Result") = 0
  787.                 End If
  788.             .Update
  789.             dbl_RecordAutoCode = .Fields("StopId")
  790.             '增加记录的同时增加台准帐排它表中的记录(由此判断各状态时间问题)
  791.              If Findrc.State = 1 Then Findrc.Close
  792.                 Findrc.Open "SELECT * FROM Tr_NowAccount where 1=2 ", Cw_DataEnvi.DataConnect, adOpenDynamic, adLockOptimistic
  793.     
  794.     
  795.                 Findrc.AddNew
  796.                 Findrc.Fields("VoucherNum") = 2                                                      '各状态拾别号暂放为4
  797.                 Findrc.Fields("ChildId") = dbl_RecordAutoCode
  798.                 Findrc.Fields("VehicleNum") = Trim(.Fields("VehicleNum") & "")                         '车号
  799.                 If Not IsNull(.Fields("StopTime")) Then
  800.                      Findrc.Fields("BeginTime") = Format(Trim(.Fields("StopTime")), "yyyy-mm-dd hh:mm") '各状态要求时间
  801.                 Else
  802.                      Findrc.Fields("BeginTime") = Format(Trim(.Fields("StopTime")), "yyyy-mm-dd hh:mm")
  803.                 End If
  804.                 If Not IsNull(.Fields("StopEndTime")) Then
  805.                      Findrc.Fields("EndTime") = Format(Trim(.Fields("StopEndTime")), "yyyy-mm-dd hh:mm") '各状态完毕时间
  806.                 Else
  807.                      Findrc.Fields("EndTime") = Format(Trim(.Fields("StopTime")), "yyyy-mm-dd hh:mm")
  808.                 End If
  809.                 Findrc.Fields("MNumber") = Null
  810.                 If .Fields("Result") = True Then
  811.                     Findrc.Fields("NowStatus") = "已暂放"                                                '目前状态
  812.                     Findrc.Fields("LimitMark") = 1
  813.                 Else
  814.                     Findrc.Fields("NowStatus") = "暂放"
  815.                     Findrc.Fields("LimitMark") = 0
  816.                 End If
  817.                 
  818.                 Findrc.Update
  819.             
  820.             Cw_DataEnvi.DataConnect.CommitTrans
  821.             '将记录加入网格
  822.             Sqlstr = "SELECT Tr_Stop.*,Tr_NowAccount.VoucherId as VoucherId FROM Tr_Stop left outer join Tr_NowAccount on Tr_Stop.StopId=Tr_NowAccount.ChildId where Tr_NowAccount.VoucherNum=2 and Tr_Stop.StopId='" & dbl_RecordAutoCode & "' order by Tr_Stop.StopTime"
  823.             Set Cxnrrec = Cw_DataEnvi.DataConnect.Execute(Sqlstr)
  824.    
  825.             With CzxsGrid
  826.                 .AddItem ""
  827.                 .RowHeight(.Rows - 1) = Sjhgd
  828.                 .Select .Rows - 1, Qslz
  829.                 Call Jltcwg(Cxnrrec, .Rows - 1)
  830.             End With
  831.             Tsxx = "保存完毕!"
  832.             Call Xtxxts(Tsxx, 0, 4)
  833.             
  834.             Call Cshlrxx(1)
  835.             LrText(0).SetFocus
  836.             '将网格按编码排序
  837.             With CzxsGrid
  838.                 .Col = Sydz("002", GridStr(), szzls)
  839.                 CzxsGrid.Sort = flexSortStringAscending
  840.             End With
  841.             '<<]
  842.     
  843.         Else  '否则为修改记录
  844.             On Error GoTo Swcwcl
  845.             Cw_DataEnvi.DataConnect.BeginTrans
  846.             If .State = 1 Then .Close
  847.             .Open "SELECT * FROM Tr_Stop WHERE StopId= '" & dbl_RecordAutoCode & "'", Cw_DataEnvi.DataConnect, adOpenDynamic, adLockOptimistic
  848.      
  849.             If Not .EOF Then
  850.                 If Trim(JiText(0).Text) <> "____-__-__ __:__" Then
  851.                     .Fields("StopTime") = Format(JiText(0).Text, "yyyy-mm-dd hh:mm")          '要求暂放时间
  852.                 Else
  853.                     .Fields("StopTime") = Null
  854.                 End If
  855.                 If Trim(JiText(1).Text) <> "____-__-__ __:__" Then
  856.                     .Fields("StopEndTime") = Format(JiText(1).Text, "yyyy-mm-dd hh:mm")       '暂放完毕时间
  857.                 Else
  858.                     .Fields("StopEndTime") = Null
  859.                 End If
  860.                 If Trim(LrText(1).Text) <> "" Then
  861.                     .Fields("StopMan") = Trim(LrText(1).Text & "")                            '暂放负责人
  862.                 Else
  863.                     .Fields("StopMan") = ""
  864.                 End If
  865.                 If Trim(JiText(1).Text) <> "____-__-__ __:__" Then                            '暂放状态
  866.                     .Fields("Result") = 1
  867.                 Else
  868.                     .Fields("Result") = 0
  869.                 End If
  870.                 .Update
  871.             End If
  872.             If Findrc.State = 1 Then Findrc.Close
  873.                 Findrc.Open "SELECT * FROM Tr_NowAccount where ChildId = '" & dbl_RecordAutoCode & "'and VoucherNum=2", Cw_DataEnvi.DataConnect, adOpenDynamic, adLockOptimistic
  874.                 If Not Findrc.EOF Then
  875.     '                Findrc.Fields("VoucherNum") = 4
  876.     '                Findrc.Fields("ChildId") = dbl_RecordAutoCode
  877.     '                Findrc.Fields("VehicleNum") = Trim(.Fields("VehicleNum") & "")        '车号
  878.                     If Not IsNull(.Fields("StopTime")) Then
  879.                          Findrc.Fields("BeginTime") = Format(Trim(.Fields("StopTime")), "yyyy-mm-dd hh:mm")  '各状态要求时间
  880.                     Else
  881.                          Findrc.Fields("BeginTime") = Format(Trim(.Fields("StopTime")), "yyyy-mm-dd hh:mm")
  882.                     End If
  883.                     If Not IsNull(.Fields("StopEndTime")) Then
  884.                          Findrc.Fields("EndTime") = Format(Trim(.Fields("StopEndTime")), "yyyy-mm-dd hh:mm") '各状态完毕时间
  885.                     Else
  886.                          Findrc.Fields("EndTime") = Format(Trim(.Fields("StopTime")), "yyyy-mm-dd hh:mm")
  887.                     End If
  888.                     Findrc.Fields("MNumber") = Null
  889.                     If .Fields("Result") = True Then
  890.                         Findrc.Fields("NowStatus") = "已暂放"                                                 '目前状态
  891.                         Findrc.Fields("LimitMark") = 1
  892.                     Else
  893.                         Findrc.Fields("NowStatus") = "暂放"
  894.                         Findrc.Fields("LimitMark") = 0
  895.                     End If
  896.                     
  897.                     Findrc.Update
  898.               End If
  899.              Cw_DataEnvi.DataConnect.CommitTrans
  900.    
  901.             '刷新当前网格
  902.             Sqlstr = "SELECT Tr_Stop.*,Tr_NowAccount.VoucherId as VoucherId FROM Tr_Stop left outer join Tr_NowAccount on Tr_Stop.StopId=Tr_NowAccount.ChildId where Tr_NowAccount.VoucherNum=2  and Tr_Stop.StopId='" & dbl_RecordAutoCode & "' order by Tr_Stop.StopTime"
  903.             Set Cxnrrec = Cw_DataEnvi.DataConnect.Execute(Sqlstr)
  904.    
  905.             With CzxsGrid
  906.                 Call Jltcwg(Cxnrrec, .Row)
  907.             End With
  908.    
  909.         End If
  910.      
  911.         '保存记录成功,函数返回真值
  912.         Bclrsj = True
  913.         Exit Function
  914.         
  915.     End With
  916.  
  917. Swcwcl:
  918.      Cw_DataEnvi.DataConnect.RollbackTrans
  919.      Tsxx = "存盘过程中出现错误,程序自动恢复保存前状态!"
  920.      Call Xtxxts(Tsxx, 0, 1)
  921.      Exit Function
  922.      
  923. End Function
  924. Private Function Cshlrxx(lrztxx As Integer) As Boolean              '初始化录入字段信息
  925.     TextChangeLock = True       '关闭文本框Chang事件
  926.     
  927.     If lrztxx = 1 Then
  928.     
  929.         '增加新记录时将文本框清空
  930.         For jsqte = 0 To Max_Text_Index
  931.             If Len(Trim(Textstr(jsqte, 1))) <> 0 Then
  932.                 LrText(jsqte).Text = ""
  933.                 LrText(jsqte).Tag = ""
  934.             End If
  935.             TextValiJudgeLock(jsqte) = True
  936.         Next jsqte
  937.        
  938.         '[>>
  939.         JiText(1).Text = "____-__-__ __:__"
  940.         JiText(0).Text = Format(Xtrq, "yyyy-mm-dd hh:mm")
  941.         '<<]
  942.     Else
  943.     
  944.         '修改记录时根据记录关键字(编码)从数据表中读入其他字段内容
  945.         With RecTemp
  946.             Sqlstr = "Select * From Tr_Stop Where  StopId='" & Trim(CzxsGrid.TextMatrix(CzxsGrid.Row, 0)) & "'"
  947.             Set RecTemp = Cw_DataEnvi.DataConnect.Execute(Sqlstr)
  948.        
  949.             '记录如存在则读入其内容,否则提示记录已被其他人删除
  950.             If Not RecTemp.EOF Then
  951.                 LrText(0).Tag = Trim(RecTemp.Fields("VehicleNum") & " ")          '车号
  952.                 LrText(0).Text = Trim(RecTemp.Fields("VehicleNum") & " ")
  953.                 JiText(0).Text = Format(Trim(RecTemp.Fields("StopTime")), "yyyy-mm-dd hh:mm")  '要求暂放时间
  954.                 If IsNull(Trim(RecTemp.Fields("StopEndTime"))) Then                            '暂放完毕时间
  955.                     JiText(1).Text = "____-__-__ __:__"
  956.                 Else
  957.                     JiText(1).Text = Format(Trim(RecTemp.Fields("StopEndTime")), "yyyy-mm-dd hh:mm")
  958.                 End If
  959.                 If Not IsNull(RecTemp.Fields("StopMan")) Then                                   '暂放负责人
  960.                     LrText(1).Text = Trim(RecTemp.Fields("StopMan") & "")
  961.                 Else
  962.                     LrText(1).Text = ""
  963.                 End If
  964.                 dbl_RecordAutoCode = RecTemp.Fields("StopId")
  965.             Else
  966.                 Tsxx = "该记录已经被其他人删除,请刷新当前数据!"
  967.                 Call Xtxxts(Tsxx, 0, 4)
  968.                 Call Cancel
  969.                 TextChangeLock = False
  970.                 Exit Function
  971.             End If
  972.         End With
  973.     End If
  974.     
  975.     Cshlrxx = True
  976.     TextChangeLock = False
  977.     
  978. End Function
  979. Private Sub Scdqjl()                 '删 除 当 前 记 录
  980.     Dim yhAnswer As Integer
  981.     Dim Str_Parent As String
  982.     Dim Sqlstr As String
  983.     Dim Ts_temp1 As New ADODB.Recordset
  984.     Dim Findrc As New ADODB.Recordset
  985.     
  986.      '判断用户是否有此功能执行权限,如有则写上机日志(进入)
  987.     If Not Security_Log(Str_RightEdit, Xtczybm, 1, True) Then
  988.         Exit Sub
  989.     End If
  990.     
  991.     '非数据行不能删除
  992.     If CzxsGrid.Row < CzxsGrid.FixedRows Then
  993.         Exit Sub
  994.     End If
  995.   
  996.     '用户确认是否删除记录
  997.     Tsxx = "请确认是否删除当前记录?"
  998.     yhAnswer = Xtxxts(Tsxx, 2, 2)
  999.     
  1000.     If yhAnswer = 2 Then
  1001.         Exit Sub
  1002.     End If
  1003.     On Error GoTo Cwcl
  1004.   
  1005.     Cw_DataEnvi.DataConnect.BeginTrans
  1006.     '[>>以下需自定义部分
  1007.     Cw_DataEnvi.DataConnect.Execute "delete Tr_Stop where StopId = '" + Trim(CzxsGrid.TextMatrix(CzxsGrid.Row, 0)) + "'"
  1008.     Cw_DataEnvi.DataConnect.Execute "delete Tr_NowAccount where ChildId = '" + Trim(CzxsGrid.TextMatrix(CzxsGrid.Row, 0)) + "'and VoucherNum=2 "
  1009.   
  1010.     '以上为自定义部分<<]
  1011.   
  1012.     Cw_DataEnvi.DataConnect.CommitTrans
  1013.     CzxsGrid.RemoveItem CzxsGrid.Row
  1014.     Exit Sub
  1015.   
  1016. Cwcl:
  1017.     Cw_DataEnvi.DataConnect.RollbackTrans
  1018.     
  1019.     If Err.Number = -2147217873 Then                '(-2147217873 为SQL Server 2000通过建立外键产生的错误号)
  1020.         Tsxx = "该编码已经被使用,不能删除!"
  1021.         Call Xtxxts(Tsxx, 0, 1)
  1022.         Exit Sub
  1023.     Else
  1024.         Tsxx = "出现未知情况,该编码不能被删除!"
  1025.         Call Xtxxts(Tsxx, 0, 1)
  1026.         Exit Sub
  1027.     End If
  1028.     
  1029. End Sub
  1030. '*******************以下区域为编写自定义过程区域**********************
  1031.  '判断各状态的时间
  1032.  Function JiTextptpd() As Boolean
  1033.     Dim Sqlstr As String
  1034.     Dim jsqte As Long
  1035.     Dim str_TempSql As String
  1036.     Dim arrVar_TableCon()
  1037.     Dim arrVar_TableCon1()
  1038.     Dim arr_Var_TableCon2()
  1039.     Dim arrVar_TableCon3()
  1040.     Dim rs_Tmp As New ADODB.Recordset
  1041.     Dim Findrec As New ADODB.Recordset
  1042. On Error GoTo Pdbz
  1043. If Lrzt = 1 Then '各状态增加时的判断
  1044.         '先查询出同车号各状态正在进行的记录并找出最大时间与填入记录进行判断
  1045.         str_tmp = "select * from Tr_NowAccount where VehicleNum='" & Trim(LrText(0).Text) & "'and LimitMark=0 order by BeginTime      "
  1046.         Set rs_Tmp = Nothing
  1047.         Set rs_Tmp = Cw_DataEnvi.DataConnect.Execute(str_tmp)
  1048.         If Not rs_Tmp.RecordCount = 0 Then
  1049.             ReDim arrVar_TableCon(rs_Tmp.RecordCount - 1, 2)
  1050.         End If
  1051.         k = 0
  1052.         Do While Not rs_Tmp.EOF()
  1053.             arrVar_TableCon(k, 0) = Trim(rs_Tmp.Fields("NowStatus"))                              '目前状态
  1054.             arrVar_TableCon(k, 1) = Format(Trim(rs_Tmp.Fields("BeginTime")), "yyyy-mm-dd hh:mm")  '要求时间
  1055.             arrVar_TableCon(k, 2) = Format(Trim(rs_Tmp.Fields("EndTime")), "yyyy-mm-dd hh:mm")    '完毕时间
  1056.             rs_Tmp.MoveNext
  1057.             k = k + 1
  1058.         Loop
  1059.         If Not rs_Tmp.RecordCount = 0 Then
  1060.             If JiText(0).Text < arrVar_TableCon(UBound(arrVar_TableCon, 1), 2) Then
  1061.                 If Trim(JiText(1).Text) = "____-__-__ __:__" Then
  1062.                     Tsxx = "暂放完毕时间不能为空"
  1063.                     Call Xtxxts(Tsxx, 0, 1)
  1064.                     JiText(1).SetFocus
  1065.                     JiTextptpd = False
  1066.                     Exit Function
  1067.                 End If
  1068.             End If
  1069.             For i = LBound(arrVar_TableCon, 1) To UBound(arrVar_TableCon, 1)
  1070.                 If i = UBound(arrVar_TableCon, 1) Then
  1071.                     If JiText(0).Text >= arrVar_TableCon(i, 1) Then
  1072.                         Tsxx = "此车号正处于" & arrVar_TableCon(i, 0) & "状态,不能进行其他处理!"
  1073.                         Call Xtxxts(Tsxx, 0, 1)
  1074.                         JiText(0).SetFocus
  1075.                         JiTextptpd = False
  1076.                         Exit Function
  1077.                     End If
  1078.                 End If
  1079.                 If JiText(1).Text <> "____-__-__ __:__" Then
  1080.                     If JiText(1).Text >= arrVar_TableCon(i, 1) Then
  1081.                         Tsxx = "此车号正处于" & arrVar_TableCon(i, 0) & "状态,请重新输入时间!"
  1082.                         Call Xtxxts(Tsxx, 0, 1)
  1083.                          JiText(1).SetFocus
  1084.                         JiTextptpd = False
  1085.                         Exit Function
  1086.                     End If
  1087.                 End If
  1088.             Next i
  1089.         End If
  1090.          '查询出各状态同车号已完成的记录并找出最大时间与填入的记录进行判断
  1091.         str_tmp = "select * from Tr_NowAccount where VehicleNum='" & Trim(LrText(0).Text) & "'and LimitMark=1 order by BeginTime      "
  1092.         Set rs_Tmp = Nothing
  1093.         Set rs_Tmp = Cw_DataEnvi.DataConnect.Execute(str_tmp)
  1094.         If Not rs_Tmp.RecordCount = 0 Then
  1095.             ReDim arrVar_TableCon2(rs_Tmp.RecordCount - 1, 2)
  1096.         End If
  1097.         k = 0
  1098.         Do While Not rs_Tmp.EOF()
  1099.             arrVar_TableCon2(k, 0) = Trim(rs_Tmp.Fields("NowStatus"))
  1100.             arrVar_TableCon2(k, 1) = Format(Trim(rs_Tmp.Fields("BeginTime")), "yyyy-mm-dd hh:mm")
  1101.             arrVar_TableCon2(k, 2) = Format(Trim(rs_Tmp.Fields("EndTime")), "yyyy-mm-dd hh:mm")
  1102.             rs_Tmp.MoveNext
  1103.             k = k + 1
  1104.         Loop
  1105.         If Not rs_Tmp.RecordCount = 0 Then
  1106.             If JiText(0).Text < arrVar_TableCon2(UBound(arrVar_TableCon2, 1), 2) Then
  1107.                 If Trim(JiText(1).Text) = "____-__-__ __:__" Then
  1108.                     Tsxx = "暂放完毕时间不能为空"
  1109.                     Call Xtxxts(Tsxx, 0, 1)
  1110.                     JiText(1).SetFocus
  1111.                     JiTextptpd = False
  1112.                     Exit Function
  1113.                 End If
  1114.             End If
  1115.             For i = LBound(arrVar_TableCon2, 1) To UBound(arrVar_TableCon2, 1)
  1116.                 If JiText(0).Text >= arrVar_TableCon2(i, 1) And JiText(0).Text <= arrVar_TableCon2(i, 2) Then
  1117.                     Tsxx = "此车号在" & arrVar_TableCon2(i, 1) & "至" & arrVar_TableCon2(i, 2) & ",处于" & arrVar_TableCon2(i, 0) & "状态,请重新输入时间!"
  1118.                     Call Xtxxts(Tsxx, 0, 1)
  1119.                     JiText(0).SetFocus
  1120.                     JiTextptpd = False
  1121.                     Exit Function
  1122.                 End If
  1123.                 If JiText(1).Text >= arrVar_TableCon2(i, 1) And JiText(1).Text <= arrVar_TableCon2(i, 2) Then
  1124.                     Tsxx = "此车号在" & arrVar_TableCon2(i, 1) & "至" & arrVar_TableCon2(i, 2) & ",处于" & arrVar_TableCon2(i, 0) & "状态,请重新输入时间!"
  1125.                     Call Xtxxts(Tsxx, 0, 1)
  1126.                     JiText(1).SetFocus
  1127.                     JiTextptpd = False
  1128.                     Exit Function
  1129.                 End If
  1130.                 If JiText(0) <= arrVar_TableCon2(i, 1) And JiText(1).Text >= arrVar_TableCon2(i, 2) Then
  1131.                         Tsxx = "此车号在" & arrVar_TableCon2(i, 1) & "至" & arrVar_TableCon2(i, 2) & ",处于" & arrVar_TableCon2(i, 0) & "状态,请重新输入时间!"
  1132.                         Call Xtxxts(Tsxx, 0, 1)
  1133.                         JiText(1).SetFocus
  1134.                         JiTextptpd = False
  1135.                         Exit Function
  1136.                 End If
  1137.             Next i
  1138.         End If
  1139.         
  1140.         
  1141.         
  1142. Else  '修改
  1143.             '先查询出同车号各状态正在进行的记录并找出最大时间与填入记录进行判断
  1144.             str_tmp = "select * from Tr_NowAccount where VehicleNum='" & Trim(LrText(0).Text) & "'and LimitMark=0 order by BeginTime      "
  1145.             Set rs_Tmp = Nothing
  1146.             Set rs_Tmp = Cw_DataEnvi.DataConnect.Execute(str_tmp)
  1147.             If Not rs_Tmp.RecordCount = 0 Then
  1148.                 ReDim arrVar_TableCon(rs_Tmp.RecordCount - 1, 3)
  1149.             End If
  1150.             k = 0
  1151.             Do While Not rs_Tmp.EOF()
  1152.                 arrVar_TableCon(k, 0) = Trim(rs_Tmp.Fields("NowStatus"))
  1153.                 arrVar_TableCon(k, 1) = Format(Trim(rs_Tmp.Fields("BeginTime")), "yyyy-mm-dd hh:mm")
  1154.                 arrVar_TableCon(k, 2) = Format(Trim(rs_Tmp.Fields("EndTime")), "yyyy-mm-dd hh:mm")
  1155.                 arrVar_TableCon(k, 3) = rs_Tmp.Fields("VoucherId")
  1156.                 rs_Tmp.MoveNext
  1157.                 k = k + 1
  1158.             Loop
  1159.             If Not rs_Tmp.RecordCount = 0 Then
  1160.                 For i = LBound(arrVar_TableCon, 1) To UBound(arrVar_TableCon, 1)
  1161.                     If i = UBound(arrVar_TableCon, 1) Then
  1162.                         If JiText(0).Text >= arrVar_TableCon(i, 1) And arrVar_TableCon(i, 3) <> CzxsGrid.TextMatrix(CzxsGrid.Row, 1) Then
  1163.                             Tsxx = "此车号正处于" & arrVar_TableCon(i, 0) & "状态,请重新输入时间!"
  1164.                             Call Xtxxts(Tsxx, 0, 1)
  1165.                             JiText(0).SetFocus
  1166.                             JiTextptpd = False
  1167.                             Exit Function
  1168.                         End If
  1169.                         If JiText(1).Text <> "____-__-__ __:__" Then
  1170.                             If JiText(1).Text >= arrVar_TableCon(i, 1) And arrVar_TableCon(i, 3) <> CzxsGrid.TextMatrix(CzxsGrid.Row, 1) Then
  1171.                                 Tsxx = "此车号正处于" & arrVar_TableCon(i, 0) & "状态,请重新输入时间!"
  1172.                                 Call Xtxxts(Tsxx, 0, 1)
  1173.                                  JiText(1).SetFocus
  1174.                                 JiTextptpd = False
  1175.                                 Exit Function
  1176.                             End If
  1177.                         End If
  1178.                     End If
  1179.                 Next i
  1180.                 str_tmp = "select * from Tr_Stop where StopId='" & dbl_RecordAutoCode & "'and result=0 order by StopEndTime      "
  1181.                 Set Findrec = Nothing
  1182.                 Set Findrec = Cw_DataEnvi.DataConnect.Execute(str_tmp)
  1183.                 If Findrec.RecordCount = 0 Then
  1184.                     If JiText(1).Text = "____-__-__ __:__" Then
  1185.                         Tsxx = "暂放完毕时间不能为空"
  1186.                         Call Xtxxts(Tsxx, 0, 1)
  1187.                         JiText(1).SetFocus
  1188.                         JiTextptpd = False
  1189.                         Exit Function
  1190.                     End If
  1191.                 End If
  1192.             End If
  1193.             '先查询出同车号各状态已完成的记录并找出最大时间与填入记录进行判断
  1194.             str_tmp = "select * from Tr_NowAccount where VehicleNum='" & Trim(LrText(0).Text) & "'and LimitMark=1 order by BeginTime      "
  1195.             Set rs_Tmp = Nothing
  1196.             Set rs_Tmp = Cw_DataEnvi.DataConnect.Execute(str_tmp)
  1197.             If Not rs_Tmp.RecordCount = 0 Then
  1198.                  ReDim arrVar_TableCon2(rs_Tmp.RecordCount - 1, 3)
  1199.             End If
  1200.             k = 0
  1201.             Do While Not rs_Tmp.EOF()
  1202.                 arrVar_TableCon2(k, 0) = Trim(rs_Tmp.Fields("NowStatus"))
  1203.                 arrVar_TableCon2(k, 1) = Format(Trim(rs_Tmp.Fields("BeginTime")), "yyyy-mm-dd hh:mm")
  1204.                 arrVar_TableCon2(k, 2) = Format(Trim(rs_Tmp.Fields("EndTime")), "yyyy-mm-dd hh:mm")
  1205.                 arrVar_TableCon2(k, 3) = rs_Tmp.Fields("VoucherId")
  1206.                 rs_Tmp.MoveNext
  1207.                 k = k + 1
  1208.             Loop
  1209.             
  1210.             str_tmp = "select * from Tr_Stop where StopId='" & dbl_RecordAutoCode & "'and result=1 order by StopEndTime      "
  1211.             Set Findrec = Nothing
  1212.             Set Findrec = Cw_DataEnvi.DataConnect.Execute(str_tmp)
  1213.                     If Not Findrec.RecordCount = 0 Then
  1214.                       If CDate(Findrec.Fields("StopEndTime")) = arrVar_TableCon2(UBound(arrVar_TableCon2, 1), 2) Then
  1215.                         If JiText(1).Text = "____-__-__ __:__" Then
  1216.                             If JiText(0).Text = arrVar_TableCon2(UBound(arrVar_TableCon2, 1), 1) Then
  1217.                                 JiTextptpd = True
  1218.                                 Exit Function
  1219.                             End If
  1220.                         End If
  1221.                       End If
  1222.                     End If
  1223.             If Not rs_Tmp.RecordCount = 0 Then
  1224.                 If JiText(0).Text < arrVar_TableCon2(UBound(arrVar_TableCon2, 1), 2) Then
  1225.                     If Trim(JiText(1).Text) = "____-__-__ __:__" Then
  1226.                         Tsxx = "暂放完毕时间不能为空"
  1227.                         Call Xtxxts(Tsxx, 0, 1)
  1228.                         JiText(1).SetFocus
  1229.                         JiTextptpd = False
  1230.                         Exit Function
  1231.                     End If
  1232.                 End If
  1233.                 For i = LBound(arrVar_TableCon2, 1) To UBound(arrVar_TableCon2, 1)
  1234.                     If JiText(0) >= arrVar_TableCon2(i, 1) And JiText(0).Text <= arrVar_TableCon2(i, 2) And arrVar_TableCon2(i, 3) <> CzxsGrid.TextMatrix(CzxsGrid.Row, 1) Then
  1235.                         Tsxx = "此车号在" & arrVar_TableCon2(i, 1) & "至" & arrVar_TableCon2(i, 2) & ",处于" & arrVar_TableCon2(i, 0) & "状态,请重新输入时间!"
  1236.                         Call Xtxxts(Tsxx, 0, 1)
  1237.                         JiText(0).SetFocus
  1238.                         JiTextptpd = False
  1239.                         Exit Function
  1240.                     End If
  1241.                     If JiText(1) >= arrVar_TableCon2(i, 1) And JiText(1).Text <= arrVar_TableCon2(i, 2) And arrVar_TableCon2(i, 3) <> CzxsGrid.TextMatrix(CzxsGrid.Row, 1) Then
  1242.                         Tsxx = "此车号在" & arrVar_TableCon2(i, 1) & "至" & arrVar_TableCon2(i, 2) & ",处于" & arrVar_TableCon2(i, 0) & "状态,请重新输入时间!"
  1243.                         Call Xtxxts(Tsxx, 0, 1)
  1244.                         JiText(1).SetFocus
  1245.                         JiTextptpd = False
  1246.                         Exit Function
  1247.                     End If
  1248.                     If JiText(0) <= arrVar_TableCon2(i, 1) And JiText(1).Text >= arrVar_TableCon2(i, 2) And arrVar_TableCon2(i, 3) <> CzxsGrid.TextMatrix(CzxsGrid.Row, 1) Then
  1249.                         Tsxx = "此车号在" & arrVar_TableCon2(i, 1) & "至" & arrVar_TableCon2(i, 2) & ",处于" & arrVar_TableCon2(i, 0) & "状态,请重新输入时间!"
  1250.                         Call Xtxxts(Tsxx, 0, 1)
  1251.                         JiText(1).SetFocus
  1252.                         JiTextptpd = False
  1253.                         Exit Function
  1254.                     End If
  1255.                 Next i
  1256.             End If
  1257.             
  1258.             
  1259. '    End If
  1260.     
  1261.        
  1262. End If
  1263.        JiTextptpd = True
  1264.        Exit Function
  1265. Pdbz:
  1266.       Tsxx = "出现未知错误!"
  1267.      Call Xtxxts(Tsxx, 0, 1)
  1268.      JiTextptpd = False
  1269.      Exit Function
  1270.    
  1271. End Function
  1272. '*******************以上区域为编写自定义过程区域**********************
  1273. '******************以下为基本处理程序(固定不变)************************'
  1274. Private Sub Form_KeyUp(KeyCode As Integer, Shift As Integer)        '支持热键操作
  1275.     If Shift = 2 Then
  1276.         Select Case UCase(Chr(KeyCode))
  1277.             Case "P"                                                                          'Ctrl+P 打印
  1278.                 If SzToolbar.Buttons("dy").Visible And SzToolbar.Buttons("dy").Enabled Then
  1279.                     Call bbyl(False)
  1280.                 End If
  1281.             Case "A"                                                                          'Ctrl+A 增加
  1282.                  '判断用户是否有此功能执行权限,如有则写上机日志(进入)
  1283.                 If Not Security_Log(Str_RightEdit, Xtczybm, 1, True) Then
  1284.                     Exit Sub
  1285.                 End If
  1286.                 If SzToolbar.Buttons("zj").Visible And SzToolbar.Buttons("zj").Enabled Then
  1287.                     Call Toolbjzt
  1288.                     Lrzt = 1
  1289.                     Call Cshlrxx(Lrzt)
  1290.                     LrText(0).Enabled = True
  1291.                     LrText(0).SetFocus
  1292.                 End If
  1293.             Case "D"                                                                          'Ctrl+D 删除
  1294.                 If SzToolbar.Buttons("sc").Visible And SzToolbar.Buttons("sc").Enabled Then
  1295.                     Call Scdqjl
  1296.                 End If
  1297.         End Select
  1298.     End If
  1299.     
  1300. End Sub
  1301. Private Sub SzToolbar_ButtonClick(ByVal Button As MSComctlLib.Button)
  1302.    
  1303.     Select Case Button.Key
  1304.         Case "ymsz"                                          '页面设置
  1305.             Dyymctbl.Show 1
  1306.         Case "yl"                                            '预 览
  1307.             Call bbyl(True)
  1308.         Case "dy"                                            '打 印
  1309.             Call bbyl(False)
  1310.         Case "zj"                                            '增 加
  1311.              '判断用户是否有此功能执行权限,如有则写上机日志(进入)
  1312.             If Not Security_Log(Str_RightEdit, Xtczybm, 1, True) Then
  1313.                 Exit Sub
  1314.             End If
  1315.             Call Toolbjzt
  1316.             Lrzt = 1
  1317.             Call Cshlrxx(Lrzt)
  1318.             LrText(0).Enabled = True
  1319.             LrText(0).SetFocus
  1320.             Ydcommand1(0).Enabled = True
  1321.            
  1322.         Case "xg"                                            '修 改
  1323.             Call Xgdqjl
  1324.         Case "sc"                                            '删 除
  1325.             Call Scdqjl
  1326.         Case "sx"                                            '刷 新
  1327.             Call Cxnrtcwg
  1328.         Case "bz"                                            '帮 助
  1329.             Call F1bz
  1330.         Case "fh"                                            '退 出
  1331.             Unload Me
  1332.         End Select
  1333.         
  1334. End Sub
  1335. Private Sub CzxsGrid_DblClick()                            '修改当前编码记录
  1336.     Call Xgdqjl
  1337.   
  1338. End Sub
  1339. Private Sub Xgdqjl()                                       '修改当前编码记录
  1340.     
  1341.     '判断用户是否有此功能执行权限,如有则写上机日志(进入)
  1342.     If Not Security_Log(Str_RightEdit, Xtczybm, 1, True, False) Then
  1343.         BcCommand.Enabled = False
  1344.     End If
  1345.     
  1346.     If CzxsGrid.Row < CzxsGrid.FixedRows Then
  1347.         Exit Sub
  1348.     End If
  1349.     
  1350.     Call Toolbjzt
  1351.     Lrzt = 2
  1352.     
  1353.     If Cshlrxx(Lrzt) Then
  1354.         LrText(1).SetFocus
  1355.         LrText(0).Enabled = False
  1356.         Ydcommand1(0).Enabled = False
  1357.         
  1358.     End If
  1359.   
  1360. End Sub
  1361. Private Sub Toolbjzt()                                     'Toolbar状态(编辑状态)
  1362.     StTab.TabEnabled(1) = True
  1363.     StTab.Tab = 1
  1364.     Frame1.Enabled = True
  1365.     StTab.TabEnabled(0) = False
  1366.     CzxsGrid.Enabled = False
  1367.     With SzToolbar
  1368.         .Buttons("ymsz").Enabled = False
  1369.         .Buttons("dy").Enabled = False
  1370.         .Buttons("yl").Enabled = False
  1371.         .Buttons("zj").Enabled = False
  1372.         .Buttons("xg").Enabled = False
  1373.         .Buttons("sc").Enabled = False
  1374.         .Buttons("sx").Enabled = False
  1375.     End With
  1376.   
  1377. End Sub
  1378. Private Sub Toolfbjzt()                                    'Toolbar状态(非编辑状态)
  1379.     StTab.TabEnabled(0) = True
  1380.     StTab.Tab = 0
  1381.     CzxsGrid.Enabled = True
  1382.     Frame1.Enabled = False
  1383.     StTab.TabEnabled(1) = False
  1384.     Lrzt = 0
  1385.     
  1386.     With SzToolbar
  1387.         .Buttons("ymsz").Enabled = True
  1388.         .Buttons("dy").Enabled = True
  1389.         .Buttons("yl").Enabled = True
  1390.         .Buttons("zj").Enabled = True
  1391.         .Buttons("xg").Enabled = True
  1392.         .Buttons("sc").Enabled = True
  1393.         .Buttons("sx").Enabled = True
  1394.     End With
  1395.   
  1396. End Sub
  1397. Private Sub BcCommand_Click()                                           '保 存
  1398.     If Not Bclrsj Then
  1399.         Exit Sub
  1400.     End If
  1401.   
  1402.     If Lrzt = 2 Then
  1403.         Call Toolfbjzt
  1404.     End If
  1405.   
  1406. End Sub
  1407. Private Sub QxCommand_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)       '取消
  1408.   
  1409.     '避免执行Click程序
  1410.     Bln_Cancel = True
  1411.   
  1412.     Call Cancel
  1413.     
  1414. End Sub
  1415. Private Sub QxCommand_Click()                                                                         '取消
  1416.  
  1417.     If Bln_Cancel Then
  1418.         Bln_Cancel = False
  1419.         Exit Sub
  1420.     End If
  1421.  
  1422.     Call Cancel
  1423.     
  1424. End Sub
  1425. Private Sub Cancel()                                                                                  '取消
  1426.   
  1427.     '文本框加锁
  1428.     For jsqte = 0 To Max_Text_Index
  1429.         TextValiJudgeLock(jsqte) = True
  1430.     Next jsqte
  1431.   
  1432.     Call Toolfbjzt
  1433.     
  1434. End Sub
  1435. Private Sub CzxsGrid_BeforeMoveColumn(ByVal Col As Long, Position As Long)           '网格列发生移动时自动交换网格索引信息
  1436.     
  1437.     FnBln_RefreshArray Col, Position, GridStr(), GridInf()
  1438. End Sub
  1439. Private Sub GsToolbar_ButtonClick(ByVal Button As MSComctlLib.Button)   '表格格式设置(通用)
  1440.     
  1441.     Select Case Button.Key
  1442.         Case "bcgs"                                       '保存表格格式
  1443.             Call Bcwggs(CzxsGrid, GridCode, GridStr())
  1444.         Case "hfmrgs"                                     '恢复默认格式
  1445.             Call Hfmrgs(CzxsGrid, GridCode, GridStr())
  1446.         Case "szxsxm"                                     '设置显示项目
  1447.             Call Szxsxm(CzxsGrid, GridCode)
  1448.     End Select
  1449.     
  1450. End Sub
  1451. Private Sub bbyl(bbylte As Boolean)                    '报表打印预览
  1452.     Dim Bbzbt$, Bbxbt() As String, bbxbtzzxs() As Integer, Bbxbtgs As Integer
  1453.     Dim Bbbwh() As String, Bbbwhzzxs() As Integer, Bbbwhgs As Integer
  1454.     Bbxbtgs = 1                                          '报 表 小 标 题 行 数
  1455.     Bbbwhgs = 0                                          '报 表 表 尾 行 数
  1456.     ReDim Bbxbt(1 To Bbxbtgs)
  1457.     ReDim bbxbtzzxs(1 To Bbxbtgs)
  1458.     
  1459.     If Bbbwhgs <> 0 Then
  1460.         ReDim Bbbwh(1 To Bbbwhgs)
  1461.         ReDim Bbbwhzzxs(1 To Bbbwhgs)
  1462.     End If
  1463.     
  1464.     Bbzbt = ReportTitle
  1465.     Bbxbt(1) = " "
  1466.     bbxbtzzxs(1) = 0                                     '报表行组织形式(0-居左 1-居中 2-居右)
  1467.     
  1468.     Call Scyxsjb(CzxsGrid)                               '生成报表数据
  1469.     Call Scdybb(Dyymctbl, Bbzbt, Bbxbt(), bbxbtzzxs(), Bbxbtgs, Bbbwh(), Bbbwhzzxs(), Bbbwhgs, bbylte)
  1470.   
  1471.     If Not bbylte Then
  1472.         Unload DY_Tybbyldy
  1473.     End If
  1474.     
  1475. End Sub
  1476. '************以下为文本框录入处理程序(固定不变部分)*************'
  1477. Private Sub Wbklrwbcl(Index As Integer)    '文本框录入事后处理程序
  1478.     '以下为依据实际情况自定义部分[
  1479.   
  1480.         '在此填写文本框录入事后处理程序
  1481.    
  1482.     ']以上为依据实际情况自定义部分
  1483.     
  1484. End Sub
  1485. Private Sub LrText_Change(Index As Integer)
  1486.     '屏蔽程序改变控制
  1487.     If TextChangeLock Then
  1488.         Exit Sub
  1489.     End If
  1490.     
  1491.     TextValiJudgeLock(Index) = False    '打开有效性判断锁
  1492.     
  1493.     '限制字段录入长度
  1494.           
  1495.     TextChangeLock = True  '加锁(防止执行Lrtext_Change)
  1496.      
  1497.     Select Case Textint(Index, 1)
  1498.         Case 8, 11      '金额型
  1499.             Call Sjgskz(LrText(Index), Xtjezws - Xtjexsws - 1, Xtjexsws)
  1500.         Case 9, 12      '数量型
  1501.             Call Sjgskz(LrText(Index), Xtslzws - Xtslxsws - 1, Xtslxsws)
  1502.         Case 10          '单价型
  1503.             Call Sjgskz(LrText(Index), Xtdjzws - Xtdjxsws - 1, Xtdjxsws)
  1504.         Case Else        '其他小数类型控制
  1505.             If Textint(Index, 6) <> 0 Or Textint(Index, 7) <> 0 Then
  1506.                 Call Sjgskz(LrText(Index), Textint(Index, 6), Textint(Index, 7))
  1507.             End If
  1508.     End Select
  1509.         
  1510.     TextChangeLock = False '解锁
  1511.     
  1512. End Sub
  1513. Private Sub LrText_GotFocus(Index As Integer)                                                 '文本框得到焦点,显示相应信息
  1514.    
  1515.     Call TextShow(Index)
  1516.     CurTextIndex = Index
  1517.     LrText(Index).SelStart = Len(LrText(Index))
  1518.    
  1519. End Sub
  1520. Private Sub LrText_KeyDown(Index As Integer, KeyCode As Integer, Shift As Integer)            '字段按F2键提供帮助
  1521.    
  1522.     Select Case KeyCode
  1523.          Case vbKeyF2
  1524.              Call Text_Help(Index)
  1525.     End Select
  1526.    
  1527. End Sub
  1528. Private Sub LrText_KeyPress(Index As Integer, KeyAscii As Integer)                            '文本框录入事中控制
  1529.    
  1530.     Call InputFieldLimit(LrText(Index), Textint(Index, 1), KeyAscii)
  1531. End Sub
  1532. Private Sub LrText_LostFocus(Index As Integer)                                                '文本框失去焦点
  1533.     '显示相应信息但不能进行有效性判断
  1534.   
  1535. End Sub
  1536. Private Sub Ydcommand1_MouseDown(Index As Integer, Button As Integer, Shift As Integer, x As Single, y As Single)     '按钮提供帮助
  1537.     
  1538.     Call Text_Help(Index)
  1539.     
  1540. End Sub
  1541. Private Sub Text_Help(Index As Integer)                                                       '录入字段帮助
  1542.   
  1543.     If Not Textboolean(Index, 1) Then
  1544.         Exit Sub
  1545.     End If
  1546.    
  1547.     '调用帮助
  1548.     Call Drbmhelp(Textint(Index, 2), Textstr(Index, 4), Trim(LrText(Index).Text))
  1549.   
  1550.     '根据设置选择显示编码和名称,并进行存储
  1551.     If Len(Xtfhcs) <> 0 Then
  1552.         If Textint(Index, 3) = 1 Then
  1553.             LrText(Index).Text = Xtfhcsfz
  1554.             LrText(Index).Tag = Xtfhcs
  1555.         Else
  1556.             LrText(Index).Text = Xtfhcs
  1557.             LrText(Index).Tag = Xtfhcsfz
  1558.         End If
  1559.     End If
  1560.    
  1561.     LrText(Index).SetFocus
  1562.     
  1563. End Sub
  1564. Private Sub TextShow(Index As Integer)        '文本框得到焦点,显示相应信息
  1565.     '填写文本框得到焦点,进行相应信息处理程序
  1566.    
  1567. End Sub
  1568. Private Sub Wbkcsh()                          '录入文本框初始化
  1569.     Dim jsqte As Long
  1570.   
  1571.     '最大录入文本框索引值
  1572.     Max_Text_Index = Textvar(1)
  1573.   
  1574.     ReDim TextValiJudgeLock(Max_Text_Index)
  1575.     
  1576.     For jsqte = 0 To Max_Text_Index
  1577.      
  1578.         If Len(Trim(Textstr(jsqte, 1))) <> 0 Then
  1579.             If Textboolean(jsqte, 1) Then
  1580.                 If jsqte <> 0 And Not Textboolean(jsqte, 3) Then
  1581.                     Load Ydcommand1(jsqte)
  1582.                 End If
  1583.                 Ydcommand1(jsqte).Visible = True
  1584.                 Ydcommand1(jsqte).Move LrText(jsqte).Left + LrText(jsqte).Width, LrText(jsqte).Top
  1585.             End If
  1586.             TextChangeLock = True
  1587.             LrText(jsqte).Text = ""
  1588.             LrText(jsqte).Tag = ""
  1589.             
  1590.             If Textint(jsqte, 5) <> 0 Then
  1591.                 LrText(jsqte).MaxLength = Textint(jsqte, 5)
  1592.             End If
  1593.             
  1594.             TextChangeLock = False
  1595.         End If
  1596.         
  1597.         TextValiJudgeLock(jsqte) = True
  1598.     Next jsqte
  1599.     
  1600. End Sub
  1601. Private Function TextYxxpd(Index As Integer) As Boolean           '文本框有效性判断
  1602.     Dim Sqlstr As String
  1603.     Dim Findrec As ADODB.Recordset
  1604.   
  1605.     '文本框内容未曾改变不进行有效性判断
  1606.     If TextValiJudgeLock(Index) Then
  1607.         TextYxxpd = True
  1608.         Exit Function
  1609.     End If
  1610.   
  1611.     '文本框内容为空认为有效,并清空其Tag值
  1612.     If Trim(LrText(Index)) = "" Then
  1613.         LrText(Index).Tag = ""
  1614.         Call Wbklrwbcl(Index)
  1615.         TextValiJudgeLock(Index) = True
  1616.         TextYxxpd = True
  1617.         Exit Function
  1618.     End If
  1619.   
  1620.     '可在此加入不做有效性判断的理由
  1621.   
  1622.     Select Case Textint(Index, 4)
  1623.         Case 1      '编码型
  1624.             Sqlstr = Trim(Textstr(Index, 5))
  1625.             Sqlstr = Replace(Sqlstr, "@", "'" + Trim(LrText(Index).Text) + "'")
  1626.             Set Findrec = Cw_DataEnvi.DataConnect.Execute(Sqlstr)
  1627.          
  1628.             If Findrec.EOF Then
  1629.                 Call Xtxxts(Trim(Textstr(Index, 6)), 0, 1)
  1630.                 LrText(Index).SetFocus
  1631.                 Exit Function
  1632.             Else
  1633.                 Select Case Textint(Index, 3)
  1634.                     Case 0
  1635.                         If Len(Trim(Textstr(Index, 2))) <> 0 Then
  1636.                             LrText(Index).Text = Trim(Findrec.Fields(Trim(Textstr(Index, 2))))
  1637.                         End If
  1638.                         If Len(Trim(Textstr(Index, 3) & "")) <> 0 Then
  1639.                             LrText(Index).Tag = Trim(Findrec.Fields(Trim(Textstr(Index, 3))))
  1640.                         End If
  1641.                     Case 1
  1642.                         If Len(Trim(Textstr(Index, 3) & "")) <> 0 Then
  1643.                             LrText(Index).Text = Trim(Findrec.Fields(Trim(Textstr(Index, 3))))
  1644.                         End If
  1645.                         If Len(Trim(Textstr(Index, 2))) <> 0 Then
  1646.                             LrText(Index).Tag = Trim(Findrec.Fields(Trim(Textstr(Index, 2))))
  1647.                         End If
  1648.                 End Select
  1649.             End If
  1650.             
  1651.         Case 2      '日期型
  1652.             If IsDate(LrText(Index).Text) Then
  1653.                 LrText(Index).Text = Format(LrText(Index).Text, "yyyy-mm-dd")
  1654.                 If Val(Mid(LrText(Index), 1, 4)) < 1900 Then
  1655.                     LrText(Index).Text = "1900" + Mid(LrText(Index), 5, 6)
  1656.                 End If
  1657.             Else
  1658.                 Tsxx = "非法公历日期!(格式:" + Format(Date, "yyyy-mm-dd") + ")"
  1659.                 Call Xtxxts(Tsxx, 0, 1)
  1660.                 LrText(Index).SetFocus
  1661.                 Exit Function
  1662.             End If
  1663.             
  1664.         Case 3      '其他类型
  1665.             If Index = 0 Then
  1666.                 If Len(LrText(Index).Text) <> 7 And Len(LrText(Index).Text) <> 8 Then
  1667.                      Tsxx = "车号只能是7位或8位数字或字符!"
  1668.                      Call Xtxxts(Tsxx, 0, 1)
  1669.                      LrText(Index).SetFocus
  1670.                      Exit Function
  1671.                 End If
  1672.             End If
  1673.         
  1674.     End Select
  1675.     
  1676.     '如果有效则加锁,用户不改变内容则不再进行有效性判断
  1677.     TextValiJudgeLock(Index) = True
  1678.     '调用文本框事后处理程序
  1679.     Call Wbklrwbcl(Index)
  1680.    
  1681.     '有效性判断通过则返回True
  1682.     TextYxxpd = True
  1683.    
  1684. End Function