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

企业管理

开发平台:

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. Begin VB.Form JC_FrmDlzszSub 
  5.    Caption         =   "多栏帐栏目设置"
  6.    ClientHeight    =   6270
  7.    ClientLeft      =   60
  8.    ClientTop       =   345
  9.    ClientWidth     =   10245
  10.    HelpContextID   =   111012001
  11.    Icon            =   "基础设置_多栏帐栏目设置.frx":0000
  12.    KeyPreview      =   -1  'True
  13.    LinkTopic       =   "Form2"
  14.    MaxButton       =   0   'False
  15.    MinButton       =   0   'False
  16.    ScaleHeight     =   6270
  17.    ScaleWidth      =   10245
  18.    StartUpPosition =   2  '屏幕中心
  19.    Begin VB.PictureBox Pic_Title 
  20.       Height          =   1065
  21.       Left            =   60
  22.       Picture         =   "基础设置_多栏帐栏目设置.frx":1042
  23.       ScaleHeight     =   1005
  24.       ScaleWidth      =   10095
  25.       TabIndex        =   5
  26.       Top             =   570
  27.       Width           =   10155
  28.       Begin VB.Label tsLabel 
  29.          BackColor       =   &H80000018&
  30.          BackStyle       =   0  'Transparent
  31.          Caption         =   "多栏帐栏目设置"
  32.          BeginProperty Font 
  33.             Name            =   "宋体"
  34.             Size            =   14.25
  35.             Charset         =   134
  36.             Weight          =   700
  37.             Underline       =   0   'False
  38.             Italic          =   0   'False
  39.             Strikethrough   =   0   'False
  40.          EndProperty
  41.          ForeColor       =   &H00000000&
  42.          Height          =   375
  43.          Index           =   4
  44.          Left            =   450
  45.          TabIndex        =   12
  46.          Top             =   210
  47.          Width           =   2235
  48.       End
  49.       Begin VB.Label Lab_Tjxm 
  50.          AutoSize        =   -1  'True
  51.          BackStyle       =   0  'Transparent
  52.          Caption         =   "多栏帐编码:"
  53.          Height          =   180
  54.          Index           =   0
  55.          Left            =   510
  56.          TabIndex        =   11
  57.          Top             =   780
  58.          Width           =   990
  59.       End
  60.       Begin VB.Label Lab_AccMultiCode 
  61.          AutoSize        =   -1  'True
  62.          BackStyle       =   0  'Transparent
  63.          ForeColor       =   &H00000000&
  64.          Height          =   180
  65.          Left            =   1620
  66.          TabIndex        =   10
  67.          Top             =   780
  68.          Width           =   960
  69.       End
  70.       Begin VB.Label Lab_Tjxm 
  71.          AutoSize        =   -1  'True
  72.          BackStyle       =   0  'Transparent
  73.          Caption         =   "多栏帐名称:"
  74.          Height          =   180
  75.          Index           =   1
  76.          Left            =   2610
  77.          TabIndex        =   9
  78.          Top             =   780
  79.          Width           =   990
  80.       End
  81.       Begin VB.Label Lab_AccMultiName 
  82.          AutoSize        =   -1  'True
  83.          BackStyle       =   0  'Transparent
  84.          ForeColor       =   &H00000000&
  85.          Height          =   180
  86.          Left            =   3720
  87.          TabIndex        =   8
  88.          Top             =   780
  89.          Width           =   2520
  90.       End
  91.       Begin VB.Label Lab_Tjxm 
  92.          AutoSize        =   -1  'True
  93.          BackStyle       =   0  'Transparent
  94.          Caption         =   "核算科目:"
  95.          Height          =   180
  96.          Index           =   2
  97.          Left            =   6060
  98.          TabIndex        =   7
  99.          Top             =   780
  100.          Width           =   810
  101.       End
  102.       Begin VB.Label Lab_Ccode 
  103.          AutoSize        =   -1  'True
  104.          BackStyle       =   0  'Transparent
  105.          ForeColor       =   &H00000000&
  106.          Height          =   180
  107.          Left            =   6960
  108.          TabIndex        =   6
  109.          Top             =   780
  110.          Width           =   1260
  111.       End
  112.    End
  113.    Begin VB.CommandButton Ydcommand 
  114.       Height          =   289
  115.       Left            =   9300
  116.       Picture         =   "基础设置_多栏帐栏目设置.frx":35106
  117.       Style           =   1  'Graphical
  118.       TabIndex        =   3
  119.       Top             =   720
  120.       Visible         =   0   'False
  121.       Width           =   285
  122.    End
  123.    Begin VB.ComboBox YdCombo 
  124.       Height          =   300
  125.       Left            =   9900
  126.       Style           =   2  'Dropdown List
  127.       TabIndex        =   2
  128.       Top             =   1140
  129.       Visible         =   0   'False
  130.       Width           =   1155
  131.    End
  132.    Begin VB.TextBox Ydtext 
  133.       BackColor       =   &H00C0FFFF&
  134.       BorderStyle     =   0  'None
  135.       Height          =   330
  136.       Left            =   9660
  137.       MultiLine       =   -1  'True
  138.       TabIndex        =   1
  139.       Top             =   690
  140.       Visible         =   0   'False
  141.       Width           =   1185
  142.    End
  143.    Begin VSFlex8Ctl.VSFlexGrid WglrGrid 
  144.       Height          =   4545
  145.       Left            =   0
  146.       TabIndex        =   0
  147.       Top             =   1680
  148.       Width           =   10185
  149.       _cx             =   5080
  150.       _cy             =   5080
  151.       Appearance      =   1
  152.       BorderStyle     =   1
  153.       Enabled         =   -1  'True
  154.       BeginProperty Font {0BE35203-8F91-11CE-9DE3-00AA004BB851} 
  155.          Name            =   "宋体"
  156.          Size            =   9
  157.          Charset         =   134
  158.          Weight          =   400
  159.          Underline       =   0   'False
  160.          Italic          =   0   'False
  161.          Strikethrough   =   0   'False
  162.       EndProperty
  163.       MousePointer    =   0
  164.       BackColor       =   16777215
  165.       ForeColor       =   -2147483640
  166.       BackColorFixed  =   12632256
  167.       ForeColorFixed  =   -2147483630
  168.       BackColorSel    =   -2147483635
  169.       ForeColorSel    =   -2147483634
  170.       BackColorBkg    =   -2147483636
  171.       BackColorAlternate=   16777215
  172.       GridColor       =   -2147483633
  173.       GridColorFixed  =   -2147483632
  174.       TreeColor       =   -2147483632
  175.       FloodColor      =   192
  176.       SheetBorder     =   -2147483642
  177.       FocusRect       =   1
  178.       HighLight       =   1
  179.       AllowSelection  =   -1  'True
  180.       AllowBigSelection=   -1  'True
  181.       AllowUserResizing=   0
  182.       SelectionMode   =   0
  183.       GridLines       =   1
  184.       GridLinesFixed  =   2
  185.       GridLineWidth   =   1
  186.       Rows            =   50
  187.       Cols            =   10
  188.       FixedRows       =   1
  189.       FixedCols       =   1
  190.       RowHeightMin    =   0
  191.       RowHeightMax    =   0
  192.       ColWidthMin     =   0
  193.       ColWidthMax     =   0
  194.       ExtendLastCol   =   0   'False
  195.       FormatString    =   ""
  196.       ScrollTrack     =   0   'False
  197.       ScrollBars      =   3
  198.       ScrollTips      =   0   'False
  199.       MergeCells      =   0
  200.       MergeCompare    =   0
  201.       AutoResize      =   -1  'True
  202.       AutoSizeMode    =   0
  203.       AutoSearch      =   0
  204.       AutoSearchDelay =   2
  205.       MultiTotals     =   -1  'True
  206.       SubtotalPosition=   1
  207.       OutlineBar      =   0
  208.       OutlineCol      =   0
  209.       Ellipsis        =   0
  210.       ExplorerBar     =   0
  211.       PicturesOver    =   0   'False
  212.       FillStyle       =   0
  213.       RightToLeft     =   0   'False
  214.       PictureType     =   0
  215.       TabBehavior     =   0
  216.       OwnerDraw       =   0
  217.       Editable        =   0
  218.       ShowComboButton =   1
  219.       WordWrap        =   0   'False
  220.       TextStyle       =   0
  221.       TextStyleFixed  =   0
  222.       OleDragMode     =   0
  223.       OleDropMode     =   0
  224.       DataMode        =   0
  225.       VirtualData     =   -1  'True
  226.       DataMember      =   ""
  227.       ComboSearch     =   3
  228.       AutoSizeMouse   =   -1  'True
  229.       FrozenRows      =   0
  230.       FrozenCols      =   0
  231.       AllowUserFreezing=   0
  232.       BackColorFrozen =   0
  233.       ForeColorFrozen =   0
  234.       WallPaperAlignment=   9
  235.       AccessibleName  =   ""
  236.       AccessibleDescription=   ""
  237.       AccessibleValue =   ""
  238.       AccessibleRole  =   24
  239.    End
  240.    Begin MSComctlLib.Toolbar Tlb_Action 
  241.       Align           =   1  'Align Top
  242.       Height          =   555
  243.       Left            =   0
  244.       TabIndex        =   13
  245.       Top             =   0
  246.       Width           =   10245
  247.       _ExtentX        =   18071
  248.       _ExtentY        =   979
  249.       ButtonWidth     =   820
  250.       ButtonHeight    =   926
  251.       AllowCustomize  =   0   'False
  252.       Wrappable       =   0   'False
  253.       Appearance      =   1
  254.       HelpContextID   =   111012001
  255.       Style           =   1
  256.       ImageList       =   "ImageList1"
  257.       _Version        =   393216
  258.       BeginProperty Buttons {66833FE8-8583-11D1-B16A-00C0F0283628} 
  259.          NumButtons      =   9
  260.          BeginProperty Button1 {66833FEA-8583-11D1-B16A-00C0F0283628} 
  261.             Caption         =   "增行"
  262.             Key             =   "zh"
  263.             Object.ToolTipText     =   "插入一行或Insert"
  264.             ImageKey        =   "zh"
  265.          EndProperty
  266.          BeginProperty Button2 {66833FEA-8583-11D1-B16A-00C0F0283628} 
  267.             Caption         =   "删行"
  268.             Key             =   "sh"
  269.             Object.ToolTipText     =   "删除当前记录行或Delete"
  270.             ImageKey        =   "sh"
  271.          EndProperty
  272.          BeginProperty Button3 {66833FEA-8583-11D1-B16A-00C0F0283628} 
  273.             Style           =   3
  274.          EndProperty
  275.          BeginProperty Button4 {66833FEA-8583-11D1-B16A-00C0F0283628} 
  276.             Caption         =   "自动"
  277.             Key             =   "zd"
  278.             ImageKey        =   "zd"
  279.          EndProperty
  280.          BeginProperty Button5 {66833FEA-8583-11D1-B16A-00C0F0283628} 
  281.             Key             =   "fgh1"
  282.             Style           =   3
  283.          EndProperty
  284.          BeginProperty Button6 {66833FEA-8583-11D1-B16A-00C0F0283628} 
  285.             Caption         =   "保存"
  286.             Key             =   "bc"
  287.             Object.ToolTipText     =   "保存单据或F6"
  288.             ImageKey        =   "bc"
  289.          EndProperty
  290.          BeginProperty Button7 {66833FEA-8583-11D1-B16A-00C0F0283628} 
  291.             Key             =   "fgh5"
  292.             Style           =   3
  293.          EndProperty
  294.          BeginProperty Button8 {66833FEA-8583-11D1-B16A-00C0F0283628} 
  295.             Caption         =   "帮助"
  296.             Key             =   "bz"
  297.             ImageKey        =   "bz"
  298.          EndProperty
  299.          BeginProperty Button9 {66833FEA-8583-11D1-B16A-00C0F0283628} 
  300.             Caption         =   "退出"
  301.             Key             =   "fh"
  302.             ImageKey        =   "tc"
  303.          EndProperty
  304.       EndProperty
  305.       BorderStyle     =   1
  306.       Begin MSComctlLib.Toolbar GsToolbar 
  307.          Height          =   525
  308.          Left            =   8550
  309.          TabIndex        =   14
  310.          Top             =   0
  311.          Width           =   1665
  312.          _ExtentX        =   2937
  313.          _ExtentY        =   926
  314.          ButtonWidth     =   1455
  315.          ButtonHeight    =   926
  316.          AllowCustomize  =   0   'False
  317.          Appearance      =   1
  318.          Style           =   1
  319.          ImageList       =   "ImageList1"
  320.          _Version        =   393216
  321.          BeginProperty Buttons {66833FE8-8583-11D1-B16A-00C0F0283628} 
  322.             NumButtons      =   2
  323.             BeginProperty Button1 {66833FEA-8583-11D1-B16A-00C0F0283628} 
  324.                Caption         =   "保存格式"
  325.                Key             =   "bcgs"
  326.                ImageKey        =   "bcgs"
  327.             EndProperty
  328.             BeginProperty Button2 {66833FEA-8583-11D1-B16A-00C0F0283628} 
  329.                Caption         =   "默认列宽"
  330.                Key             =   "hfmrgs"
  331.                ImageKey        =   "mrlk"
  332.             EndProperty
  333.          EndProperty
  334.       End
  335.    End
  336.    Begin MSComctlLib.ImageList ImageList1 
  337.       Left            =   0
  338.       Top             =   960
  339.       _ExtentX        =   1005
  340.       _ExtentY        =   1005
  341.       BackColor       =   -2147483643
  342.       ImageWidth      =   16
  343.       ImageHeight     =   16
  344.       MaskColor       =   12632256
  345.       _Version        =   393216
  346.       BeginProperty Images {2C247F25-8591-11D1-B16A-00C0F0283628} 
  347.          NumListImages   =   25
  348.          BeginProperty ListImage1 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  349.             Picture         =   "基础设置_多栏帐栏目设置.frx":35490
  350.             Key             =   "sz"
  351.          EndProperty
  352.          BeginProperty ListImage2 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  353.             Picture         =   "基础设置_多栏帐栏目设置.frx":3582A
  354.             Key             =   "dy"
  355.          EndProperty
  356.          BeginProperty ListImage3 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  357.             Picture         =   "基础设置_多栏帐栏目设置.frx":35BC4
  358.             Key             =   "yl"
  359.          EndProperty
  360.          BeginProperty ListImage4 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  361.             Picture         =   "基础设置_多栏帐栏目设置.frx":35F5E
  362.             Key             =   "xg"
  363.          EndProperty
  364.          BeginProperty ListImage5 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  365.             Picture         =   "基础设置_多栏帐栏目设置.frx":362F8
  366.             Key             =   "zh"
  367.          EndProperty
  368.          BeginProperty ListImage6 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  369.             Picture         =   "基础设置_多栏帐栏目设置.frx":36692
  370.             Key             =   "sh"
  371.          EndProperty
  372.          BeginProperty ListImage7 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  373.             Picture         =   "基础设置_多栏帐栏目设置.frx":36A2C
  374.             Key             =   "bc"
  375.          EndProperty
  376.          BeginProperty ListImage8 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  377.             Picture         =   "基础设置_多栏帐栏目设置.frx":36DC6
  378.             Key             =   "fq"
  379.          EndProperty
  380.          BeginProperty ListImage9 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  381.             Picture         =   "基础设置_多栏帐栏目设置.frx":37160
  382.             Key             =   "bz"
  383.          EndProperty
  384.          BeginProperty ListImage10 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  385.             Picture         =   "基础设置_多栏帐栏目设置.frx":374FA
  386.             Key             =   "tc"
  387.          EndProperty
  388.          BeginProperty ListImage11 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  389.             Picture         =   "基础设置_多栏帐栏目设置.frx":37894
  390.             Key             =   "bcgs"
  391.          EndProperty
  392.          BeginProperty ListImage12 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  393.             Picture         =   "基础设置_多栏帐栏目设置.frx":37C2E
  394.             Key             =   "mrlk"
  395.          EndProperty
  396.          BeginProperty ListImage13 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  397.             Picture         =   "基础设置_多栏帐栏目设置.frx":37FC8
  398.             Key             =   "xsxm"
  399.          EndProperty
  400.          BeginProperty ListImage14 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  401.             Picture         =   "基础设置_多栏帐栏目设置.frx":38362
  402.             Key             =   "first"
  403.          EndProperty
  404.          BeginProperty ListImage15 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  405.             Picture         =   "基础设置_多栏帐栏目设置.frx":386FC
  406.             Key             =   "prev"
  407.          EndProperty
  408.          BeginProperty ListImage16 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  409.             Picture         =   "基础设置_多栏帐栏目设置.frx":38A96
  410.             Key             =   "next"
  411.          EndProperty
  412.          BeginProperty ListImage17 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  413.             Picture         =   "基础设置_多栏帐栏目设置.frx":38E30
  414.             Key             =   "last"
  415.          EndProperty
  416.          BeginProperty ListImage18 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  417.             Picture         =   "基础设置_多栏帐栏目设置.frx":391CA
  418.             Key             =   "xx"
  419.          EndProperty
  420.          BeginProperty ListImage19 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  421.             Picture         =   "基础设置_多栏帐栏目设置.frx":39564
  422.             Key             =   "define"
  423.          EndProperty
  424.          BeginProperty ListImage20 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  425.             Picture         =   "基础设置_多栏帐栏目设置.frx":398FE
  426.             Key             =   "exec"
  427.          EndProperty
  428.          BeginProperty ListImage21 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  429.             Picture         =   "基础设置_多栏帐栏目设置.frx":39C98
  430.             Key             =   "xz"
  431.          EndProperty
  432.          BeginProperty ListImage22 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  433.             Picture         =   "基础设置_多栏帐栏目设置.frx":3A032
  434.             Key             =   "sc"
  435.          EndProperty
  436.          BeginProperty ListImage23 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  437.             Picture         =   "基础设置_多栏帐栏目设置.frx":3A3CC
  438.             Key             =   "sx"
  439.          EndProperty
  440.          BeginProperty ListImage24 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  441.             Picture         =   "基础设置_多栏帐栏目设置.frx":3A766
  442.             Key             =   "cx"
  443.          EndProperty
  444.          BeginProperty ListImage25 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  445.             Picture         =   "基础设置_多栏帐栏目设置.frx":3AB00
  446.             Key             =   "zd"
  447.          EndProperty
  448.       EndProperty
  449.    End
  450.    Begin VB.Label Lab_OperStatus 
  451.       BackColor       =   &H000080FF&
  452.       Caption         =   "1"
  453.       Height          =   345
  454.       Left            =   9300
  455.       TabIndex        =   4
  456.       Top             =   1140
  457.       Visible         =   0   'False
  458.       Width           =   345
  459.    End
  460. End
  461. Attribute VB_Name = "JC_FrmDlzszSub"
  462. Attribute VB_GlobalNameSpace = False
  463. Attribute VB_Creatable = False
  464. Attribute VB_PredeclaredId = True
  465. Attribute VB_Exposed = False
  466. '*******************************************************
  467. '*    模 块 名 称 :多栏帐目录设置
  468. '*    功 能 描 述 :
  469. '*    程序员姓名  :张建忠
  470. '*    最后修改人  :张建忠
  471. '*    最后修改时间:2001/03/23
  472. '*    备        注:
  473. '*******************************************************
  474.  '以下为自定义变量
  475.  '
  476.     Dim Str_AccMultiCode As String                  '多栏帐类别编码
  477.     Dim Bln_BillChange As Boolean                   '标识单据是否发生改动
  478.     Dim Bln_Right As Boolean                        '是否有权限变量
  479.     
  480.  '以下为固定使用变量(网格)
  481.     Dim Cxnrrec As New ADODB.Recordset              '显示查询内容动态集
  482.     Dim Dyymctbl As New DY_Dyymsz                   '打印页面窗体变量
  483.     Dim GridCode As String                          '显示网格网格代码
  484.     Dim GridInf() As Variant                        '整个网格设置信息
  485.     Dim ReportTitle As String                       '报表主标题
  486.     Dim Tsxx As String                              '系统提示信息
  487.     Dim Pmbcsjhs As Long                            '屏幕网格保持数据行数(大于等于1)
  488.     Dim Fzxwghs As Integer                          '辅助项网格行数(包括合计行)
  489.     Dim Sfxshjwg As Boolean                         '是否显示合计网格
  490.     Dim Qslz As Long                                '网格隐藏(非操作显示)列数
  491.     Dim Sjhgd As Double                             '网格数据行高度
  492.     Dim GridBoolean() As Boolean                    '网格列信息(布尔型)
  493.     Dim GridStr()  As String                        '网格列信息(字符型)
  494.     Dim GridInt() As Integer                        '网格列信息(整型)
  495.     Dim Sfblbzkd As Boolean                         '是否保留帮助宽度(字段提供帮助时,是否为按钮保留空间)
  496.     Dim Dqlrwgh As Long                             '当前录入数据网格行
  497.     Dim Dqlrwgl As Long                             '当前录入数据网格列
  498.     Dim Dqlkwgh As Long                             '刚刚离开网格行(不一定为录入行)
  499.     Dim Dqlkwgl As Long                             '刚刚离开网格列
  500.     Dim Dqtoprow As Long                            '当前录入状态时最上端可视行
  501.     Dim Dqleftcol As Long                           '当前录入状态时最左端可视列
  502.     Dim Zdlrqnr As String                           '字段录入修改前内容(用来判断内容是否修改)
  503.     Dim Wbkbhlock As Boolean                        '文本框改变值锁
  504.     Dim changelock As Boolean                       '网格行列改变控制锁(用来区别用户改变.程序改变)
  505.     Dim Gdtlock As Boolean                          '滚动条滚动控制(用来区别用户改变.程序改变)
  506.     Dim Yxxpdlock As Boolean                        '字段有效性判断锁(内容不修改不需进行字段有效性判断)
  507.     Dim Hyxxpdlock As Boolean                       '行有效性判断锁(字段内容不修改不需进行行有效性判断)
  508.     Dim Valilock As Boolean                         '文本框失去焦点是否进行有效性控制(TRUE 为锁定*限用网格录入)
  509.     Dim Shsfts As Boolean                           '删除记录行是否提示
  510.     Dim Szzls As Integer                            '网格信息数组最大下标值(网格列数-1)
  511. Private Sub Form_KeyPress(KeyAscii As Integer)      '控制焦点转移和限制录入字符"'"
  512.     Select Case KeyAscii
  513.     Case 39           '屏蔽字符"'"
  514.         KeyAscii = 0
  515.     End Select
  516. End Sub
  517. Private Sub Form_Load()                              '窗 体 装 入
  518.     Dim RecTemp As New ADODB.Recordset     '临时使用动态集
  519.     
  520.     Me.HelpContextID = "0111012"
  521.     '读入多栏帐编码
  522.     Str_AccMultiCode = Xtcdcs
  523.     Set RecTemp = Cw_DataEnvi.DataConnect.Execute("Select * From Cwzz_accmultimain where accmulticode = '" + Str_AccMultiCode + "'")
  524.     With RecTemp
  525.         If Not .EOF Then
  526.             Lab_AccMultiCode.Caption = Trim(.Fields("AccMultiCode"))
  527.             Lab_AccMultiName.Caption = Trim(.Fields("AccMultiName"))
  528.             Lab_Ccode.Caption = Trim(.Fields("Ccode"))
  529.         End If
  530.     End With
  531.     
  532.     '初始化各种锁值
  533.     changelock = False             '网格行列改变控制锁
  534.     Gdtlock = False                '滚动条滚动控制
  535.     Yxxpdlock = True               '字段有效性判断锁
  536.     Hyxxpdlock = True              '行有效性判断锁
  537.     Wbkbhlock = False              '文本框内容改变锁
  538.     
  539.     '调 入 网 格
  540.     GridCode = "Cwzz_DlzlmszSub"   '网格属性编码
  541.     Call BzWgcsh(WglrGrid, GridCode, GridInf(), GridBoolean(), GridInt(), GridStr())
  542.     
  543.     Qslz = GridInf(1)
  544.     Sjhgd = GridInf(2)
  545.     Pmbcsjhs = GridInf(3)
  546.     Fzxwghs = GridInf(4)
  547.     Sfblbzkd = GridInf(5)
  548.     Shsfts = GridInf(6)
  549.     Sfxshjwg = GridInf(7)
  550.     Szzls = WglrGrid.Cols - 1
  551.     
  552.     '生成查询结果
  553.     Call Sub_Query
  554.     
  555.     '设置状态为修改状态
  556.     Lab_OperStatus = "2"
  557.     
  558.     '调整标题位置
  559.     SetTitlePos tsLabel(4)
  560.     '判断用户是否有此功能执行权限,给变量赋值
  561.     Bln_Right = Security_Log("Cwzz_dlzlmsz_Child", Xtczybm, 1, True)
  562.     
  563. End Sub
  564. Private Sub Form_Unload(Cancel As Integer)           '窗体卸载
  565.     Dim YAnswer As Integer
  566.     
  567.     '多栏帐栏目发生变化提示保存
  568.     If Bln_BillChange Then
  569.         Tsxx = "多栏帐栏目发生变化,是否保存?"
  570.         Yhanswer = Xtxxts(Tsxx, 2, 2)
  571.         If Yhanswer = 1 Then
  572.             If Not Fun_Drfrmyxxpd Then
  573.                 Cancel = 1
  574.                 Exit Sub
  575.             Else
  576.                 Call Sub_SaveEdit
  577.             End If
  578.         End If
  579.     End If
  580.     
  581.     '卸载打印页面窗体
  582.     Unload Dyymctbl
  583.     
  584. End Sub
  585. Private Sub Sub_Query()                              '生成查询结果
  586.     Dim Sqlstr As String                   '查询字符串
  587.     Dim RecTemp As New ADODB.Recordset     '临时使用动态集
  588.     Dim Jsqte  As Long                     '临时计数器
  589.     
  590.     Sqlstr = "SELECT Cwzz_AccMultiItem.*,Cwzz_AccCode.Cname FROM Cwzz_AccMultiItem LEFT OUTER JOIN" & _
  591.     " Cwzz_AccCode ON Cwzz_AccMultiItem.Ccode = Cwzz_AccCode.Ccode Where AccMultiCode='" & Str_AccMultiCode & "' Order By AccMultiItemID"
  592.     
  593.     Set RecTemp = Cw_DataEnvi.DataConnect.Execute(Sqlstr)
  594.     
  595.     With RecTemp
  596.         
  597.         WglrGrid.Clear 1
  598.         
  599.         WglrGrid.Rows = .RecordCount + WglrGrid.FixedRows
  600.         
  601.         Jsqte = WglrGrid.FixedRows
  602.         Do While Not .EOF
  603.             If Jsqte >= WglrGrid.Rows Then
  604.                 WglrGrid.AddItem ""
  605.             End If
  606.             
  607.             WglrGrid.TextMatrix(Jsqte, 0) = "*"                                                              '有效记录标识
  608.             
  609.             WglrGrid.TextMatrix(Jsqte, Sydz("001", GridStr(), Szzls)) = Trim(.Fields("Ccode") & "")          '核算科目
  610.             WglrGrid.TextMatrix(Jsqte, Sydz("002", GridStr(), Szzls)) = Trim(.Fields("Cname") & "")          '科目名称
  611.             WglrGrid.TextMatrix(Jsqte, Sydz("003", GridStr(), Szzls)) = Trim(.Fields("ItemName") & "")       '栏目名称
  612.             WglrGrid.TextMatrix(Jsqte, Sydz("004", GridStr(), Szzls)) = Trim(.Fields("AnalyseOri") & "")     '分析方向
  613.             
  614.             '<<]
  615.             WglrGrid.RowHeight(Jsqte) = Sjhgd
  616.             .MoveNext
  617.             Jsqte = Jsqte + 1
  618.         Loop
  619.     End With
  620.     
  621.     '调整网格
  622.     Call Sub_AdjustGrid
  623.     
  624. End Sub
  625. Private Sub WglrGrid_BeforeMoveColumn(ByVal Col As Long, Position As Long)           '网格列发生移动时自动交换网格索引信息
  626.     
  627.     Call FnBln_RefreshArray(Col, Position, GridStr(), GridInf())
  628.     
  629. End Sub
  630. Private Sub GsToolbar_ButtonClick(ByVal Button As MSComctlLib.Button)   '表格格式设置(通用)
  631.     
  632.     Select Case Button.Key
  633.     Case "bcgs"                                       '保存表格格式
  634.         Call Bcwggs(WglrGrid, GridCode, GridStr())
  635.     Case "hfmrgs"                                     '恢复默认格式
  636.         Call Hfmrgs(WglrGrid, GridCode, GridStr())
  637.     Case "szxsxm"                                     '设置显示项目
  638.         Call Szxsxm(WglrGrid, GridCode)
  639.     End Select
  640.     
  641. End Sub
  642. Private Sub Tlb_Action_ButtonClick(ByVal Button As MSComctlLib.Button)             '用户点击工具条
  643.     
  644.     '屏蔽文本框,下拉组合框有效性判断
  645.     
  646.     Valilock = True
  647.     
  648.     '屏蔽网格失去焦点产生的有效性判断
  649.     
  650.     changelock = True
  651.     
  652.     Select Case Button.Key
  653.     Case "zh"                                            '增 行
  654.         Call zjlrfl
  655.     Case "sh"                                            '删 行
  656.         Call Scdqfl
  657.     Case "zd"                                            '自 动
  658.         Call Sub_AutoEdit
  659.     Case "bc"                                            '保 存
  660.         If Fun_Drfrmyxxpd Then
  661.             Call Sub_SaveEdit
  662.         End If
  663.     Case "bz"                                            '帮 助
  664.         Call F1bz
  665.     Case "fh"                                            '退 出
  666.         Unload Me
  667.     End Select
  668.     
  669.     '解 锁
  670.     Valilock = False
  671.     changelock = False
  672.     
  673. End Sub
  674. Private Sub Wbkcl()                                                 '文本框录入之前处理(根据实际情况)
  675.     Dim xswbrr As String
  676.     With WglrGrid
  677.         Zdlrqnr = Trim(.Text)
  678.         xswbrr = Trim(.Text)
  679.         
  680.         If GridBoolean(.Col, 3) Then   '列表框录入
  681.             
  682.             '填充列表框程序
  683.             Call FillCombo(YdCombo, GridStr(.Col, 5), xswbrr, 0)
  684.         Else
  685.             Wbkbhlock = True
  686.             
  687.             '====以下为用户自定义
  688.             Ydtext.Text = xswbrr
  689.             '====以上为用户自定义
  690.             
  691.             Wbkbhlock = False
  692.             Ydtext.SelStart = Len(Ydtext.Text)
  693.         End If
  694.     End With
  695. End Sub
  696. Private Function sjzdyxxpd(Dqpdwgh As Long, Dqpdwgl As Long)        '录入数据字段有效性判断,同时进行字段录入事后处理
  697.     Dim Str_JudgeText As String  '临时有效性判断字段内容
  698.     Dim Coljsq As Long           '临时列计数器
  699.     Dim RecTemp As New ADODB.Recordset     '临时使用动态集
  700.     Dim Str_ItemName As String             '栏目名称
  701.     Dim Str_ParentCode As String           '上级科目编码
  702.     
  703.     With WglrGrid
  704.         
  705.         '非录入状态有效性为合法
  706.         If Yxxpdlock Or .Row < .FixedRows Then
  707.             sjzdyxxpd = True
  708.             Exit Function
  709.         End If
  710.         
  711.         Str_JudgeText = Trim(.TextMatrix(Dqpdwgh, Dqpdwgl))
  712.         Select Case GridStr(Dqpdwgl, 1)
  713.             
  714.             '以下为自定义部分[
  715.             '1.放置字段有效性判断程序
  716.         Case "001"          '核算科目
  717.             If Len(Str_JudgeText) <> 0 Then
  718.                 Sqlstr = "Select Cwzz_AccCode.Ccode,Cwzz_AccCode.Cname,BalanceOri,ParentCode FROM  Cwzz_AccCode " & _
  719.                 " Where Ccode='" & Str_JudgeText & "' OR AssCode='" & Str_JudgeText & "'"
  720.                 Set RecTemp = Cw_DataEnvi.DataConnect.Execute(Sqlstr)
  721.                 With RecTemp
  722.                     If .EOF Then
  723.                         Tsxx = "此科目不存在!"
  724.                         GoTo Lrcwcl
  725.                     End If
  726.                 End With
  727.                 
  728.                 For Jsqte = .FixedRows To .Rows - 1
  729.                     If WglrGrid.TextMatrix(Jsqte, Sydz("001", GridStr(), Szzls)) = Trim(RecTemp.Fields("Ccode")) And Dqpdwgh <> Jsqte Then
  730.                         Tsxx = "核算科目重复!"
  731.                         GoTo Lrcwcl
  732.                     End If
  733.                 Next Jsqte
  734.                 
  735.                 '显示科目名称,得栏目名称和分析方向
  736.                 WglrGrid.TextMatrix(Dqpdwgh, Sydz("001", GridStr(), Szzls)) = Trim(RecTemp.Fields("Ccode"))
  737.                 WglrGrid.TextMatrix(Dqpdwgh, Sydz("002", GridStr(), Szzls)) = Trim(RecTemp.Fields("Cname"))
  738.                 WglrGrid.TextMatrix(Dqpdwgh, Sydz("004", GridStr(), Szzls)) = Trim(RecTemp.Fields("BalanceOri"))
  739.                 Str_ItemName = Trim(RecTemp.Fields("Cname"))
  740.                 Str_ParentCode = Trim(RecTemp.Fields("ParentCode") & "")
  741.                 Sqlstr = "Select Cwzz_AccCode.Cname FROM  Cwzz_AccCode " & _
  742.                 " Where Ccode='" & Str_ParentCode & "'"
  743.                 Set RecTemp = Cw_DataEnvi.DataConnect.Execute(Sqlstr)
  744.                 If Not RecTemp.EOF Then
  745.                     Str_ItemName = Mid(Replace(Str_ItemName, Trim(RecTemp.Fields("Cname")) & "/", ""), 1, 20)
  746.                 End If
  747.                 WglrGrid.TextMatrix(Dqpdwgh, Sydz("003", GridStr(), Szzls)) = Str_ItemName
  748.                 
  749.             End If
  750.             
  751.             
  752.             '2.放置字段事后处理程序
  753.             
  754.             '以上为自定义部分]
  755.             
  756.         End Select
  757.         
  758.         '字段录入正确后为零字段清空
  759.         Call Qkwlzd(Dqpdwgh, Dqpdwgl)
  760.         
  761.         sjzdyxxpd = True
  762.         Yxxpdlock = True
  763.         Exit Function
  764.     End With
  765.     
  766. Lrcwcl:    '录入错误处理
  767.     With WglrGrid
  768.         Call Xtxxts(Tsxx, 0, 1)
  769.         changelock = True
  770.         .Select Dqpdwgh, Dqpdwgl
  771.         changelock = False
  772.         Call xswbk
  773.         sjzdyxxpd = False
  774.         Exit Function
  775.     End With
  776. End Function
  777. Private Function Sjhzyxxpd(ByVal Yxxpdh As Long) As Boolean                  '录入数据行有效性判断,同时进行行处理
  778.     Dim Lrywlz As Long
  779.     Dim RecTemp As New ADODB.Recordset             '临时使用动态集
  780.     Dim Sqlstr As String                           '临时连接字符串
  781.     
  782.     With WglrGrid
  783.         
  784.         '判断行为空和无效数据行则清除当前行
  785.         If Yxxpdh > (.Rows - .FixedRows) Then Exit Function
  786.         If .TextMatrix(Yxxpdh, 0) <> "*" Then
  787.             Sjhzyxxpd = True
  788.             Exit Function
  789.         Else
  790.             If pdhwk(Yxxpdh) And Yxxpdh + 1 <= .Rows - 1 Then
  791.                 If .TextMatrix(Yxxpdh + 1, 0) <> "*" Then
  792.                     changelock = True
  793.                     .RemoveItem Yxxpdh
  794.                     If .Rows < Pmbcsjhs + .FixedRows + Fzxwghs + 1 Then
  795.                         .AddItem ""
  796.                         .RowHeight(.Rows - 1) = Sjhgd
  797.                     End If
  798.                     changelock = False
  799.                     Sjhzyxxpd = True
  800.                     Exit Function
  801.                 End If
  802.             End If
  803.         End If
  804.         
  805.         '行没有发生变化则不进行有效性判断
  806.         If Hyxxpdlock Then
  807.             Sjhzyxxpd = True
  808.             Exit Function
  809.         End If
  810.         
  811.         
  812.         '以下为自定义部分[
  813.         
  814.         '1.放置行有效性判断程序
  815.         
  816.         '首先进行为空判断(固定不变)
  817.         For Jsqte = Qslz To .Cols - 1
  818.             If (GridInt(Jsqte, 5) = 1 And Len(Trim(.TextMatrix(Yxxpdh, Jsqte))) = 0) Or (GridInt(Jsqte, 5) = 2 And Val(Trim(.TextMatrix(Yxxpdh, Jsqte))) = 0) Then
  819.                 Tsxx = GridStr(Jsqte, 2)
  820.                 Lrywlz = Jsqte
  821.                 GoTo Lrcwcl
  822.                 Exit For
  823.             End If
  824.         Next Jsqte
  825.         
  826.         '2.放置行处理程序
  827.         
  828.         
  829.         '<<]
  830.         
  831.         '以上为自定义部分]
  832.         
  833.     End With
  834.     
  835.     Bln_BillChange = True
  836.     
  837.     Sjhzyxxpd = True
  838.     Hyxxpdlock = True
  839.     Exit Function
  840.     
  841. Lrcwcl:      '录入错误处理
  842.     With WglrGrid
  843.         Call Xtxxts(Tsxx, 0, 1)
  844.         changelock = True
  845.         .Select Yxxpdh, Lrywlz
  846.         changelock = False
  847.         Call xswbk
  848.         
  849.         Sjhzyxxpd = False
  850.         Exit Function
  851.     End With
  852. End Function
  853. Private Function Sub_SaveEdit() As Boolean                   '保 存 设 置
  854.     Dim RecTemp As New ADODB.Recordset     '临时使用动态集
  855.     Dim Sqlstr As String
  856.     Dim Rowjsq As Long           '网格行计数器
  857.     Dim Coljsq As Long           '网格列计数器
  858.     Dim Jsqte As Integer         '临时计数器
  859.     Dim Int_RowCount As Integer  '有效数据行计数器
  860.     
  861.     With WglrGrid
  862.         
  863.         On Error GoTo Swcwcl
  864.         
  865.         Cw_DataEnvi.DataConnect.BeginTrans
  866.         
  867.         Cw_DataEnvi.DataConnect.Execute ("Delete Cwzz_AccMultiItem Where AccMultiCode='" & Str_AccMultiCode & "'")
  868.         
  869.         For Rowjsq = WglrGrid.FixedRows To WglrGrid.Rows - 1
  870.             
  871.             If WglrGrid.TextMatrix(Rowjsq, 0) <> "*" Then
  872.                 Exit For
  873.             End If
  874.             
  875.             Sqlstr = "Insert Into Cwzz_AccMultiItem (AccMultiCode,Ccode,ItemName,AnalyseOri) values ('" & Str_AccMultiCode & "','" & Trim(.TextMatrix(Rowjsq, Sydz("001", GridStr(), Szzls))) & "','" & Trim(.TextMatrix(Rowjsq, Sydz("003", GridStr(), Szzls))) & "','" & Trim(.TextMatrix(Rowjsq, Sydz("004", GridStr(), Szzls))) & "')"
  876.             Cw_DataEnvi.DataConnect.Execute (Sqlstr)
  877.             
  878.         Next Rowjsq
  879.         Cw_DataEnvi.DataConnect.CommitTrans
  880.         
  881.         
  882.     End With
  883.     
  884.     Bln_BillChange = False
  885.     Sub_SaveBill = True
  886.     Tsxx = "保存设置完毕!"
  887.     Call Xtxxts(Tsxx, 0, 4)
  888.     
  889.     Unload Me
  890.     
  891.     Exit Function
  892.     
  893. Swcwcl:
  894.     Cw_DataEnvi.DataConnect.RollbackTrans
  895.     Tsxx = "存盘过程中出现未知错误,程序自动恢复保存前状态!"
  896.     Call Xtxxts(Tsxx, 0, 1)
  897.     Exit Function
  898. End Function
  899. Private Sub Sub_AutoEdit()                                     '自动编制
  900.     Dim RecTemp As New ADODB.Recordset     '临时使用动态集
  901.     Dim Rec_AccCode As New ADODB.Recordset
  902.     Dim Str_ItemName As String             '栏目名称
  903.     Dim Str_ParentCode As String           '上级科目编码
  904.     Dim Yhanswer As Integer                '回答是否确认
  905.     Dim Jsqte As Long                      '网格行计数器
  906.     
  907.     '用户确认是否自动编制
  908.     Tsxx = "请确认是否覆盖原有栏目设置?"
  909.     Yhanswer = Xtxxts(Tsxx, 2, 2)
  910.     If Yhanswer = 2 Then
  911.         Exit Sub
  912.     End If
  913.     
  914.     With WglrGrid
  915.         WglrGrid.Clear 1
  916.         
  917.         WglrGrid.Rows = WglrGrid.FixedRows
  918.         
  919.         Jsqte = WglrGrid.FixedRows
  920.         
  921.         Sqlstr = "Select Cwzz_AccCode.Ccode,Cwzz_AccCode.Cname,BalanceOri,ParentCode FROM  Cwzz_AccCode " & _
  922.         " Where ParentCode='" & Trim(Lab_Ccode.Caption) & "'"
  923.         Set Rec_AccCode = Cw_DataEnvi.DataConnect.Execute(Sqlstr)
  924.         
  925.         Do While Not Rec_AccCode.EOF
  926.             If Jsqte >= WglrGrid.Rows Then
  927.                 WglrGrid.AddItem ""
  928.             End If
  929.             
  930.             WglrGrid.TextMatrix(Jsqte, 0) = "*"
  931.             
  932.             '显示科目名称,得栏目名称和分析方向
  933.             WglrGrid.TextMatrix(Jsqte, Sydz("001", GridStr(), Szzls)) = Trim(Rec_AccCode.Fields("Ccode"))
  934.             WglrGrid.TextMatrix(Jsqte, Sydz("002", GridStr(), Szzls)) = Trim(Rec_AccCode.Fields("Cname"))
  935.             WglrGrid.TextMatrix(Jsqte, Sydz("004", GridStr(), Szzls)) = Trim(Rec_AccCode.Fields("BalanceOri"))
  936.             Str_ItemName = Trim(Rec_AccCode.Fields("Cname"))
  937.             Str_ParentCode = Trim(Rec_AccCode.Fields("ParentCode") & "")
  938.             Sqlstr = "Select Cwzz_AccCode.Cname FROM  Cwzz_AccCode " & _
  939.             " Where Ccode='" & Str_ParentCode & "'"
  940.             Set RecTemp = Cw_DataEnvi.DataConnect.Execute(Sqlstr)
  941.             If Not RecTemp.EOF Then
  942.                 Str_ItemName = Mid(Replace(Str_ItemName, Trim(RecTemp.Fields("Cname")) & "/", ""), 1, 20)
  943.             End If
  944.             
  945.             WglrGrid.TextMatrix(Jsqte, Sydz("003", GridStr(), Szzls)) = Str_ItemName
  946.             
  947.             WglrGrid.RowHeight(Jsqte) = Sjhgd
  948.             Rec_AccCode.MoveNext
  949.             Jsqte = Jsqte + 1
  950.             
  951.         Loop
  952.         
  953.         '调整网格
  954.         Call Sub_AdjustGrid
  955.         
  956.         '标识变动
  957.         Bln_BillChange = True
  958.         
  959.     End With
  960. End Sub
  961. '===================以 下 程 序 为 通 用 部 分 ,一 般 不 需 更 改======================='
  962. Private Sub Sub_AdjustGrid()
  963.     '调 整 网 格
  964.     With WglrGrid
  965.         '加 1 保持一行录入行
  966.         If .Rows < Pmbcsjhs + .FixedRows + Fzxwghs + 1 Then
  967.             .Rows = Pmbcsjhs + .FixedRows + Fzxwghs + 1
  968.             For Jsqte = .FixedRows To .Rows - 1
  969.                 .RowHeight(Jsqte) = Sjhgd
  970.             Next Jsqte
  971.         Else
  972.             '判断是否有辅助行和录入行,如没有则加行
  973.             Do While .TextMatrix(.Rows - 1 - Fzxwghs, 0) = "*"
  974.                 .AddItem ""
  975.                 .RowHeight(.Rows - 1) = Sjhgd
  976.             Loop
  977.         End If
  978.     End With
  979. End Sub
  980. Private Sub Lrzdbz()                                                      '录入字段帮助
  981.     If Not Ydcommand.Visible Then
  982.         Exit Sub
  983.     End If
  984.     Valilock = True
  985.     With WglrGrid
  986.         
  987.         changelock = True        '调入另外窗体必须加锁
  988.         Call Drbmhelp(GridInt(.Col, 6), GridStr(.Col, 3), Trim(Ydtext.Text))
  989.         changelock = False
  990.         If Len(Xtfhcs) <> 0 Then
  991.             If GridInt(.Col, 7) = 0 Then
  992.                 Ydtext.Text = Xtfhcs
  993.             Else
  994.                 Ydtext.Text = Xtfhcsfz
  995.             End If
  996.         End If
  997.         
  998.         Valilock = False
  999.         If Ydtext.Visible Then
  1000.             Ydtext.SetFocus
  1001.         End If
  1002.     End With
  1003. End Sub
  1004. Private Sub Form_Resize()                                                '窗体大小发生变化时,重新显示文本框
  1005.     Call Cxxswbk
  1006. End Sub
  1007. Private Function Fun_Drfrmyxxpd() As Boolean                             '调入其它窗体或功能产生的有效性判断(包括数据回写)
  1008.     Fun_Drfrmyxxpd = True
  1009.     With WglrGrid
  1010.         
  1011.         '如果当前网格处于编辑状态,则先进行数据回写再进行有效性判断
  1012.         
  1013.         If Ydtext.Visible Or YdCombo.Visible Then
  1014.             Call Lrsjhx
  1015.             If Not sjzdyxxpd(Dqlrwgh, Dqlrwgl) Then
  1016.                 Fun_Drfrmyxxpd = False
  1017.                 Exit Function
  1018.             End If
  1019.         End If
  1020.         
  1021.         '进行行有效性判断
  1022.         If Not Sjhzyxxpd(.Row) Then
  1023.             Fun_Drfrmyxxpd = False
  1024.             Exit Function
  1025.         End If
  1026.         
  1027.     End With
  1028. End Function
  1029. Private Sub WglrGrid_GotFocus()                                     '网格得到焦点
  1030.     
  1031.     '网格得到焦点,如果当前选择行为非数据行
  1032.     '则调整当前焦点至有效数据行
  1033.     
  1034.     With WglrGrid
  1035.         If .Row < .FixedRows And .Rows > .FixedRows Then
  1036.             changelock = True
  1037.             .Select .FixedRows, .Col
  1038.             changelock = False
  1039.         End If
  1040.         If .Col < Qslz Then
  1041.             changelock = True
  1042.             .Select .Row, Qslz
  1043.             changelock = False
  1044.         End If
  1045.     End With
  1046.     
  1047. End Sub
  1048. Private Sub WglrGrid_LostFocus()                                    '录入网格失去焦点
  1049.     
  1050.     '用以屏蔽调用其它窗体时发生网格失去焦点事件
  1051.     If changelock Then
  1052.         Exit Sub
  1053.     End If
  1054.     
  1055.     '引发网格RowcolChange事件
  1056.     With WglrGrid
  1057.         If Not (Ydtext.Visible Or YdCombo.Visible) Then
  1058.             .Select 0, 0
  1059.         End If
  1060.     End With
  1061.     
  1062. End Sub
  1063. Private Sub WglrGrid_AfterScroll(ByVal OldTopRow As Long, ByVal OldLeftCol As Long, ByVal NewTopRow As Long, ByVal NewLeftCol As Long)                                       '限制用户在录入过程中滚动鼠标
  1064.     
  1065.     If Gdtlock Then
  1066.         Exit Sub
  1067.     End If
  1068.     
  1069.     With WglrGrid
  1070.         If Ydtext.Visible Or YdCombo.Visible Then
  1071.             Gdtlock = True
  1072.             .TopRow = Dqtoprow
  1073.             .LeftCol = Dqleftcol
  1074.             Gdtlock = False
  1075.             Exit Sub
  1076.         End If
  1077.         
  1078.     End With
  1079. End Sub
  1080. Private Sub WglrGrid_LeaveCell()                                    '离开单元格
  1081.     If changelock Then
  1082.         Exit Sub
  1083.     End If
  1084.     
  1085.     '记录刚刚离开网格单元的行列值
  1086.     Dqlkwgh = WglrGrid.Row
  1087.     Dqlkwgl = WglrGrid.Col
  1088.     
  1089.     '判断是否需要录入数据回写
  1090.     If Not (Ydtext.Visible Or YdCombo.Visible) Then
  1091.         Exit Sub
  1092.     End If
  1093.     Call Lrsjhx
  1094. End Sub
  1095. Private Sub WglrGrid_RowColChange()                                '网格录入行列发生变化时,进行有效性判断
  1096.     Valilock = True       '屏蔽文本框失去焦点进行有效性判断
  1097.     With WglrGrid
  1098.         If changelock Then
  1099.             Exit Sub
  1100.         End If
  1101.         If Not sjzdyxxpd(Dqlrwgh, Dqlrwgl) Then
  1102.             Exit Sub
  1103.         End If
  1104.         If .Row <> Dqlkwgh Then
  1105.             If Not Sjhzyxxpd(Dqlkwgh) Then
  1106.                 Exit Sub
  1107.             End If
  1108.         End If
  1109.     End With
  1110.     Call fhyxh
  1111.     Call Xldql
  1112.     
  1113. End Sub
  1114. Private Sub WglrGrid_DblClick()          '鼠标双击网格显示文本框
  1115.     If Not Bln_Right Then
  1116.         Exit Sub
  1117.     End If
  1118.     With WglrGrid
  1119.         Call xswbk
  1120.     End With
  1121. End Sub
  1122. Private Sub Ycwbk()                      '隐藏文本框,帮助按钮,列表组合框
  1123.     Valilock = True
  1124.     Ydtext.Visible = False
  1125.     YdCombo.Visible = False
  1126.     Ydcommand.Visible = False
  1127. End Sub
  1128. Private Sub YdCombo_KeyDown(KeyCode As Integer, Shift As Integer)        '列表框移动
  1129.     With WglrGrid
  1130.         Select Case KeyCode
  1131.         Case vbKeyEscape                'ESC 键放弃录入
  1132.             Valilock = True
  1133.             .SetFocus
  1134.             Call Ycwbk
  1135.             Valilock = False
  1136.         Case vbKeyReturn                '回 车 键 =13
  1137.             KeyCode = 0
  1138.             .SetFocus
  1139.             Call Lrsjhx
  1140.             Rowjsq = .Row
  1141.             Coljsq = .Col + 1
  1142.             If Coljsq > .Cols - 1 Then
  1143.                 If Rowjsq < .Rows - 1 Then
  1144.                     Rowjsq = Rowjsq + 1
  1145.                 End If
  1146.                 Coljsq = Qslz
  1147.             End If
  1148.             Do While Rowjsq <= .Rows - 1
  1149.                 If .ColHidden(Coljsq) Or (Not GridBoolean(Coljsq, 1)) Then
  1150.                     Coljsq = Coljsq + 1
  1151.                     If Coljsq > .Cols - 1 Then
  1152.                         Rowjsq = Rowjsq + 1
  1153.                         Coljsq = Qslz
  1154.                     End If
  1155.                 Else
  1156.                     Exit Do
  1157.                 End If
  1158.             Loop
  1159.             .Select Rowjsq, Coljsq
  1160.         Case vbKeyLeft                  '左 箭 头 =37
  1161.             If .Col - 1 = Qslz Then
  1162.                 If .ColHidden(Qslz) Or (Not GridBoolean(Qslz, 1)) Then
  1163.                     GoTo jzzx
  1164.                 End If
  1165.             End If
  1166.             If .Col > Qslz Then
  1167.                 KeyCode = 0
  1168.                 .SetFocus
  1169.                 Call Lrsjhx
  1170.                 Coljsq = .Col - 1
  1171.                 Do While Coljsq > Qslz
  1172.                     If Coljsq - 1 = Qslz Then
  1173.                         If .ColHidden(Qslz) Or (Not GridBoolean(Qslz, 1)) Then
  1174.                             GoTo jzzx
  1175.                         End If
  1176.                     End If
  1177.                     If .ColHidden(Coljsq) Or (Not GridBoolean(Coljsq, 1)) Then
  1178.                         Coljsq = Coljsq - 1
  1179.                     Else
  1180.                         Exit Do
  1181.                     End If
  1182.                 Loop
  1183.                 .Select .Row, Coljsq
  1184.             End If
  1185.             
  1186.         Case vbKeyRight                 '右 箭 头 =39
  1187.             KeyCode = 0
  1188.             .SetFocus
  1189.             Call Lrsjhx
  1190.             Rowjsq = .Row
  1191.             Coljsq = .Col + 1
  1192.             If Coljsq > .Cols - 1 Then
  1193.                 If Rowjsq < .Rows - 1 Then
  1194.                     Rowjsq = Rowjsq + 1
  1195.                 End If
  1196.                 Coljsq = Qslz
  1197.             End If
  1198.             Do While Rowjsq <= .Rows - 1
  1199.                 If .ColHidden(Coljsq) Or (Not GridBoolean(Coljsq, 1)) Then
  1200.                     Coljsq = Coljsq + 1
  1201.                     If Coljsq > .Cols - 1 Then
  1202.                         Rowjsq = Rowjsq + 1
  1203.                         Coljsq = Qslz
  1204.                     End If
  1205.                 Else
  1206.                     Exit Do
  1207.                 End If
  1208.             Loop
  1209.             .Select Rowjsq, Coljsq
  1210.         Case Else
  1211.         End Select
  1212.         
  1213. jzzx:
  1214.         
  1215.     End With
  1216. End Sub
  1217. Private Sub YdCombo_LostFocus()
  1218.     With WglrGrid                                    '因为选中网格会先发生Rowcolchange事件置Valiock
  1219.         If Not Valilock Then                           '为TRUE
  1220.             Call Lrsjhx
  1221.             If Not Sjhzyxxpd(Dqlrwgh) Then
  1222.                 Exit Sub
  1223.             End If
  1224.         End If
  1225.     End With
  1226. End Sub
  1227. Private Sub Ydcommand_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)
  1228.     Call Lrzdbz
  1229. End Sub
  1230. Private Sub ydtext_KeyDown(KeyCode As Integer, Shift As Integer)
  1231.     Dim Rowjsq As Long, Coljsq As Long
  1232.     With WglrGrid
  1233.         Select Case KeyCode
  1234.         Case vbKeyF2
  1235.             Call Lrzdbz
  1236.         Case vbKeyEscape                'ESC 键放弃录入
  1237.             Valilock = True
  1238.             Call Ycwbk
  1239.             .SetFocus
  1240.         Case vbKeyReturn                '回 车 键 =13
  1241.             KeyCode = 0
  1242.             .SetFocus
  1243.             Call Lrsjhx
  1244.             Rowjsq = .Row
  1245.             Coljsq = .Col + 1
  1246.             If Coljsq > .Cols - 1 Then
  1247.                 If Rowjsq < .Rows - 1 Then
  1248.                     Rowjsq = Rowjsq + 1
  1249.                 End If
  1250.                 Coljsq = Qslz
  1251.             End If
  1252.             Do While Rowjsq <= .Rows - 1
  1253.                 If .ColHidden(Coljsq) Or (Not GridBoolean(Coljsq, 1)) Then
  1254.                     Coljsq = Coljsq + 1
  1255.                     If Coljsq > .Cols - 1 Then
  1256.                         Rowjsq = Rowjsq + 1
  1257.                         Coljsq = Qslz
  1258.                     End If
  1259.                 Else
  1260.                     Exit Do
  1261.                 End If
  1262.             Loop
  1263.             If Rowjsq <= .Rows - 1 Then
  1264.                 .Select Rowjsq, Coljsq
  1265.             End If
  1266.         Case vbKeyUp                    '上 箭 头 =38
  1267.             KeyCode = 0
  1268.             .SetFocus
  1269.             Call Lrsjhx
  1270.             If .Row > .FixedRows Then
  1271.                 .Row = .Row - 1
  1272.             End If
  1273.         Case vbKeyDown                  '下 箭 头 =40
  1274.             KeyCode = 0
  1275.             .SetFocus
  1276.             Call Lrsjhx
  1277.             If .Row < .Rows - 1 Then
  1278.                 .Row = .Row + 1
  1279.             End If
  1280.         Case vbKeyLeft                  '左 箭 头 =37
  1281.             If .Col - 1 = Qslz Then
  1282.                 If .ColHidden(Qslz) Or (Not GridBoolean(Qslz, 1)) Then
  1283.                     GoTo jzzx
  1284.                 End If
  1285.             End If
  1286.             If Ydtext.SelStart = 0 And .Col > Qslz Then
  1287.                 KeyCode = 0
  1288.                 .SetFocus
  1289.                 Call Lrsjhx
  1290.                 Coljsq = .Col - 1
  1291.                 Do While Coljsq > Qslz
  1292.                     If Coljsq - 1 = Qslz Then
  1293.                         If .ColHidden(Qslz) Or (Not GridBoolean(Qslz, 1)) Then
  1294.                             GoTo jzzx
  1295.                         End If
  1296.                     End If
  1297.                     If .ColHidden(Coljsq) Or (Not GridBoolean(Coljsq, 1)) Then
  1298.                         Coljsq = Coljsq - 1
  1299.                     Else
  1300.                         Exit Do
  1301.                     End If
  1302.                 Loop
  1303.                 .Select .Row, Coljsq
  1304.             End If
  1305. jzzx:
  1306.             
  1307.             
  1308.         Case vbKeyRight                 '右 箭 头 =39
  1309.             wblong = Len(Ydtext.Text)
  1310.             If (Ydtext.SelStart = wblong Or Ydtext.SelLength = wblong) Then
  1311.                 KeyCode = 0
  1312.                 .SetFocus
  1313.                 Call Lrsjhx
  1314.                 Rowjsq = .Row
  1315.                 Coljsq = .Col + 1
  1316.                 If Coljsq > .Cols - 1 Then
  1317.                     If Rowjsq < .Rows - 1 Then
  1318.                         Rowjsq = Rowjsq + 1
  1319.                     End If
  1320.                     Coljsq = Qslz
  1321.                 End If
  1322.                 Do While Rowjsq <= .Rows - 1
  1323.                     If .ColHidden(Coljsq) Or (Not GridBoolean(Coljsq, 1)) Then
  1324.                         Coljsq = Coljsq + 1
  1325.                         If Coljsq > .Cols - 1 Then
  1326.                             Rowjsq = Rowjsq + 1
  1327.                             Coljsq = Qslz
  1328.                         End If
  1329.                     Else
  1330.                         Exit Do
  1331.                     End If
  1332.                 Loop
  1333.                 .Select Rowjsq, Coljsq
  1334.             End If
  1335.         Case Else
  1336.         End Select
  1337.     End With
  1338. End Sub
  1339. Private Sub ydtext_KeyPress(KeyAscii As Integer)         '录入字符事中控制
  1340.     Call InputFieldLimit(Ydtext, GridInt(WglrGrid.Col, 1), KeyAscii)
  1341.     If KeyAscii <> 0 Then
  1342.         Call Xyxhbz(Dqlrwgh)
  1343.     End If
  1344. End Sub
  1345. Private Sub ydtext_Change()                              '录入事中变化处理
  1346.     
  1347.     '防止程序改变但不进行处理
  1348.     
  1349.     If Wbkbhlock Then
  1350.         Exit Sub
  1351.     End If
  1352.     
  1353.     With WglrGrid
  1354.         
  1355.         '限制字段录入长度
  1356.         Wbkbhlock = True
  1357.         Select Case GridInt(.Col, 1)
  1358.         Case 8
  1359.             Call Sjgskz(Ydtext, Xtjezws - Xtjexsws - 1, Xtjexsws)
  1360.         Case 9
  1361.             Call Sjgskz(Ydtext, Xtslzws - Xtslxsws - 1, Xtslxsws)
  1362.         Case 10
  1363.             Call Sjgskz(Ydtext, Xtdjzws - Xtdjxsws - 1, Xtdjxsws)
  1364.         Case Else
  1365.             If GridInt(.Col, 3) <> 0 Or GridInt(.Col, 4) <> 0 Then
  1366.                 Call Sjgskz(Ydtext, GridInt(.Col, 3), GridInt(.Col, 4))
  1367.             End If
  1368.         End Select
  1369.         Wbkbhlock = False
  1370.     End With
  1371. End Sub
  1372. Private Sub ydtext_LostFocus()            '如果由于选中网格之外的控件而发生有效性判断(选中网格会先发生Rowcolchange事件置Valiock为TRUE)
  1373.     With WglrGrid
  1374.         If Not Valilock Then
  1375.             Call Lrsjhx
  1376.             If Not sjzdyxxpd(Dqlrwgh, Dqlrwgl) Then
  1377.                 Exit Sub
  1378.             End If
  1379.             If Not Sjhzyxxpd(Dqlrwgh) Then
  1380.                 Exit Sub
  1381.             End If
  1382.         End If
  1383.     End With
  1384. End Sub
  1385. Private Sub xswbk()                       '在当前选中单元显示文本框,列表框,帮助按钮(通用)
  1386.     Dim Wbkpy As Integer, Wbkpy1 As Integer '文本框偏移量
  1387.     
  1388.     '如果单据操作状态为浏览状态则不能显示录入载体
  1389.     If Trim(Lab_OperStatus.Caption) = "1" Then
  1390.         Exit Sub
  1391.     End If
  1392.     
  1393.     '显示文本框前返回有效行列(解决滚动条问题)
  1394.     Call Xldqh
  1395.     Call Xldql
  1396.     
  1397.     '隐藏文本框,帮助按钮,列表组合框
  1398.     Call Ycwbk
  1399.     
  1400.     With WglrGrid
  1401.         Dqlrwgh = .Row
  1402.         Dqlrwgl = .Col
  1403.         If Not GridBoolean(.Col, 1) Or .Row < .FixedRows Then
  1404.             Exit Sub
  1405.         End If
  1406.         
  1407.         Wbkpy = 30
  1408.         Wbkpy1 = 15
  1409.         
  1410.         If GridBoolean(.Col, 3) Then
  1411.             YdCombo.Left = .CellLeft + .Left + Wbkpy
  1412.             YdCombo.Top = .CellTop + .Top + Wbkpy
  1413.             YdCombo.Width = .CellWidth - Wbkpy1
  1414.             Call Wbkcl
  1415.             YdCombo.Visible = True
  1416.             YdCombo.SetFocus
  1417.             Ydcommand.Visible = False
  1418.             Ydtext.Visible = False
  1419.         Else
  1420.             If GridBoolean(.Col, 2) Then
  1421.                 Ydcommand.Left = .Left + .CellLeft + .CellWidth - Ydcommand.Width + Wbkpy
  1422.                 Ydcommand.Top = .Top + .CellTop + .CellHeight - Ydcommand.Height + Wbkpy
  1423.                 Ydcommand.Visible = True
  1424.             Else
  1425.                 Ydcommand.Visible = False
  1426.             End If
  1427.             
  1428.             Ydtext.Left = .CellLeft + .Left + Wbkpy
  1429.             Ydtext.Top = .CellTop + .Top + Wbkpy
  1430.             If Ydcommand.Visible Then
  1431.                 If Sfblbzkd Then
  1432.                     Ydtext.Width = .CellWidth - Ydcommand.Width
  1433.                 Else
  1434.                     Ydtext.Width = .CellWidth - Wbkpy1
  1435.                 End If
  1436.             Else
  1437.                 Ydtext.Width = .CellWidth - Wbkpy1
  1438.             End If
  1439.             Ydtext.Height = .CellHeight - Wbkpy1
  1440.             
  1441.             If GridInt(.Col, 2) <> 0 Then
  1442.                 Ydtext.MaxLength = GridInt(.Col, 2)
  1443.             Else
  1444.                 Ydtext.MaxLength = 3000
  1445.             End If
  1446.             
  1447.             Call Wbkcl
  1448.             
  1449.             Ydtext.Visible = True
  1450.             Ydtext.SetFocus
  1451.         End If
  1452.         Dqtoprow = .TopRow
  1453.         Dqleftcol = .LeftCol
  1454.         
  1455.         '重置锁值
  1456.         Valilock = False
  1457.         Wbkbhlock = False
  1458.     End With
  1459. End Sub
  1460. Private Sub Cxxswbk()                                                  'Formresize中重新显示文本框,列表框,帮助按钮(通用)
  1461.     
  1462.     Dim Wbkpy As Integer, Wbkpy1 As Integer
  1463.     Wbkpy = 30
  1464.     Wbkpy1 = 15
  1465.     With WglrGrid
  1466.         If YdCombo.Visible Then
  1467.             YdCombo.Left = .CellLeft + .Left + Wbkpy
  1468.             YdCombo.Top = .CellTop + .Top + Wbkpy
  1469.             YdCombo.Width = .CellWidth - Wbkpy1
  1470.         End If
  1471.         If Ydcommand.Visible Then
  1472.             Ydcommand.Left = .Left + .CellLeft + .CellWidth - Ydcommand.Width + Wbkpy
  1473.             Ydcommand.Top = .Top + .CellTop + .CellHeight - Ydcommand.Height + Wbkpy
  1474.         End If
  1475.         If Ydtext.Visible Then
  1476.             If Ydcommand.Visible Then
  1477.                 If Sfblbzkd Then
  1478.                     Ydtext.Width = .CellWidth - Ydcommand.Width
  1479.                 Else
  1480.                     Ydtext.Width = .CellWidth - Wbkpy1
  1481.                 End If
  1482.             Else
  1483.                 Ydtext.Width = .CellWidth - Wbkpy1
  1484.             End If
  1485.             
  1486.             Ydtext.Left = .CellLeft + .Left + Wbkpy
  1487.             Ydtext.Top = .CellTop + .Top + Wbkpy
  1488.             Ydtext.Height = .CellHeight - Wbkpy1
  1489.         End If
  1490.     End With
  1491.     
  1492. End Sub
  1493. Private Sub Lrsjhx()                                                   '文本框录入数据回写
  1494.     With WglrGrid
  1495.         If YdCombo.Visible Then
  1496.             .Text = Trim(YdCombo.Text)
  1497.         End If
  1498.         If Ydtext.Visible Then
  1499.             .Text = Trim(Ydtext.Text)
  1500.         End If
  1501.         
  1502.         '(如果字段录入内容发生变化,则打开有效性判断锁)
  1503.         If Zdlrqnr <> Trim(.Text) Then
  1504.             Yxxpdlock = False
  1505.             Hyxxpdlock = False
  1506.         End If
  1507.         
  1508.         '如果字段录入内容不为空则写数据行有效性标志
  1509.         
  1510.         If Len(Trim(.Text)) <> 0 Then
  1511.             Call Xyxhbz(.Row)
  1512.         End If
  1513.         
  1514.         '隐藏文本框,帮助按钮,列表组合框
  1515.         Call Ycwbk
  1516.         
  1517.     End With
  1518. End Sub
  1519. Private Sub WglrGrid_KeyDown(KeyCode As Integer, Shift As Integer)    '网格录入增行,删行快捷键
  1520.     
  1521.     '如果单据操作状态为浏览状态则不能显示录入载体
  1522.     If Trim(Lab_OperStatus.Caption) = "1" Then
  1523.         Exit Sub
  1524.     End If
  1525.     
  1526.     Select Case KeyCode
  1527.     Case vbKeyF2                   '按F2键参照
  1528.         Call xswbk
  1529.         Call Lrzdbz
  1530.     Case vbKeyDelete               '删行
  1531.         Call Scdqfl
  1532.     Case vbKeyInsert               '增行
  1533.         Call zjlrfl
  1534.     End Select
  1535. End Sub
  1536. Private Sub WglrGrid_KeyPress(KeyAscii As Integer)                     '网格接受键盘录入
  1537.     Dim Str_ChangeTe As String    '临时交换内容
  1538.     Dim Coljsq As Long            '临时列计数器
  1539.     Dim Int_SaveKey As Integer    '保存KeyAscii值
  1540.     
  1541.     '如果单据操作状态为浏览状态则不能显示录入载体
  1542.     If Trim(Lab_OperStatus.Caption) = "1" Then
  1543.         Exit Sub
  1544.     End If
  1545.     
  1546.     If Not Bln_Right Then
  1547.         Exit Sub
  1548.     End If
  1549.     
  1550.     Int_SaveKey = KeyAscii
  1551.     
  1552.     With WglrGrid
  1553.         '屏 蔽 回 车 键
  1554.         If KeyAscii = vbKeyReturn Then
  1555.             KeyAscii = 0
  1556.             Rowjsq = .Row
  1557.             Coljsq = .Col + 1
  1558.             If Coljsq > .Cols - 1 Then
  1559.                 If Rowjsq < .Rows - 1 Then
  1560.                     Rowjsq = Rowjsq + 1
  1561.                 End If
  1562.                 Coljsq = Qslz
  1563.             End If
  1564.             Do While Rowjsq <= .Rows - 1
  1565.                 If .ColHidden(Coljsq) Or (Not GridBoolean(Coljsq, 1)) Then
  1566.                     Coljsq = Coljsq + 1
  1567.                     If Coljsq > .Cols - 1 Then
  1568.                         Rowjsq = Rowjsq + 1
  1569.                         Coljsq = Qslz
  1570.                     End If
  1571.                 Else
  1572.                     Exit Do
  1573.                 End If
  1574.             Loop
  1575.             If Rowjsq <= .Rows - 1 Then
  1576.                 .Select Rowjsq, Coljsq
  1577.             End If
  1578.             Exit Sub
  1579.         End If
  1580.         '接受用户录入
  1581.         Select Case KeyAscii
  1582.         Case 0 To 32
  1583.             
  1584.             '显示录入载体
  1585.             Call xswbk
  1586.             
  1587.         Case Else
  1588.             
  1589.             '防止非编辑字段SendKeys()出现死循环
  1590.             If Not GridBoolean(.Col, 1) Or .Row < .FixedRows Then
  1591.                 Exit Sub
  1592.             End If
  1593.             
  1594.             If GridBoolean(.Col, 3) Then
  1595.                 
  1596.                 '列表框录入
  1597.                 Call xswbk
  1598.                 
  1599.             Else
  1600.                 
  1601.                 Ydtext.Text = ""
  1602.                 Call InputFieldLimit(Ydtext, GridInt(WglrGrid.Col, 1), KeyAscii)
  1603.                 If KeyAscii = 0 Then
  1604.                     Exit Sub
  1605.                 End If
  1606.                 
  1607.                 '写有效行数据标志
  1608.                 Call Xyxhbz(.Row)
  1609.                 Call xswbk
  1610.                 Ydtext.Text = ""
  1611.                 Valilock = True
  1612.                 SendKeys Chr(KeyAscii), wait
  1613.                 DoEvents
  1614.                 Valilock = False
  1615.                 
  1616.             End If
  1617.         End Select
  1618.     End With
  1619. End Sub
  1620. Private Sub zjlrfl()                                                    '增加录入分录
  1621.     With WglrGrid
  1622.         If Not (Ydtext.Visible Or YdCombo.Visible) Then
  1623.             If Not Fun_Drfrmyxxpd Then
  1624.                 Exit Sub
  1625.             End If
  1626.         Else
  1627.             Exit Sub
  1628.         End If
  1629.         If .Row < .FixedRows Then
  1630.             Exit Sub
  1631.         End If
  1632.         .AddItem "", .Row
  1633.         .RowHeight(.Row) = Sjhgd
  1634.         
  1635.         
  1636.         If .Row <> .Rows - 1 Then
  1637.             If .TextMatrix(.Row + 1, 0) = "*" Then
  1638.                 .TextMatrix(.Row, 0) = "*"
  1639.             Else
  1640.                 .RemoveItem .Rows - 1
  1641.             End If
  1642.         End If
  1643.         Call Xldqh
  1644.         Call Xldql
  1645.         Hyxxpdlock = False
  1646.     End With
  1647. End Sub
  1648. Private Sub Scdqfl()                                                    '删除当前分录
  1649.     Dim Answer As Integer, Scqwghz As Long, Scqwglz As Long, Hjlzte As Long, Sflrzt As Boolean
  1650.     Dim RecTemp As New ADODB.Recordset             '临时使用动态集
  1651.     Dim Sqlstr As String                           '临时连接字符串
  1652.     Dim Str_NowItemCode As String                  '辅助核算项目编码(现)
  1653.     
  1654.     With WglrGrid
  1655.         Scqwghz = .Row
  1656.         Scqwglz = .Col
  1657.         If .TextMatrix(.Row, 0) = "*" Then
  1658.             
  1659.             '判断是否为录入状态
  1660.             If Ydtext.Visible Or YdCombo.Visible Then
  1661.                 Sflrzt = True
  1662.                 Validate = True
  1663.                 Call Lrsjhx
  1664.                 Validate = False
  1665.             End If
  1666.             
  1667.             Call Xldqh
  1668.             changelock = True
  1669.             .Select .Row, 0
  1670.             changelock = False
  1671.             If Shsfts Then
  1672.                 .Cell(flexcpBackColor, .Row, Qslz, .Row, .Cols - 1) = QBColor(12)
  1673.                 Tsxx = "请确认是否删除当前记录?"
  1674.                 Yhanswer = Xtxxts(Tsxx, 2, 2)
  1675.                 If Yhanswer = 2 Then
  1676.                     .Cell(flexcpBackColor, .Row, Qslz, .Row, .Cols - 1) = &H80000005
  1677.                     changelock = True
  1678.                     .Select Scqwghz, Scqwglz
  1679.                     changelock = False
  1680.                     
  1681.                     '如为录入状态,则恢复录入
  1682.                     If Sflrzt Then
  1683.                         Call xswbk
  1684.                     End If
  1685.                     
  1686.                     Exit Sub
  1687.                 End If
  1688.             End If
  1689.             
  1690.             .RemoveItem .Row
  1691.             
  1692.             Bln_BillChange = True
  1693.             
  1694.             If .Rows < Pmbcsjhs + .FixedRows + Fzxwghs + 1 Then
  1695.                 .AddItem ""
  1696.                 .RowHeight(.Rows - 1) = Sjhgd
  1697.             End If
  1698.             changelock = True
  1699.             .Select .Row, Scqwglz
  1700.             changelock = False
  1701.             
  1702.         End If
  1703.     End With
  1704.     
  1705. End Sub
  1706. Private Sub Qkwlzd(sjh As Long, Sjl As Long)                            '清空为零字段
  1707.     If Not GridBoolean(Sjl, 5) Then
  1708.         Exit Sub
  1709.     End If
  1710.     With WglrGrid
  1711.         If Val(Trim(.TextMatrix(sjh, Sjl))) = 0 Then
  1712.             .TextMatrix(sjh, Sjl) = ""
  1713.         End If
  1714.     End With
  1715. End Sub
  1716. Private Sub fhyxh()                                                     '返回录入数据有效行,同时让得到焦点网格可见
  1717.     With WglrGrid
  1718.         If .Row >= .FixedRows Then
  1719.             If .TextMatrix(.Row, 0) <> "*" Then
  1720.                 For Rowjsq = .FixedRows To .Rows - 1
  1721.                     If .TextMatrix(Rowjsq, 0) <> "*" Then
  1722.                         Exit For
  1723.                     End If
  1724.                 Next Rowjsq
  1725.                 If Rowjsq <= .Rows - 1 Then
  1726.                     changelock = True
  1727.                     .Select Rowjsq, .Col
  1728.                     changelock = False
  1729.                 Else
  1730.                     changelock = True
  1731.                     .Select .Rows - 1, .Col
  1732.                     changelock = False
  1733.                 End If
  1734.             End If
  1735.             Call Xldqh
  1736.         End If
  1737.     End With
  1738. End Sub
  1739. Private Sub Xldqh()                                                      '显露当前行
  1740.     Dim Toprowte As Long
  1741.     With WglrGrid
  1742.         Toprowte = 0
  1743.         Do While .CellTop + .RowHeight(.Row) + Fzxwghs * Sjhgd > .Height And .TopRow <> Toprowte
  1744.             Toprowte = .TopRow
  1745.             .TopRow = .TopRow + 1
  1746.         Loop
  1747.         Toprowte = 0
  1748.         Do While .CellTop < .FixedRows * .RowHeight(0) And .TopRow <> Toprowte
  1749.             Toprowte = .TopRow
  1750.             .TopRow = .TopRow - 1
  1751.         Loop
  1752.     End With
  1753. End Sub
  1754. Private Sub Xldql()                                                     '显露当前列
  1755.     Dim Leftcolte As Long
  1756.     With WglrGrid
  1757.         If .Col >= Qslz Then
  1758.             If .LeftCol > .Col Then
  1759.                 .LeftCol = .Col
  1760.             End If
  1761.             Leftcolte = 0
  1762.             Do While .CellLeft + .CellWidth > .Width And .LeftCol <> Leftcolte
  1763.                 Leftcolte = .LeftCol
  1764.                 .LeftCol = .LeftCol + 1
  1765.             Loop
  1766.         End If
  1767.     End With
  1768. End Sub
  1769. Private Function pdhwk(sjh As Long)                                     '判断网格行是否为空行(所有录入字段均为空*非录入字段除外)
  1770.     With WglrGrid
  1771.         For Coljsq = Qslz To .Cols - 1
  1772.             If Len(Trim(.TextMatrix(sjh, Coljsq))) <> 0 And GridBoolean(Coljsq, 1) Then
  1773.                 pdhwk = False
  1774.                 Exit Function
  1775.             End If
  1776.         Next Coljsq
  1777.         pdhwk = True
  1778.     End With
  1779. End Function
  1780. Private Sub Xyxhbz(sjh As Long)                                         '写行有效性标志,并判断是否增行
  1781.     With WglrGrid
  1782.         If .TextMatrix(sjh, 0) = "*" Then
  1783.             Exit Sub
  1784.         End If
  1785.         .TextMatrix(sjh, 0) = "*"
  1786.         If sjh >= .Rows - Fzxwghs - 1 Then
  1787.             .AddItem ""
  1788.             .RowHeight(.Rows - 1) = Sjhgd
  1789.         End If
  1790.     End With
  1791. End Sub