+
上传用户: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   =   2212001
  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. '以下为固定使用变量(网格)
  533. Dim Cxnrrec As New ADODB.Recordset       '显示查询内容动态集
  534. Dim Dyymctbl As New DY_Dyymsz            '打印页面窗体变量
  535. Dim GridCode As String                   '显示网格网格代码
  536. Dim GridInf() As Variant                 '整个网格设置信息
  537. Dim Tsxx As String                       '系统提示信息
  538. Dim Qslz As Long                         '网格隐藏(非操作显示)列数
  539. Dim Sjhgd As Double                      '网格数据行高度
  540. Dim GridBoolean() As Boolean             '网格列信息(布尔型)
  541. Dim GridStr()  As String                 '网格列信息(字符型)
  542. Dim GridInt() As Integer                 '网格列信息(整型)
  543. Dim Szzls As Integer                     '数组总列数(网格列数-1)
  544. '以下为固定使用变量(文本框)
  545. Dim Textvar() As Variant                 '存储变体型文本框信息
  546. Dim Textboolean() As Boolean             '存储布尔型文本框信息
  547. Dim Textint() As Integer                 '存储整型文本框信息
  548. Dim Textstr() As String                  '存储字符型文本框信息
  549. Dim Max_Text_Index As Integer            '最大录入文本框索引值
  550. Dim TextGroupCode As String              '文本框录入分组编码
  551. Dim TextValiLock As Boolean              '文本框失去焦点是否进行有效性控制判断
  552. Dim TextValiJudgeLock() As Boolean       '文本框录入有效性判断控制锁
  553. Dim CurTextIndex As Integer              '当前文本框索引值
  554. Dim TextChangeLock As Boolean            '文本框内容变换控制锁
  555. Dim Bln_Cancel As Boolean                '取消按钮信息传递
  556. '以下为自定义部分
  557. Dim frmOwner As Integer                  '用于区分人事(1)还是工资(2)在使用本窗体
  558. Dim ItemId As Integer
  559. Private Sub Cbo_ItmType_Change()
  560.     If Cbo_ItmType.Text = "日期型" Then
  561.         LrText(3).Text = ""
  562.         LrText(3).Enabled = False: Ydcommand1(3).Enabled = False
  563.     Else
  564.         LrText(3).Enabled = True: Ydcommand1(3).Enabled = True
  565.     End If
  566.     
  567. End Sub
  568. Private Sub Cbo_ItmType_Click()
  569.     If Cbo_ItmType.Text = "日期型" Or Cbo_ItmType.Text = "数字型" Then
  570.         LrText(3).Text = ""
  571.         LrText(3).Enabled = False: Ydcommand1(3).Enabled = False
  572.     Else
  573.         LrText(3).Enabled = True: Ydcommand1(3).Enabled = True
  574.     End If
  575. End Sub
  576. Private Sub Form_KeyPress(KeyAscii As Integer)   '控 制 焦 点 转 移
  577.     jdzygs = 10
  578.     
  579.     Select Case KeyAscii
  580.         Case vbKeyReturn
  581.             If Kjjdzy(jdzygs) Then
  582.                 KeyAscii = 0
  583.             End If
  584.         Case 39           '屏蔽"'"
  585.             KeyAscii = 0
  586.    End Select
  587.    
  588. End Sub
  589. Private Sub Form_Load()
  590.     '[>>
  591.     '确定是人事还是工资在调用系统
  592.     frmOwner = Xtcdcs
  593.     '<<]
  594.   
  595.     '打印报表标题信息
  596.     ReportTitle = "人 事 项 目 表"
  597.      
  598.     '调入打印页面设置窗体
  599.     XtReportCode = "Rs_SetItems"
  600.     Load Dyymctbl
  601.     
  602.     '以下为文本框处理程序(读入文本框录入信息)
  603.     TextGroupCode = "Rs_Items"
  604.     Call Drwbkxx(TextGroupCode, Textvar(), Textboolean(), Textint(), Textstr())
  605.     Call Wbkcsh
  606.     '[>>如果是人事系统,则是否为空复选框不显示
  607. '    If FrmOwner = 1 Then
  608. '        Chk_CanBnull.Visible = False
  609. '    End If
  610.     '<<]
  611.     
  612.     '调入网格设置信息
  613.     GridCode = "Rs_Items"
  614.     Call BzWgcsh(CzxsGrid, GridCode, GridInf(), GridBoolean(), GridInt(), GridStr())
  615.     Qslz = GridInf(1)
  616.     Sjhgd = GridInf(2)
  617.     Szzls = CzxsGrid.Cols - 1
  618.     
  619.     
  620.   
  621.     '填 充 网 格
  622.     Call Cxnrtcwg
  623.        
  624.     '初始化toolbar,tab卡状态
  625.     StTab.Tab = 0
  626.     StTab.TabEnabled(1) = False
  627.     Frame1.Enabled = False
  628.      
  629.     '设置为非录入状态
  630.     Lrzt = 0
  631.     
  632.     Call FillCbo
  633.     Lbl_Indicate.Caption = "项目名称可以录入字符和数字," & Chr$(10) _
  634.     & "汉字最多可以录入10个;" + Chr$(10) _
  635.     & "1.字符型长度最大为30,小数位数忽略;" + Chr$(10) _
  636.     & "2.数字型长度为整数位数与小数之和 " + Chr$(10) _
  637.     & "  整数位最大8位,小数位最大4位 " + Chr$(10) _
  638.     & "3.日期型的忽略长度和小数位数" + Chr$(10) _
  639.     & "4.选择相关帮助的项目在录入时将给予必要提示"
  640.   
  641.     '编辑(新增、修改、删除)权限索引
  642.     Str_RightEdit = "Rs_Set_RsItems_Edit"
  643. End Sub
  644.  
  645. Private Sub Cxnrtcwg()                               '查询内容填充网格
  646.     Dim Sqlstr As String              '查询连接串
  647.     Dim jsqte As Long                 '查询临时使用变量
  648.   
  649.     '为加快显示速度,将网格刷新动作冻结
  650.     CzxsGrid.Redraw = False
  651.   
  652.     '[>>查询连接串
  653.     If frmOwner = 1 Then
  654.         Sqlstr = "SELECT Rs_Items.*  FROM Rs_Items where (SID='1' OR Rs=1)  order by ItemId"
  655.     Else
  656.         Sqlstr = "SELECT Rs_Items.* FROM Rs_Items where SID='2' OR Rs=2 order by ItemId"
  657.     End If
  658.     '<<]
  659.     Set Cxnrrec = Cw_DataEnvi.DataConnect.Execute(Sqlstr)
  660.     
  661.     With Cxnrrec
  662.     
  663.         CzxsGrid.Rows = CzxsGrid.FixedRows
  664.         If .EOF And .BOF Then
  665.             CzxsGrid.Redraw = True
  666.             Exit Sub
  667.         End If
  668.         
  669.         jsqte = CzxsGrid.FixedRows
  670.         
  671.         Do While Not .EOF
  672.             If UCase(Trim(.Fields("FieldName") & "")) = "EMPNO" Or _
  673.                 UCase(Trim(.Fields("FieldName") & "")) = "EMPNAME" Or _
  674.                 UCase(Trim(.Fields("FieldName") & "")) = "YNSTOP" Or _
  675.                 UCase(Trim(.Fields("FieldName") & "")) = "PIC" Or _
  676.                 UCase(Trim(.Fields("FieldName") & "")) = "DEPTCODE" Or _
  677.                 (.Fields("FieldType") = 7 And Trim(.Fields("Tablename")) = "Rs_BasicInfo") _
  678.                 Then GoTo Continue
  679.                 
  680.             CzxsGrid.AddItem ""
  681.             Call Jltcwg(Cxnrrec, jsqte)                              '调入填充网格子过程
  682.             CzxsGrid.RowHeight(jsqte) = Sjhgd                        '设置网格高度
  683.             jsqte = jsqte + 1
  684. Continue:   .MoveNext
  685.         Loop
  686.     End With
  687.   
  688.     '将网格刷新动作解冻
  689.     CzxsGrid.Redraw = True
  690.     
  691. End Sub
  692. Private Sub Jltcwg(Jlbrec As ADODB.Recordset, Rowjsq As Long)           '记录内容填充网格
  693.     '[>>以下为自定义部分
  694.     With Jlbrec
  695.         If .Fields("ItemId") < 25 Then
  696.             CzxsGrid.Cell(flexcpBackColor, Rowjsq, 0, Rowjsq, 6) = &H80000018
  697.         Else
  698.             CzxsGrid.Cell(flexcpBackColor, Rowjsq, 0, Rowjsq, 6) = &HFFFFFF
  699.         End If
  700.         CzxsGrid.TextMatrix(Rowjsq, 0) = Trim(.Fields("ItemId") & "")                                                          '项目标识号  隐藏列存储
  701.         CzxsGrid.TextMatrix(Rowjsq, 1) = Trim(.Fields("FieldName") & "")                                                       '隐藏字段名,便于删除时使用
  702.         CzxsGrid.TextMatrix(Rowjsq, Sydz("001", GridStr(), Szzls)) = Trim(.Fields("ChName") & "")                              '项目名称
  703.         CzxsGrid.TextMatrix(Rowjsq, Sydz("002", GridStr(), Szzls)) = ConvertCode2Type(Trim(.Fields("FieldType") & ""))         '项目类型
  704.         CzxsGrid.TextMatrix(Rowjsq, Sydz("003", GridStr(), Szzls)) = Trim(.Fields("FieldLength") & "")                         '字段长度
  705.         CzxsGrid.TextMatrix(Rowjsq, Sydz("004", GridStr(), Szzls)) = Trim(.Fields("FieldDotL") & "")                           '小数位数
  706.         If GetHelpName(Trim(.Fields("Correlation") & "")) <> "000" Then
  707.             CzxsGrid.TextMatrix(Rowjsq, Sydz("005", GridStr(), Szzls)) = GetHelpName(Trim(.Fields("Correlation") & ""))                     '相关帮助
  708.         End If
  709.         If Trim(.Fields("ItemId") & "") = 8 Then CzxsGrid.TextMatrix(Rowjsq, Sydz("005", GridStr(), Szzls)) = "部门"
  710.         
  711.     End With
  712.     '以上为自定义部分<<]
  713.     
  714. End Sub
  715. Private Sub Form_Unload(Cancel As Integer)             '窗体卸载
  716.     Set Cxnrrec = Nothing
  717.     Set Rec_CodeSet = Nothing
  718.     Unload Dyymctbl
  719.    
  720. End Sub
  721. Private Function Bclrsj() As Boolean                   '判断录入数据有效性,并保存数据
  722.     Dim sSql As String
  723.     Dim jsqte As Integer
  724.     Dim tLen As Integer                         '数字型总长度或是字符型总长度
  725.     Dim dLen As Integer                         '小数位数
  726.     Dim i As Integer
  727.     Dim nulStr As String
  728.     Dim nnulStr As String
  729.     Dim FieldName As String
  730.     Dim tmpRs As New ADODB.Recordset
  731.     
  732.     '对文本框录入内容进行为零和为空判断(固定不变)
  733.     
  734.     Bclrsj = False
  735.     
  736.     With Rec_CodeSet
  737.     
  738.         For jsqte = 0 To Max_Text_Index
  739.             If Textint(jsqte, 8) = 1 Then     '字段不能为空
  740.                 If Len(Trim(LrText(jsqte).Text)) = 0 Then
  741.                     Tsxx = Textstr(jsqte, 7) & "不能为空!"
  742.                     Call Xtxxts(Tsxx, 0, 1)
  743.                     LrText(jsqte).SetFocus
  744.                     Bclrsj = False
  745.                     Exit Function
  746.                 End If
  747.             Else
  748.                 If Textint(jsqte, 8) = 2 Then   '字段不能为零
  749.                     If Val(Trim(LrText(jsqte).Text)) = 0 Then
  750.                         Tsxx = Textstr(jsqte, 7) & "不能为零!"
  751.                         Call Xtxxts(Tsxx, 0, 1)
  752.                         LrText(jsqte).SetFocus
  753.                         Bclrsj = False
  754.                         Exit Function
  755.                     End If
  756.                 End If
  757.             End If
  758.         Next jsqte
  759.     
  760.         '对需要进行事后判断的文本框录入内容进行有效性判断 (固定不变)
  761.         For jsqte = 0 To Max_Text_Index
  762.             If Textint(jsqte, 9) = 0 Or Textint(jsqte, 9) = 2 Then
  763.                 If Not TextYxxpd(jsqte) Then
  764.                     Exit Function
  765.                 End If
  766.             End If
  767.         Next jsqte
  768.         
  769.         tLen = Val(Trim(LrText(1).Text))
  770.         dLen = Val(Trim(LrText(2).Text))
  771.         
  772.         If (GetDataType = 0) Then
  773.             dLen = 0
  774.             If tLen > 30 Then
  775.                 Call Xtxxts("字符型长度不能大于30!", 0, 1)
  776.                 dLen = 0
  777.                 Exit Function
  778.             End If
  779.         End If
  780.         
  781.         If (GetDataType = 5) And (tLen - dLen > 10) Then
  782.                 Call Xtxxts("数字型整数长度不能大于10!", 0, 1)
  783.                 Exit Function
  784.         End If
  785.         If (GetDataType = 5) And (dLen > tLen - 1) Then
  786.                 Call Xtxxts("数字型小数长度必须小于总长度!", 0, 1)
  787.                 Exit Function
  788.         End If
  789.         If (GetDataType = 5) And (dLen > 2) Then
  790.                 Call Xtxxts("数字型小数长度不能大于2!", 0, 1)
  791.                 Exit Function
  792.         End If
  793.         '对日期型和数字型 去掉设置的相关项
  794.         If (GetDataType = 5) Or (GetDataType = 7) Then                                               '数字型的相关帮助去掉
  795.             LrText(3).Tag = ""
  796.             LrText(3).Text = ""
  797.         End If
  798.         If (GetDataType = 7) Then tLen = 10: dLen = 0
  799.         
  800.         If Lrzt = 1 Then  '增 加
  801.             
  802.             If GetDataType = -1 Then
  803.                 Call Xtxxts("请选择项目类型!", 0, 3)
  804.                 Exit Function
  805.             End If
  806.         
  807.             '[>>判断项目名称是否重复
  808.             If .State = 1 Then .Close
  809.             .Open "SELECT * FROM Rs_Items WHERE ChName = '" + Trim(LrText(0).Text) + "'", Cw_DataEnvi.DataConnect, adOpenDynamic, adLockOptimistic
  810.     
  811.             If Not .EOF Then
  812.                 Tsxx = "项目名称重复!"
  813.                 Call Xtxxts(Tsxx, 0, 1)
  814.                 LrText(0).SetFocus
  815.                 Bclrsj = False
  816.                 Exit Function
  817.             End If
  818.             
  819.             '判断记录内容无误后,将记录内容写入数据表
  820.             On Error GoTo Swcwcl
  821. '            首先获得项目编号
  822.             nnulStr = "SELECT 'RsU'+RIGHT('000'+CONVERT(VARCHAR(3),(CONVERT(int,RIGHT(MAX(Fieldname),3))+1)),3) FROM rs_items WHERE fieldname LIKE 'RsU%'"
  823.             nulStr = "SELECT 'RsU'+RIGHT('000'+CONVERT(VARCHAR(3),ISNULL(max(Fieldname),0)+1),3) FROM rs_items WHERE fieldname LIKE 'RsU%' "
  824.             sSql = "IF EXISTS(SELECT * FROM Rs_Items WHERE fieldname LIKE 'Rsu%') " + Chr$(10) _
  825.                     & "SELECT fname= (" & nnulStr & ")" & Chr$(10) _
  826.                     & " ELSE " + Chr$(10) _
  827.                     & "SELECT fname= (" & nulStr & ")"
  828.             Cw_DataEnvi.DataConnect.BeginTrans
  829.             
  830.             Set tmpRs = Cw_DataEnvi.DataConnect.Execute(sSql)
  831.             If Not tmpRs.EOF Then FieldName = tmpRs!fName
  832. '           向人事项目表存入项目记录
  833. '           向相关帮助表名和字段名填入相应数据
  834.             If LrText(3).Tag = "" Then
  835.                 sSql = "INSERT INTO Rs_Items (ItemId,ChName,FieldType,FieldLength,SID,FieldName,TableName,Width,FieldDotL,Correlation) " + Chr$(10) _
  836.                 & " SELECT ii=(SELECT ISNULL(MAX(ItemId),0)+1 FROM rs_items)," + Chr$(10) _
  837.                 & "'" & Trim(LrText(0).Text) & "','" & GetDataType & "','" & tLen & "','" & frmOwner & "','" & FieldName & "'" + Chr$(10) _
  838.                 & ",'Rs_ExtendInfo','" & tLen * 105 & "','" & dLen & "','" & LrText(3).Tag & "'"
  839.             Else
  840.                 sSql = "INSERT INTO Rs_Items (ItemId,ChName,FieldType,FieldLength,SID,FieldName,TableName,Width,FieldDotL,Correlation,CorTable,IndexCode,IndexName) " + Chr$(10) _
  841.                 & " SELECT ii=(SELECT ISNULL(MAX(ItemId),0)+1 FROM rs_items)," + Chr$(10) _
  842.                 & "'" & Trim(LrText(0).Text) & "','" & GetDataType & "','" & tLen & "','" & frmOwner & "','" & FieldName & "'" + Chr$(10) _
  843.                 & ",'Rs_ExtendInfo','" & tLen * 105 & "','" & dLen & "','" & LrText(3).Tag & "','Rs_CorSub','ListId','ListName'"
  844.             End If
  845.             
  846.             Cw_DataEnvi.DataConnect.Execute sSql
  847.             
  848.             sSql = "ALTER TABLE Rs_ExtendInfo ADD " & FieldName & " VARCHAR(50) NULL"
  849.             Cw_DataEnvi.DataConnect.Execute sSql
  850.             
  851.             Cw_DataEnvi.DataConnect.CommitTrans
  852.             '将记录加入网格
  853.             Sqlstr = "SELECT * FROM Rs_Items WHERE FieldName = '" & FieldName & "'"
  854.             Set Cxnrrec = Cw_DataEnvi.DataConnect.Execute(Sqlstr)
  855.    
  856.             With CzxsGrid
  857.                 .AddItem ""
  858.                 .RowHeight(.Rows - 1) = Sjhgd
  859.                 .Select .Rows - 1, Qslz
  860.                 Call Jltcwg(Cxnrrec, .Rows - 1)
  861.             End With
  862.             Tsxx = "保存完毕!"
  863.             Call Xtxxts(Tsxx, 0, 4)
  864.             
  865.             Call Cshlrxx(1)
  866.             LrText(0).SetFocus
  867.             '将网格按编码排序
  868. '            With CzxsGrid
  869. '                .Col = Sydz("001", GridStr(), Szzls)
  870. '                CzxsGrid.Sort = flexSortStringAscending
  871. '            End With
  872.             '<<]
  873.     
  874.         Else  '否则为修改记录
  875.  
  876.             If .State = 1 Then .Close
  877.             .Open "SELECT * FROM Rs_Items WHERE ChName = '" + Trim(LrText(0).Text) + "' and ItemId <>'" & ItemId & "'", Cw_DataEnvi.DataConnect, adOpenDynamic, adLockOptimistic
  878.             If Not .EOF Then
  879.                 Tsxx = "项目名称重复!"
  880.                 Call Xtxxts(Tsxx, 0, 1)
  881.                 LrText(1).SetFocus
  882.         
  883.                 Bclrsj = False
  884.                 Exit Function
  885.             End If
  886.             
  887.             
  888.             On Error GoTo Swcwcl
  889.             Cw_DataEnvi.DataConnect.BeginTrans
  890.             If .State = 1 Then .Close
  891.              If LrText(3).Tag = "" Then
  892.                 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 & "'"
  893.              Else
  894.                 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 & "'"
  895.              End If
  896.              Cw_DataEnvi.DataConnect.Execute (sSql)
  897.              
  898.              Cw_DataEnvi.DataConnect.CommitTrans
  899.    
  900. '            '刷新当前网格
  901.              Call Cxnrtcwg
  902.    
  903.         End If
  904.      
  905.         '保存记录成功,函数返回真值
  906.         Bclrsj = True
  907.         Exit Function
  908.         
  909.     End With
  910.  
  911. Swcwcl:
  912.      Cw_DataEnvi.DataConnect.RollbackTrans
  913.      
  914.      Tsxx = "存盘过程中出现错误,程序自动恢复保存前状态!"
  915.      Call Xtxxts(Tsxx, 0, 1)
  916.      
  917.      Exit Function
  918.      
  919. End Function
  920. Private Function Cshlrxx(lrztxx As Integer) As Boolean              '初始化录入字段信息
  921. Dim i As Integer
  922.     TextChangeLock = True       '关闭文本框Chang事件
  923.     
  924.     If lrztxx = 1 Then
  925.     
  926.         '增加新记录时将文本框清空
  927.         For jsqte = 0 To Max_Text_Index
  928.             If Len(Trim(Textstr(jsqte, 1))) <> 0 Then
  929.                 LrText(jsqte).Text = ""
  930.                 LrText(jsqte).Tag = ""
  931.             End If
  932.             TextValiJudgeLock(jsqte) = True
  933.         Next jsqte
  934.        
  935.         '[>>
  936.         '在此处可添加新增记录时初始化设置
  937.         For i = 0 To 2
  938.             LrText(i).Enabled = True
  939.         Next i
  940.         Cbo_ItmType.Enabled = True
  941.         Call FillCbo
  942.         '<<]
  943.     Else
  944.     
  945.         '修改记录时根据记录关键字(编码)从数据表中读入其他字段内容
  946.         
  947.             Sqlstr = "SELECT * FROM Rs_Items Where ItemId ='" & Trim(CzxsGrid.TextMatrix(CzxsGrid.Row, 0)) & "'"
  948.             Set RecTemp = Cw_DataEnvi.DataConnect.Execute(Sqlstr)
  949.        
  950.             '记录如存在则读入其内容,否则提示记录已被其他人删除
  951.             If Not RecTemp.EOF Then
  952.                 ItemId = RecTemp.Fields("itemId")                         '保存当前修改的记录标示
  953.                 LrText(0).Text = Trim(RecTemp.Fields("ChName") & "")             '项目名称
  954.                 LrText(1).Text = Trim(RecTemp.Fields("FieldLength") & "")        '项目长度
  955.                 LrText(2).Text = Trim(RecTemp.Fields("FieldDotL"))
  956.                 Call LocateTypeCbo(Trim(RecTemp.Fields("FieldType")))
  957.                 If GetHelpName(Trim(RecTemp.Fields("Correlation"))) <> "000" Then
  958.                     LrText(3).Text = GetHelpName(Trim(RecTemp.Fields("Correlation")))
  959.                     LrText(3).Tag = Trim(RecTemp.Fields("Correlation") & "")
  960.                 End If
  961. '           前台是用不同背景颜色表示不同表的字段  非白色的是 Rs_BasicInfo 只能修改相关帮助
  962.                 If CzxsGrid.TextMatrix(CzxsGrid.Row, 0) < 25 Then
  963.                     For i = 0 To 2
  964.                         LrText(i).Enabled = False
  965.                     Next i
  966.                     Cbo_ItmType.Enabled = False
  967.                 Else
  968.                     For i = 0 To 2
  969.                         LrText(i).Enabled = True
  970.                     Next i
  971.                     Cbo_ItmType.Enabled = True
  972.                 End If
  973.             End If
  974.        
  975.     End If
  976.     
  977.     Cshlrxx = True
  978.     TextChangeLock = False
  979.     
  980. End Function
  981. Private Sub Scdqjl()                 '删 除 当 前 记 录
  982.     Dim Yhanswer As Integer
  983.   
  984.     '判断用户是否有此功能执行权限,如有则写上机日志(进入)
  985.     If Not Security_Log(Str_RightEdit, Xtczybm, 1, True) Then
  986.          Exit Sub
  987.     End If
  988.   
  989.     '非数据行不能删除
  990.     If CzxsGrid.Row < CzxsGrid.FixedRows Then
  991.         Exit Sub
  992.     End If
  993.     
  994.     '网格0列存储的是itmid
  995.     If CzxsGrid.TextMatrix(CzxsGrid.Row, 0) < 25 Then
  996.         Call Xtxxts("人事基本项目,不能删除", 0, 1)
  997.         Exit Sub
  998.     End If
  999.     
  1000.     '用户确认是否删除记录
  1001.     Tsxx = "请确认是否删除当前记录?"
  1002.     Yhanswer = Xtxxts(Tsxx, 2, 2)
  1003.     
  1004.     If Yhanswer = 2 Then
  1005.         Exit Sub
  1006.     End If
  1007.     On Error GoTo Cwcl
  1008.   
  1009.     Cw_DataEnvi.DataConnect.BeginTrans
  1010.     '[>>以下需自定义部分
  1011.     If DelRsItem(CzxsGrid.TextMatrix(CzxsGrid.Row, 1), CzxsGrid.TextMatrix(CzxsGrid.Row, Sydz("001", GridStr(), Szzls))) = True Then
  1012.         Cw_DataEnvi.DataConnect.Execute "delete Rs_Items where ItemId = '" + Trim(CzxsGrid.TextMatrix(CzxsGrid.Row, 0)) + "'"
  1013.         Cw_DataEnvi.DataConnect.Execute "ALTER TABLE Rs_ExtendInfo DROP COLUMN " + CzxsGrid.TextMatrix(CzxsGrid.Row, 1)
  1014.         CzxsGrid.RemoveItem CzxsGrid.Row
  1015.     End If
  1016.     '以上为自定义部分<<]
  1017.   
  1018.     Cw_DataEnvi.DataConnect.CommitTrans
  1019.     Exit Sub
  1020.   
  1021. Cwcl:
  1022.     Cw_DataEnvi.DataConnect.RollbackTrans
  1023.     
  1024.     If Err.Number = -2147217873 Then                '(-2147217873 为SQL Server 2000通过建立外键产生的错误号)
  1025.         Tsxx = "该编码已经被使用,不能删除!"
  1026.         Call Xtxxts(Tsxx, 0, 1)
  1027.         Exit Sub
  1028.     Else
  1029.         Tsxx = "出现未知情况,该编码不能被删除!"
  1030.         Call Xtxxts(Tsxx, 0, 1)
  1031.         Exit Sub
  1032.     End If
  1033.     
  1034. End Sub
  1035. '*******************以下区域为编写自定义过程区域**********************
  1036. Private Function GetDataType() As Integer
  1037. '将下拉框的类型转变成系统统一的代号
  1038.     Select Case Cbo_ItmType.Text
  1039.     Case "字符型"
  1040.         GetDataType = 0
  1041.     Case "数字型"
  1042.         GetDataType = 5
  1043.     Case "日期型"
  1044.         GetDataType = 7
  1045.     Case Else
  1046.         GetDataType = -1
  1047.     End Select
  1048.     
  1049. End Function
  1050. Private Function LocateTypeCbo(Code As Integer)
  1051. '填充类型下拉框
  1052.     With Cbo_ItmType
  1053.         Select Case Code
  1054.         
  1055.         Case 0
  1056.             .Text = .List(0)
  1057.         Case 5
  1058.             .Text = .List(1)
  1059.         Case 7
  1060.             .Text = .List(2)
  1061.         Case Else
  1062.         End Select
  1063.     End With
  1064. End Function
  1065. Private Function ConvertCode2Type(Code As Integer) As String
  1066. '把数据表里存储的类型代号.翻译过来
  1067.     With Cbo_ItmType
  1068.         Select Case Code
  1069.         
  1070.         Case 0
  1071.             ConvertCode2Type = "字符型"
  1072.         Case 5
  1073.             ConvertCode2Type = "数字型"
  1074.         Case 7
  1075.             ConvertCode2Type = "日期型"
  1076.         Case Else
  1077.         End Select
  1078.     End With
  1079. End Function
  1080. Private Function GetHelpName(aStr As String) As String
  1081. Dim tmpRs As New ADODB.Recordset
  1082. Dim sSql As String
  1083. sSql = "SELECT * FROM Rs_CorMain Where SortId = '" & Trim(aStr) & "'"
  1084. Set tmpRs = Cw_DataEnvi.DataConnect.Execute(sSql)
  1085. If Not tmpRs.EOF Then
  1086.     GetHelpName = tmpRs.Fields("SortName")
  1087. Else
  1088.     GetHelpName = ""
  1089. End If
  1090. End Function
  1091. Private Function CanModify(fName As String) As Boolean
  1092. '针对人事项目指定相关项的和已经录入数据项目进行控制
  1093. Dim tmpRs As New ADODB.Recordset
  1094. Dim aStr As String
  1095. CanModify = False
  1096. On Error GoTo errD
  1097. If CzxsGrid.TextMatrix(CzxsGrid.Row, 0) < 25 Then
  1098.     aStr = "SELECT 1 FROM Rs_BasicInfo WHERE " & fName & " IS NOT null AND " & fName & "<>'' "
  1099. Else
  1100.     aStr = "SELECT 1 FROM Rs_ExtendInfo WHERE " & fName & " IS NOT null AND " & fName & "<>'' "
  1101. End If
  1102. Set tmpRs = Cw_DataEnvi.DataConnect.Execute(aStr)
  1103. If Not tmpRs.EOF Then
  1104.     Call Xtxxts("该项目已经录入数据,不能修改!", 0, 3)
  1105.     tmpRs.Close
  1106.     Exit Function
  1107. End If
  1108. tmpRs.Close
  1109. CanModify = True
  1110. Exit Function
  1111. errD:
  1112. End Function
  1113. '*******************以上区域为编写自定义过程区域**********************
  1114. '******************以下为基本处理程序(固定不变)************************'
  1115. Private Sub Form_KeyUp(KeyCode As Integer, Shift As Integer)        '支持热键操作
  1116.     If Shift = 2 Then
  1117.         Select Case UCase(Chr(KeyCode))
  1118.             Case "P"                                                                          'Ctrl+P 打印
  1119.                 If SzToolbar.Buttons("dy").Visible And SzToolbar.Buttons("dy").Enabled Then
  1120.                     Call bbyl(False)
  1121.                 End If
  1122.             Case "A"                                                                          'Ctrl+A 增加
  1123.                 '判断用户是否有此功能执行权限,如有则写上机日志(进入)
  1124.                 If Not Security_Log(Str_RightEdit, Xtczybm, 1, True) Then
  1125.                     Exit Sub
  1126.                 End If
  1127.                 If SzToolbar.Buttons("zj").Visible And SzToolbar.Buttons("zj").Enabled Then
  1128.                     Call Toolbjzt
  1129.                     Lrzt = 1
  1130.                     Call Cshlrxx(Lrzt)
  1131.                     LrText(0).SetFocus
  1132.                     LrText(0).Enabled = True
  1133.                 End If
  1134.             Case "D"                                                                          'Ctrl+D 删除
  1135.                 If SzToolbar.Buttons("sc").Visible And SzToolbar.Buttons("sc").Enabled Then
  1136.                     Call Scdqjl
  1137.                 End If
  1138.         End Select
  1139.     End If
  1140.     
  1141. End Sub
  1142. Private Sub SzToolbar_ButtonClick(ByVal Button As MSComctlLib.Button)
  1143.    
  1144.     Select Case Button.Key
  1145.         Case "ymsz"                                          '页面设置
  1146.             Dyymctbl.Show 1
  1147.         Case "yl"                                            '预 览
  1148.             Call bbyl(True)
  1149.         Case "dy"                                            '打 印
  1150.             Call bbyl(False)
  1151.         Case "zj"                                            '增 加
  1152.             '判断用户是否有此功能执行权限,如有则写上机日志(进入)
  1153.             If Not Security_Log(Str_RightEdit, Xtczybm, 1, True) Then
  1154.                 Exit Sub
  1155.             End If
  1156.             Call Toolbjzt
  1157.             Lrzt = 1
  1158.             Call Cshlrxx(Lrzt)
  1159.             LrText(0).Enabled = True
  1160.             LrText(0).SetFocus
  1161.         Case "xg"                                            '修 改
  1162.             Call Xgdqjl
  1163.         Case "sc"                                            '删 除
  1164.             Call Scdqjl
  1165.         Case "sx"                                            '刷 新
  1166.             Call Cxnrtcwg
  1167.         Case "bz"                                            '帮 助
  1168.             Call F1bz
  1169.         Case "fh"                                            '退 出
  1170.             Unload Me
  1171.         End Select
  1172.         
  1173. End Sub
  1174. Private Sub CzxsGrid_DblClick()                            '修改当前编码记录
  1175.     Call Xgdqjl
  1176.   
  1177. End Sub
  1178. Private Sub Xgdqjl()                                       '修改当前编码记录
  1179.     '判断用户是否有此功能执行权限,如有则写上机日志(进入)
  1180.     If Not Security_Log(Str_RightEdit, Xtczybm, 1, True, False) Then
  1181.         BcCommand.Enabled = False
  1182.     End If
  1183.     If CzxsGrid.Row < CzxsGrid.FixedRows Then
  1184.         Exit Sub
  1185.     End If
  1186.     
  1187.      '判断出是人事基本项目,则只能修改相关项
  1188.     If CzxsGrid.TextMatrix(CzxsGrid.Row, 0) = 8 Then
  1189.         Call Xtxxts("部门是特殊项目,不能修改!", 0, 3)
  1190.         Exit Sub
  1191.     End If
  1192.     
  1193.     If Not CanModify(CzxsGrid.TextMatrix(CzxsGrid.Row, 1)) Then Exit Sub
  1194.     
  1195.     Call Toolbjzt
  1196.     Lrzt = 2
  1197.     
  1198.     
  1199.     If Cshlrxx(Lrzt) Then
  1200. '        LrText(3).SetFocus
  1201. '        LrText(0).Enabled = False
  1202.     End If
  1203.   
  1204. End Sub
  1205. Private Sub Toolbjzt()                                     'Toolbar状态(编辑状态)
  1206.     '判断用户是否有此功能执行权限,如有则写上机日志(进入)
  1207.     If Not Security_Log(Str_RightEdit, Xtczybm, 1, True, False) Then
  1208.         BcCommand.Enabled = False
  1209.     End If
  1210.     StTab.TabEnabled(1) = True
  1211.     StTab.Tab = 1
  1212.     Frame1.Enabled = True
  1213.     StTab.TabEnabled(0) = False
  1214.     CzxsGrid.Enabled = False
  1215.   
  1216.     With SzToolbar
  1217.         .Buttons("ymsz").Enabled = False
  1218.         .Buttons("dy").Enabled = False
  1219.         .Buttons("yl").Enabled = False
  1220.         .Buttons("zj").Enabled = False
  1221.         .Buttons("xg").Enabled = False
  1222.         .Buttons("sc").Enabled = False
  1223.         .Buttons("sx").Enabled = False
  1224.     End With
  1225.   
  1226. End Sub
  1227. Private Sub Toolfbjzt()                                    'Toolbar状态(非编辑状态)
  1228.     StTab.TabEnabled(0) = True
  1229.     StTab.Tab = 0
  1230.     CzxsGrid.Enabled = True
  1231.     Frame1.Enabled = False
  1232.     StTab.TabEnabled(1) = False
  1233.     LrText(3).Enabled = True
  1234.     Ydcommand1(3).Enabled = True
  1235.     Lrzt = 0
  1236.     
  1237.     With SzToolbar
  1238.         .Buttons("ymsz").Enabled = True
  1239.         .Buttons("dy").Enabled = True
  1240.         .Buttons("yl").Enabled = True
  1241.         .Buttons("zj").Enabled = True
  1242.         .Buttons("xg").Enabled = True
  1243.         .Buttons("sc").Enabled = True
  1244.         .Buttons("sx").Enabled = True
  1245.     End With
  1246.   
  1247. End Sub
  1248. Private Sub BcCommand_Click()                                           '保 存
  1249.     If Not Bclrsj Then
  1250.         Exit Sub
  1251.     End If
  1252.   
  1253.     If Lrzt = 2 Then
  1254.         Call Toolfbjzt
  1255.     End If
  1256.   
  1257. End Sub
  1258. Private Sub QxCommand_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)       '取消
  1259.   
  1260.     '避免执行Click程序
  1261.     Bln_Cancel = True
  1262.   
  1263.     Call Cancel
  1264.     
  1265. End Sub
  1266. Private Sub QxCommand_Click()                                                                         '取消
  1267.  
  1268.     If Bln_Cancel Then
  1269.         Bln_Cancel = False
  1270.         Exit Sub
  1271.     End If
  1272.  
  1273.     Call Cancel
  1274.     
  1275. End Sub
  1276. Private Sub Cancel()                                                                                  '取消
  1277.   
  1278.     '文本框加锁
  1279.     For jsqte = 0 To Max_Text_Index
  1280.         TextValiJudgeLock(jsqte) = True
  1281.     Next jsqte
  1282.   
  1283.     Call Toolfbjzt
  1284.     
  1285. End Sub
  1286. Private Sub CzxsGrid_BeforeMoveColumn(ByVal Col As Long, Position As Long)           '网格列发生移动时自动交换网格索引信息
  1287.     
  1288.     FnBln_RefreshArray Col, Position, GridStr(), GridInf()
  1289. End Sub
  1290. Private Sub GsToolbar_ButtonClick(ByVal Button As MSComctlLib.Button)   '表格格式设置(通用)
  1291.     
  1292.     Select Case Button.Key
  1293.         Case "bcgs"                                       '保存表格格式
  1294.             Call Bcwggs(CzxsGrid, GridCode, GridStr())
  1295.         Case "hfmrgs"                                     '恢复默认格式
  1296.             Call Hfmrgs(CzxsGrid, GridCode, GridStr())
  1297.         Case "szxsxm"                                     '设置显示项目
  1298.             Call Szxsxm(CzxsGrid, GridCode)
  1299.     End Select
  1300.     
  1301. End Sub
  1302. Private Sub bbyl(bbylte As Boolean)                    '报表打印预览
  1303.     Dim Bbzbt$, Bbxbt() As String, bbxbtzzxs() As Integer, Bbxbtgs As Integer
  1304.     Dim Bbbwh() As String, Bbbwhzzxs() As Integer, Bbbwhgs As Integer
  1305.     Bbxbtgs = 1                                          '报 表 小 标 题 行 数
  1306.     Bbbwhgs = 0                                          '报 表 表 尾 行 数
  1307.     ReDim Bbxbt(1 To Bbxbtgs)
  1308.     ReDim bbxbtzzxs(1 To Bbxbtgs)
  1309.     
  1310.     If Bbbwhgs <> 0 Then
  1311.         ReDim Bbbwh(1 To Bbbwhgs)
  1312.         ReDim Bbbwhzzxs(1 To Bbbwhgs)
  1313.     End If
  1314.     
  1315.     Bbzbt = ReportTitle
  1316.     Bbxbt(1) = " "
  1317.     bbxbtzzxs(1) = 0                                     '报表行组织形式(0-居左 1-居中 2-居右)
  1318.     
  1319.     Call Scyxsjb(CzxsGrid)                               '生成报表数据
  1320.     Call Scdybb(Dyymctbl, Bbzbt, Bbxbt(), bbxbtzzxs(), Bbxbtgs, Bbbwh(), Bbbwhzzxs(), Bbbwhgs, bbylte)
  1321.   
  1322.     If Not bbylte Then
  1323.         Unload DY_Tybbyldy
  1324.     End If
  1325.     
  1326. End Sub
  1327. Private Sub FillCbo()
  1328.     Cbo_ItmType.Clear
  1329.     Cbo_ItmType.AddItem ("字符型")
  1330.     Cbo_ItmType.AddItem ("数字型")
  1331.     Cbo_ItmType.AddItem ("日期型")
  1332. End Sub
  1333. '************以下为文本框录入处理程序(固定不变部分)*************'
  1334. Private Sub Wbklrwbcl(Index As Integer)    '文本框录入事后处理程序
  1335.     '以下为依据实际情况自定义部分[
  1336.   
  1337.         '在此填写文本框录入事后处理程序
  1338.    
  1339.     ']以上为依据实际情况自定义部分
  1340.     
  1341. End Sub
  1342. Private Sub LrText_Change(Index As Integer)
  1343.     '屏蔽程序改变控制
  1344.     If TextChangeLock Then
  1345.         Exit Sub
  1346.     End If
  1347.     
  1348.     TextValiJudgeLock(Index) = False    '打开有效性判断锁
  1349.     
  1350.     '限制字段录入长度
  1351.           
  1352.     TextChangeLock = True  '加锁(防止执行Lrtext_Change)
  1353.      
  1354.     Select Case Textint(Index, 1)
  1355.         Case 8, 11      '金额型
  1356.             Call Sjgskz(LrText(Index), Xtjezws - Xtjexsws - 1, Xtjexsws)
  1357.         Case 9, 12      '数量型
  1358.             Call Sjgskz(LrText(Index), Xtslzws - Xtslxsws - 1, Xtslxsws)
  1359.         Case 10          '单价型
  1360.             Call Sjgskz(LrText(Index), Xtdjzws - Xtdjxsws - 1, Xtdjxsws)
  1361.         Case Else        '其他小数类型控制
  1362.             If Textint(Index, 6) <> 0 Or Textint(Index, 7) <> 0 Then
  1363.                 Call Sjgskz(LrText(Index), Textint(Index, 6), Textint(Index, 7))
  1364.             End If
  1365.     End Select
  1366.         
  1367.     TextChangeLock = False '解锁
  1368.     
  1369. End Sub
  1370. Private Sub LrText_GotFocus(Index As Integer)                                                 '文本框得到焦点,显示相应信息
  1371.    
  1372.     Call TextShow(Index)
  1373.     CurTextIndex = Index
  1374.     LrText(Index).SelStart = Len(LrText(Index))
  1375.    
  1376. End Sub
  1377. Private Sub LrText_KeyDown(Index As Integer, KeyCode As Integer, Shift As Integer)            '字段按F2键提供帮助
  1378.    
  1379.     Select Case KeyCode
  1380.          Case vbKeyF2
  1381.              Call Text_Help(Index)
  1382.     End Select
  1383.    
  1384. End Sub
  1385. Private Sub LrText_KeyPress(Index As Integer, KeyAscii As Integer)                            '文本框录入事中控制
  1386.    
  1387.     Call InputFieldLimit(LrText(Index), Textint(Index, 1), KeyAscii)
  1388. End Sub
  1389. Private Sub LrText_LostFocus(Index As Integer)                                                '文本框失去焦点
  1390.     '显示相应信息但不能进行有效性判断
  1391.   
  1392. End Sub
  1393. Private Sub Ydcommand1_MouseDown(Index As Integer, Button As Integer, Shift As Integer, x As Single, y As Single)     '按钮提供帮助
  1394.     
  1395.     Call Text_Help(Index)
  1396.     
  1397. End Sub
  1398. Private Sub Text_Help(Index As Integer)                                                       '录入字段帮助
  1399.   
  1400.     If Not Textboolean(Index, 1) Then
  1401.         Exit Sub
  1402.     End If
  1403.    
  1404.     '调用帮助
  1405.     Call Drbmhelp(Textint(Index, 2), Textstr(Index, 4), Trim(LrText(Index).Text))
  1406.   
  1407.     '根据设置选择显示编码和名称,并进行存储
  1408.     If Len(Xtfhcs) <> 0 Then
  1409.         If Textint(Index, 3) = 1 Then
  1410.             LrText(Index).Text = Xtfhcsfz
  1411.             LrText(Index).Tag = Xtfhcs
  1412.         Else
  1413.             LrText(Index).Text = Xtfhcs
  1414.             LrText(Index).Tag = Xtfhcsfz
  1415.         End If
  1416.     End If
  1417.    
  1418. '    LrText(Index).SetFocus
  1419.     
  1420. End Sub
  1421. Private Sub TextShow(Index As Integer)        '文本框得到焦点,显示相应信息
  1422.     '填写文本框得到焦点,进行相应信息处理程序
  1423.    
  1424. End Sub
  1425. Private Sub Wbkcsh()                          '录入文本框初始化
  1426.     Dim jsqte As Integer
  1427.   
  1428.     '最大录入文本框索引值
  1429.     Max_Text_Index = Textvar(1)
  1430.   
  1431.     ReDim TextValiJudgeLock(Max_Text_Index)
  1432.     
  1433.     For jsqte = 0 To Max_Text_Index
  1434.      
  1435.         If Len(Trim(Textstr(jsqte, 1))) <> 0 Then
  1436.             If Textboolean(jsqte, 1) Then
  1437.                 If jsqte <> 0 And Not Textboolean(jsqte, 3) Then
  1438.                     Load Ydcommand1(jsqte)
  1439.                 End If
  1440.                 Ydcommand1(jsqte).Visible = True
  1441.                 Ydcommand1(jsqte).Move LrText(jsqte).Left + LrText(jsqte).Width, LrText(jsqte).Top
  1442.             End If
  1443.             TextChangeLock = True
  1444.             LrText(jsqte).Text = ""
  1445.             LrText(jsqte).Tag = ""
  1446.             
  1447.             If Textint(jsqte, 5) <> 0 Then
  1448.                 LrText(jsqte).MaxLength = Textint(jsqte, 5)
  1449.             End If
  1450.             
  1451.             TextChangeLock = False
  1452.         End If
  1453.         
  1454.         TextValiJudgeLock(jsqte) = True
  1455.     Next jsqte
  1456.     
  1457. End Sub
  1458. Private Function TextYxxpd(Index As Integer) As Boolean           '文本框有效性判断
  1459.     Dim Sqlstr As String
  1460.     Dim Findrec As ADODB.Recordset
  1461.   
  1462.     '文本框内容未曾改变不进行有效性判断
  1463.     If TextValiJudgeLock(Index) Then
  1464.         TextYxxpd = True
  1465.         Exit Function
  1466.     End If
  1467.   
  1468.     '文本框内容为空认为有效,并清空其Tag值
  1469.     If Trim(LrText(Index)) = "" Then
  1470.         LrText(Index).Tag = ""
  1471.         Call Wbklrwbcl(Index)
  1472.         TextValiJudgeLock(Index) = True
  1473.         TextYxxpd = True
  1474.         Exit Function
  1475.     End If
  1476.   
  1477.     '可在此加入不做有效性判断的理由
  1478.   
  1479.     Select Case Textint(Index, 4)
  1480.         Case 1      '编码型
  1481.             Sqlstr = Trim(Textstr(Index, 5))
  1482.             Sqlstr = Replace(Sqlstr, "@", "'" + Trim(LrText(Index).Text) + "'")
  1483.             Set Findrec = Cw_DataEnvi.DataConnect.Execute(Sqlstr)
  1484.          
  1485.             If Findrec.EOF Then
  1486.                 Call Xtxxts(Trim(Textstr(Index, 6)), 0, 1)
  1487.                 LrText(Index).SetFocus
  1488.                 Exit Function
  1489.             Else
  1490.                 Select Case Textint(Index, 3)
  1491.                     Case 0
  1492.                         If Len(Trim(Textstr(Index, 2))) <> 0 Then
  1493.                             LrText(Index).Text = Trim(Findrec.Fields(Trim(Textstr(Index, 2))))
  1494.                         End If
  1495.                         If Len(Trim(Textstr(Index, 3) & "")) <> 0 Then
  1496.                             LrText(Index).Tag = Trim(Findrec.Fields(Trim(Textstr(Index, 3))))
  1497.                         End If
  1498.                     Case 1
  1499.                         If Len(Trim(Textstr(Index, 3) & "")) <> 0 Then
  1500.                             LrText(Index).Text = Trim(Findrec.Fields(Trim(Textstr(Index, 3))))
  1501.                         End If
  1502.                         If Len(Trim(Textstr(Index, 2))) <> 0 Then
  1503.                             LrText(Index).Tag = Trim(Findrec.Fields(Trim(Textstr(Index, 2))))
  1504.                         End If
  1505.                 End Select
  1506.             End If
  1507.             
  1508.         Case 2      '日期型
  1509.             If IsDate(LrText(Index).Text) Then
  1510.                 LrText(Index).Text = Format(LrText(Index).Text, "yyyy-mm-dd")
  1511.                 If Val(Mid(LrText(Index), 1, 4)) < 1900 Then
  1512.                     LrText(Index).Text = "1900" + Mid(LrText(Index), 5, 6)
  1513.                 End If
  1514.             Else
  1515.                 Tsxx = "非法公历日期!(格式:" + Format(Date, "yyyy-mm-dd") + ")"
  1516.                 Call Xtxxts(Tsxx, 0, 1)
  1517.                 LrText(Index).SetFocus
  1518.                 Exit Function
  1519.             End If
  1520.             
  1521.         Case 3      '其他类型
  1522.         
  1523.     End Select
  1524.     
  1525.     '如果有效则加锁,用户不改变内容则不再进行有效性判断
  1526.     TextValiJudgeLock(Index) = True
  1527.     '调用文本框事后处理程序
  1528.     Call Wbklrwbcl(Index)
  1529.    
  1530.     '有效性判断通过则返回True
  1531.     TextYxxpd = True
  1532.    
  1533. End Function