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

企业管理

开发平台:

Visual Basic

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