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

企业管理

开发平台:

Visual Basic

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