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

企业管理

开发平台:

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