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

企业管理

开发平台:

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