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

企业管理

开发平台:

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