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

企业管理

开发平台:

Visual Basic

  1. VERSION 5.00
  2. Object = "{BEEECC20-4D5F-4F8B-BFDC-5D9B6FBDE09D}#1.0#0"; "vsflex8.ocx"
  3. Object = "{831FDD16-0C5C-11D2-A9FC-0000F8754DA1}#2.0#0"; "mscomctl.ocx"
  4. Object = "{BDC217C8-ED16-11CD-956C-0000C04E4C0A}#1.1#0"; "TABCTL32.OCX"
  5. Begin VB.Form Dev_ItemCorrelationForm 
  6.    Caption         =   "项目相关类别设置"
  7.    ClientHeight    =   6495
  8.    ClientLeft      =   60
  9.    ClientTop       =   345
  10.    ClientWidth     =   8730
  11.    HelpContextID   =   2502006
  12.    Icon            =   "设置_项目相关类别设置.frx":0000
  13.    KeyPreview      =   -1  'True
  14.    LinkTopic       =   "Form2"
  15.    MaxButton       =   0   'False
  16.    ScaleHeight     =   6495
  17.    ScaleWidth      =   8730
  18.    StartUpPosition =   2  '屏幕中心
  19.    Begin TabDlg.SSTab StTab 
  20.       Height          =   5745
  21.       Left            =   75
  22.       TabIndex        =   0
  23.       Top             =   675
  24.       Width           =   8580
  25.       _ExtentX        =   15134
  26.       _ExtentY        =   10134
  27.       _Version        =   393216
  28.       Style           =   1
  29.       Tabs            =   2
  30.       TabHeight       =   520
  31.       BeginProperty Font {0BE35203-8F91-11CE-9DE3-00AA004BB851} 
  32.          Name            =   "宋体"
  33.          Size            =   9
  34.          Charset         =   134
  35.          Weight          =   400
  36.          Underline       =   0   'False
  37.          Italic          =   0   'False
  38.          Strikethrough   =   0   'False
  39.       EndProperty
  40.       TabCaption(0)   =   "列表视图"
  41.       TabPicture(0)   =   "设置_项目相关类别设置.frx":1042
  42.       Tab(0).ControlEnabled=   -1  'True
  43.       Tab(0).Control(0)=   "CzxsGrid"
  44.       Tab(0).Control(0).Enabled=   0   'False
  45.       Tab(0).ControlCount=   1
  46.       TabCaption(1)   =   "单张视图"
  47.       TabPicture(1)   =   "设置_项目相关类别设置.frx":105E
  48.       Tab(1).ControlEnabled=   0   'False
  49.       Tab(1).Control(0)=   "Frame1"
  50.       Tab(1).ControlCount=   1
  51.       Begin VB.Frame Frame1 
  52.          Height          =   5265
  53.          Left            =   -74850
  54.          TabIndex        =   8
  55.          Top             =   420
  56.          Width           =   8415
  57.          Begin VB.CommandButton Ydcommand1 
  58.             Height          =   302
  59.             Index           =   0
  60.             Left            =   390
  61.             Picture         =   "设置_项目相关类别设置.frx":107A
  62.             Style           =   1  'Graphical
  63.             TabIndex        =   9
  64.             TabStop         =   0   'False
  65.             Top             =   1140
  66.             Visible         =   0   'False
  67.             Width           =   315
  68.          End
  69.          Begin VB.CommandButton QxCommand 
  70.             Cancel          =   -1  'True
  71.             Caption         =   "取消(&C)"
  72.             Height          =   300
  73.             Left            =   2990
  74.             TabIndex        =   4
  75.             Top             =   1320
  76.             Width           =   1120
  77.          End
  78.          Begin VB.CommandButton BcCommand 
  79.             Caption         =   "保存(&S)"
  80.             Height          =   300
  81.             Left            =   1770
  82.             TabIndex        =   3
  83.             Top             =   1320
  84.             Width           =   1120
  85.          End
  86.          Begin VB.TextBox LrText 
  87.             Height          =   300
  88.             Index           =   1
  89.             Left            =   1335
  90.             TabIndex        =   2
  91.             Text            =   "1"
  92.             Top             =   780
  93.             Width           =   2775
  94.          End
  95.          Begin VB.TextBox LrText 
  96.             Height          =   300
  97.             Index           =   0
  98.             Left            =   1335
  99.             TabIndex        =   1
  100.             Text            =   "0"
  101.             Top             =   390
  102.             Width           =   1395
  103.          End
  104.          Begin VB.CheckBox A_YNStop 
  105.             Caption         =   "固定"
  106.             Enabled         =   0   'False
  107.             Height          =   375
  108.             Left            =   10000
  109.             TabIndex        =   12
  110.             Top             =   450
  111.             Visible         =   0   'False
  112.             Width           =   945
  113.          End
  114.          Begin VB.Label Label_Name 
  115.             Caption         =   "Label1"
  116.             Height          =   45
  117.             Left            =   4230
  118.             TabIndex        =   13
  119.             Top             =   -90
  120.             Visible         =   0   'False
  121.             Width           =   915
  122.          End
  123.          Begin VB.Label TsLabel 
  124.             AutoSize        =   -1  'True
  125.             Caption         =   "类别名称:"
  126.             Height          =   180
  127.             Index           =   1
  128.             Left            =   465
  129.             TabIndex        =   11
  130.             Top             =   840
  131.             Width           =   810
  132.          End
  133.          Begin VB.Label TsLabel 
  134.             AutoSize        =   -1  'True
  135.             Caption         =   "类别编码:"
  136.             Height          =   180
  137.             Index           =   0
  138.             Left            =   465
  139.             TabIndex        =   10
  140.             Top             =   450
  141.             Width           =   810
  142.          End
  143.       End
  144.       Begin VSFlex8Ctl.VSFlexGrid CzxsGrid 
  145.          Height          =   5210
  146.          Left            =   105
  147.          TabIndex        =   7
  148.          Top             =   420
  149.          Width           =   8355
  150.          _cx             =   5080
  151.          _cy             =   5080
  152.          Appearance      =   1
  153.          BorderStyle     =   1
  154.          Enabled         =   -1  'True
  155.          BeginProperty Font {0BE35203-8F91-11CE-9DE3-00AA004BB851} 
  156.             Name            =   "宋体"
  157.             Size            =   9
  158.             Charset         =   134
  159.             Weight          =   400
  160.             Underline       =   0   'False
  161.             Italic          =   0   'False
  162.             Strikethrough   =   0   'False
  163.          EndProperty
  164.          MousePointer    =   0
  165.          BackColor       =   -2147483643
  166.          ForeColor       =   -2147483640
  167.          BackColorFixed  =   -2147483633
  168.          ForeColorFixed  =   -2147483630
  169.          BackColorSel    =   -2147483635
  170.          ForeColorSel    =   -2147483634
  171.          BackColorBkg    =   8421504
  172.          BackColorAlternate=   -2147483643
  173.          GridColor       =   -2147483633
  174.          GridColorFixed  =   -2147483632
  175.          TreeColor       =   -2147483632
  176.          FloodColor      =   192
  177.          SheetBorder     =   -2147483642
  178.          FocusRect       =   1
  179.          HighLight       =   1
  180.          AllowSelection  =   -1  'True
  181.          AllowBigSelection=   -1  'True
  182.          AllowUserResizing=   0
  183.          SelectionMode   =   0
  184.          GridLines       =   1
  185.          GridLinesFixed  =   2
  186.          GridLineWidth   =   1
  187.          Rows            =   5000
  188.          Cols            =   10
  189.          FixedRows       =   1
  190.          FixedCols       =   0
  191.          RowHeightMin    =   0
  192.          RowHeightMax    =   0
  193.          ColWidthMin     =   0
  194.          ColWidthMax     =   0
  195.          ExtendLastCol   =   0   'False
  196.          FormatString    =   ""
  197.          ScrollTrack     =   0   'False
  198.          ScrollBars      =   3
  199.          ScrollTips      =   0   'False
  200.          MergeCells      =   0
  201.          MergeCompare    =   0
  202.          AutoResize      =   -1  'True
  203.          AutoSizeMode    =   0
  204.          AutoSearch      =   0
  205.          AutoSearchDelay =   2
  206.          MultiTotals     =   -1  'True
  207.          SubtotalPosition=   1
  208.          OutlineBar      =   0
  209.          OutlineCol      =   0
  210.          Ellipsis        =   0
  211.          ExplorerBar     =   0
  212.          PicturesOver    =   0   'False
  213.          FillStyle       =   0
  214.          RightToLeft     =   0   'False
  215.          PictureType     =   0
  216.          TabBehavior     =   0
  217.          OwnerDraw       =   0
  218.          Editable        =   0
  219.          ShowComboButton =   1
  220.          WordWrap        =   0   'False
  221.          TextStyle       =   0
  222.          TextStyleFixed  =   0
  223.          OleDragMode     =   0
  224.          OleDropMode     =   0
  225.          DataMode        =   0
  226.          VirtualData     =   -1  'True
  227.          DataMember      =   ""
  228.          ComboSearch     =   3
  229.          AutoSizeMouse   =   -1  'True
  230.          FrozenRows      =   0
  231.          FrozenCols      =   0
  232.          AllowUserFreezing=   0
  233.          BackColorFrozen =   0
  234.          ForeColorFrozen =   0
  235.          WallPaperAlignment=   9
  236.          AccessibleName  =   ""
  237.          AccessibleDescription=   ""
  238.          AccessibleValue =   ""
  239.          AccessibleRole  =   24
  240.       End
  241.    End
  242.    Begin MSComctlLib.Toolbar SzToolbar 
  243.       Align           =   1  'Align Top
  244.       Height          =   555
  245.       Left            =   0
  246.       TabIndex        =   5
  247.       Top             =   0
  248.       Width           =   8730
  249.       _ExtentX        =   15399
  250.       _ExtentY        =   979
  251.       ButtonWidth     =   820
  252.       ButtonHeight    =   926
  253.       Appearance      =   1
  254.       Style           =   1
  255.       ImageList       =   "ImageList1"
  256.       _Version        =   393216
  257.       BeginProperty Buttons {66833FE8-8583-11D1-B16A-00C0F0283628} 
  258.          NumButtons      =   12
  259.          BeginProperty Button1 {66833FEA-8583-11D1-B16A-00C0F0283628} 
  260.             Caption         =   "设置"
  261.             Key             =   "ymsz"
  262.             ImageIndex      =   1
  263.          EndProperty
  264.          BeginProperty Button2 {66833FEA-8583-11D1-B16A-00C0F0283628} 
  265.             Caption         =   "打印"
  266.             Key             =   "dy"
  267.             ImageIndex      =   2
  268.          EndProperty
  269.          BeginProperty Button3 {66833FEA-8583-11D1-B16A-00C0F0283628} 
  270.             Caption         =   "预览"
  271.             Key             =   "yl"
  272.             ImageIndex      =   3
  273.          EndProperty
  274.          BeginProperty Button4 {66833FEA-8583-11D1-B16A-00C0F0283628} 
  275.             Style           =   3
  276.          EndProperty
  277.          BeginProperty Button5 {66833FEA-8583-11D1-B16A-00C0F0283628} 
  278.             Caption         =   "增加"
  279.             Key             =   "zj"
  280.             ImageIndex      =   4
  281.          EndProperty
  282.          BeginProperty Button6 {66833FEA-8583-11D1-B16A-00C0F0283628} 
  283.             Caption         =   "修改"
  284.             Key             =   "xg"
  285.             ImageIndex      =   5
  286.          EndProperty
  287.          BeginProperty Button7 {66833FEA-8583-11D1-B16A-00C0F0283628} 
  288.             Caption         =   "删除"
  289.             Key             =   "sc"
  290.             ImageIndex      =   6
  291.          EndProperty
  292.          BeginProperty Button8 {66833FEA-8583-11D1-B16A-00C0F0283628} 
  293.             Style           =   3
  294.          EndProperty
  295.          BeginProperty Button9 {66833FEA-8583-11D1-B16A-00C0F0283628} 
  296.             Caption         =   "刷新"
  297.             Key             =   "sx"
  298.             ImageIndex      =   7
  299.          EndProperty
  300.          BeginProperty Button10 {66833FEA-8583-11D1-B16A-00C0F0283628} 
  301.             Style           =   3
  302.          EndProperty
  303.          BeginProperty Button11 {66833FEA-8583-11D1-B16A-00C0F0283628} 
  304.             Caption         =   "帮助"
  305.             Key             =   "bz"
  306.             ImageIndex      =   8
  307.          EndProperty
  308.          BeginProperty Button12 {66833FEA-8583-11D1-B16A-00C0F0283628} 
  309.             Caption         =   "退出"
  310.             Key             =   "fh"
  311.             ImageIndex      =   9
  312.          EndProperty
  313.       EndProperty
  314.       BorderStyle     =   1
  315.       Begin MSComctlLib.ImageList ImageList1 
  316.          Left            =   5040
  317.          Top             =   0
  318.          _ExtentX        =   1005
  319.          _ExtentY        =   1005
  320.          BackColor       =   -2147483643
  321.          ImageWidth      =   16
  322.          ImageHeight     =   16
  323.          MaskColor       =   12632256
  324.          _Version        =   393216
  325.          BeginProperty Images {2C247F25-8591-11D1-B16A-00C0F0283628} 
  326.             NumListImages   =   12
  327.             BeginProperty ListImage1 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  328.                Picture         =   "设置_项目相关类别设置.frx":1404
  329.                Key             =   "sz"
  330.             EndProperty
  331.             BeginProperty ListImage2 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  332.                Picture         =   "设置_项目相关类别设置.frx":179E
  333.                Key             =   "dy"
  334.             EndProperty
  335.             BeginProperty ListImage3 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  336.                Picture         =   "设置_项目相关类别设置.frx":1B38
  337.                Key             =   "yl"
  338.             EndProperty
  339.             BeginProperty ListImage4 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  340.                Picture         =   "设置_项目相关类别设置.frx":1ED2
  341.                Key             =   "xz"
  342.             EndProperty
  343.             BeginProperty ListImage5 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  344.                Picture         =   "设置_项目相关类别设置.frx":226C
  345.                Key             =   "xg"
  346.             EndProperty
  347.             BeginProperty ListImage6 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  348.                Picture         =   "设置_项目相关类别设置.frx":2606
  349.                Key             =   "sc"
  350.             EndProperty
  351.             BeginProperty ListImage7 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  352.                Picture         =   "设置_项目相关类别设置.frx":29A0
  353.                Key             =   "sx"
  354.             EndProperty
  355.             BeginProperty ListImage8 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  356.                Picture         =   "设置_项目相关类别设置.frx":2D3A
  357.                Key             =   "bz"
  358.             EndProperty
  359.             BeginProperty ListImage9 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  360.                Picture         =   "设置_项目相关类别设置.frx":30D4
  361.                Key             =   "tc"
  362.             EndProperty
  363.             BeginProperty ListImage10 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  364.                Picture         =   "设置_项目相关类别设置.frx":346E
  365.                Key             =   "bcgs"
  366.             EndProperty
  367.             BeginProperty ListImage11 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  368.                Picture         =   "设置_项目相关类别设置.frx":3808
  369.                Key             =   "mrlk"
  370.             EndProperty
  371.             BeginProperty ListImage12 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  372.                Picture         =   "设置_项目相关类别设置.frx":3BA2
  373.                Key             =   "xsxm"
  374.             EndProperty
  375.          EndProperty
  376.       End
  377.       Begin MSComctlLib.Toolbar GsToolbar 
  378.          Height          =   525
  379.          Left            =   6060
  380.          TabIndex        =   6
  381.          Top             =   0
  382.          Width           =   2595
  383.          _ExtentX        =   4577
  384.          _ExtentY        =   926
  385.          ButtonWidth     =   1455
  386.          ButtonHeight    =   926
  387.          Appearance      =   1
  388.          Style           =   1
  389.          ImageList       =   "ImageList1"
  390.          _Version        =   393216
  391.          BeginProperty Buttons {66833FE8-8583-11D1-B16A-00C0F0283628} 
  392.             NumButtons      =   3
  393.             BeginProperty Button1 {66833FEA-8583-11D1-B16A-00C0F0283628} 
  394.                Caption         =   "保存格式"
  395.                Key             =   "bcgs"
  396.                ImageIndex      =   10
  397.             EndProperty
  398.             BeginProperty Button2 {66833FEA-8583-11D1-B16A-00C0F0283628} 
  399.                Caption         =   "默认列宽"
  400.                Key             =   "hfmrgs"
  401.                ImageIndex      =   11
  402.             EndProperty
  403.             BeginProperty Button3 {66833FEA-8583-11D1-B16A-00C0F0283628} 
  404.                Caption         =   "显示项目"
  405.                Key             =   "szxsxm"
  406.                ImageIndex      =   12
  407.             EndProperty
  408.          EndProperty
  409.       End
  410.    End
  411. End
  412. Attribute VB_Name = "Dev_ItemCorrelationForm"
  413. Attribute VB_GlobalNameSpace = False
  414. Attribute VB_Creatable = False
  415. Attribute VB_PredeclaredId = True
  416. Attribute VB_Exposed = False
  417. '*******************************************************
  418. '*    模 块 名 称 :相关类别设置
  419. '*    功 能 描 述 :
  420. '*    程序员姓名  : 王雄
  421. '*    最后修改人  : 王哲
  422. '*    最后修改时间:2000/08/22
  423. '*    备        注:经过自己测试
  424. '*******************************************************
  425.  
  426. Dim RecDigest As New ADODB.Recordset     '常用摘要表
  427. Dim jdzygs As Integer                    '控件焦点转移个数
  428. Dim Lrzt As Integer                      '录入状态标志(0-非录入状态 1-增加 2-修改)
  429. Dim ReportTitle As String                '报表主标题
  430.   
  431. '以下为固定使用变量(网格)
  432. Dim Cxnrrec As New ADODB.Recordset       '显示查询内容动态集
  433. Dim Dyymctbl As New DY_Dyymsz            '打印页面窗体变量
  434. Dim GridCode As String                   '显示网格网格代码
  435. Dim GridInf() As Variant                 '整个网格设置信息
  436. Dim Tsxx As String                       '系统提示信息
  437. Dim Qslz As Long                         '网格隐藏(非操作显示)列数
  438. Dim Sjhgd As Double                      '网格数据行高度
  439. Dim GridBoolean() As Boolean             '网格列信息(布尔型)
  440. Dim GridStr()  As String                 '网格列信息(字符型)
  441. Dim GridInt() As Integer                 '网格列信息(整型)
  442. Dim Szzls As Integer                     '数组总列数(网格列数-1)
  443. '以下为固定使用变量(文本框)
  444. Dim Textvar() As Variant                 '存储变体型文本框信息
  445. Dim Textboolean() As Boolean             '存储布尔型文本框信息
  446. Dim Textint() As Integer                 '存储整型文本框信息
  447. Dim Textstr() As String                  '存储字符型文本框信息
  448. Dim Max_Text_Index As Integer            '最大录入文本框索引值
  449. Dim TextGroupCode As String              '文本框录入分组编码
  450. Dim TextValiLock As Boolean              '文本框失去焦点是否进行有效性控制判断
  451. Dim TextValiJudgeLock() As Boolean       '文本框录入有效性判断控制锁
  452. Dim CurTextIndex As Integer              '当前文本框索引值
  453. Dim TextChangeLock As Boolean            '文本框内容变换控制锁
  454. Private Sub Form_KeyPress(KeyAscii As Integer)   '控 制 焦 点 转 移
  455.     
  456.     jdzygs = 3
  457.     Select Case KeyAscii
  458.         Case vbKeyReturn
  459.             If Kjjdzy(jdzygs) Then
  460.                 KeyAscii = 0
  461.             End If
  462.         Case 39           '屏蔽"'"
  463.             KeyAscii = 0
  464.     End Select
  465. End Sub
  466. Private Sub Form_Load()
  467.   
  468.  
  469.     '定义可变部分变量
  470.     ReportTitle = "项目相关类别设置"
  471.   
  472.     '调入打印页面设置窗体
  473.      XtReportCode = "dev_CorrSort"
  474.      Load Dyymctbl
  475.   
  476.     '以下为文本框处理程序
  477.   
  478.     TextGroupCode = "dev_CorrSort"
  479.     Call Drwbkxx(TextGroupCode, Textvar(), Textboolean(), Textint(), Textstr())  '读入文本框录入信息
  480.     Call Wbkcsh
  481.   
  482.     '调 入 网 格
  483.     GridCode = "dev_CorrSort"
  484.   
  485.     Call BzWgcsh(CzxsGrid, GridCode, GridInf(), GridBoolean(), GridInt(), GridStr())
  486.   
  487.     Qslz = GridInf(1)
  488.     Sjhgd = GridInf(2)
  489.     Szzls = CzxsGrid.Cols - 1
  490.   
  491.     '填 充 网 格
  492.     Call Cxnrtcwg
  493.    
  494.     '初始化toolbar,tab卡状态
  495.    
  496.     StTab.Tab = 0
  497.     StTab.TabEnabled(1) = False
  498.     Frame1.Enabled = False
  499.     Lrzt = 0
  500.   
  501. End Sub
  502. Private Sub Cxnrtcwg()                               '查 询 内 容 填 充 网 格
  503.     Dim Sqlstr As String
  504.     Dim jsqte As Long
  505.   
  506.     '查询连接串
  507.     Sqlstr = "select * from DEV_CorrelationSort"
  508.     Set Cxnrrec = Cw_DataEnvi.DataConnect.Execute(Sqlstr)
  509.     With Cxnrrec
  510.         CzxsGrid.Clear , flexClearData
  511.         CzxsGrid.Rows = .RecordCount + CzxsGrid.FixedRows
  512.         If .EOF And .BOF Then
  513.             Exit Sub
  514.         End If
  515.         jsqte = CzxsGrid.FixedRows
  516.         Do While Not .EOF
  517.             If jsqte >= CzxsGrid.Rows Then
  518.                 CzxsGrid.AddItem ""
  519.             End If
  520.             Call Jltcwg(Cxnrrec, jsqte)
  521.             CzxsGrid.RowHeight(jsqte) = Sjhgd
  522.             .MoveNext
  523.             jsqte = jsqte + 1
  524.         Loop
  525.     End With
  526. End Sub
  527. Private Sub Jltcwg(Jlbrec As ADODB.Recordset, Rowjsq As Long)                                     '记录内容填充网格
  528.     
  529.     '[以下为自定义部分
  530.     With Jlbrec
  531.         CzxsGrid.TextMatrix(Rowjsq, Sydz("001", GridStr(), Szzls)) = Trim(.Fields("SortCode"))      '类别编码
  532.         CzxsGrid.TextMatrix(Rowjsq, Sydz("002", GridStr(), Szzls)) = Trim(.Fields("SortName"))      '类别名称
  533.         If .Fields("YNRoot") = True Then
  534.             CzxsGrid.TextMatrix(Rowjsq, Sydz("003", GridStr(), Szzls)) = True                       '是否固定
  535.         Else
  536.             CzxsGrid.TextMatrix(Rowjsq, Sydz("003", GridStr(), Szzls)) = False
  537.         End If
  538.     End With
  539.     '以上为自定义部分]
  540. End Sub
  541. Private Sub Form_Resize()
  542.     
  543.     On Error Resume Next
  544.   
  545.     If Me.Height < 5000 Then Me.Height = 5000
  546.     If Me.Width < 8805 Then Me.Width = 8805
  547.   
  548. End Sub
  549. Private Sub Form_Unload(Cancel As Integer)             '窗体卸载
  550.     
  551.     Set Cxnrrec = Nothing
  552.     Unload Dyymctbl
  553. End Sub
  554. Private Function Bclrsj() As Boolean                   '判断录入数据有效性,并保存数据
  555.     
  556.     Dim jsqte As Integer
  557.     
  558.     With RecDigest
  559.         For jsqte = 0 To Max_Text_Index
  560.             If Textint(jsqte, 8) = 1 Then     '字段不能为空
  561.                 If Len(Trim(LrText(jsqte).Text)) = 0 Then
  562.                     Tsxx = Textstr(jsqte, 7) & "不能为空!"
  563.                     Call Xtxxts(Tsxx, 0, 1)
  564.                     LrText(jsqte).SetFocus
  565.                     Bclrsj = False
  566.                     Exit Function
  567.                 End If
  568.             Else
  569.                 If Textint(jsqte, 8) = 2 Then   '字段不能为零
  570.                     If Val(Trim(LrText(jsqte).Text)) = 0 Then
  571.                         Tsxx = Textstr(jsqte, 7) & "不能为零!"
  572.                         Call Xtxxts(Tsxx, 0, 1)
  573.                         LrText(jsqte).SetFocus
  574.                         Bclrsj = False
  575.                         Exit Function
  576.                     End If
  577.                 End If
  578.             End If
  579.         Next jsqte
  580.         '对需要进行事后判断的文本框录入内容进行有效性判断 (固定不变)
  581.         For jsqte = 0 To Max_Text_Index
  582.             If Textboolean(jsqte, 2) Then
  583.                 If Not TextYxxpd(jsqte) Then
  584.                     Exit Function
  585.                 End If
  586.             End If
  587.         Next jsqte
  588.         '<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
  589.         On Error GoTo Err_bc
  590.   
  591.         If Lrzt = 1 Then  '增 加
  592.             If .State = 1 Then .Close
  593.             .Open "SELECT * FROM DEV_CorrelationSort Where SortCode ='" & Trim(LrText(0)) & "' ", Cw_DataEnvi.DataConnect, adOpenDynamic, adLockOptimistic
  594.             If Not RecDigest.EOF Then
  595.                 Tsxx = "类别编码重复!"
  596.                 Call Xtxxts(Tsxx, 0, 1)
  597.                 LrText(0).SetFocus
  598.                 Bclrsj = False
  599.                 Exit Function
  600.             End If
  601.             
  602.             If .State = 1 Then .Close
  603.             .Open "SELECT * FROM DEV_CorrelationSort WHERE SortName= '" + Trim(LrText(1).Text) + "'", Cw_DataEnvi.DataConnect, adOpenDynamic, adLockOptimistic
  604.     
  605.             If Not .EOF Then
  606.                 Tsxx = "类别名称重复!"
  607.                 Call Xtxxts(Tsxx, 0, 1)
  608.                 LrText(1).SetFocus
  609.                 Bclrsj = False
  610.                 Exit Function
  611.             End If
  612.             Cw_DataEnvi.DataConnect.Execute "insert into DEV_CorrelationSort(SortCode,SortName,YNRoot) values('" _
  613.                    & Trim(LrText(0).Text) & "','" & Trim(LrText(1).Text) & "','" & A_YNStop.Value & "')"
  614.    
  615.             Sqlstr = "SELECT * FROM DEV_CorrelationSort where SortName='" & Trim(LrText(1).Text) & "'"
  616.             Set Cxnrrec = Cw_DataEnvi.DataConnect.Execute(Sqlstr)
  617.             With CzxsGrid
  618.                 .AddItem ""
  619.                 .RowHeight(.Rows - 1) = Sjhgd
  620.                 .Select .Rows - 1, Qslz
  621.                 Call Jltcwg(Cxnrrec, .Rows - 1)
  622.             End With
  623.             Cxnrrec.Close
  624.             
  625.             Tsxx = "保存完毕!"
  626.             Call Xtxxts(Tsxx, 0, 4)
  627.             Call Cshlrxx(1)
  628.             LrText(0).SetFocus
  629.             
  630.             '<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
  631.         Else
  632.               If .State = 1 Then .Close
  633.             .Open "SELECT * FROM DEV_CorrelationSort WHERE SortName= '" + Trim(LrText(1).Text) + "' and Sortcode<>'" & Trim(LrText(0).Text) & "'", Cw_DataEnvi.DataConnect, adOpenDynamic, adLockOptimistic
  634.             If Not .EOF Then
  635.                 Tsxx = "项目类别名称重复!"
  636.                 Call Xtxxts(Tsxx, 0, 1)
  637.                 LrText(1).SetFocus
  638.         
  639.                 Bclrsj = False
  640.                 Exit Function
  641.             End If
  642.             Cw_DataEnvi.DataConnect.Execute "update DEV_CorrelationSort set SortName='" _
  643.                     & Trim(LrText(1).Text) & "',YNRoot='" & A_YNStop.Value & "'" _
  644.                     & "Where Sortcode = '" & Trim(LrText(0).Text) & "'"
  645.             Cw_DataEnvi.DataConnect.Execute "update DEV_item set ItmeCorrelation='" & Trim(LrText(1).Text) & "' where ItmeCorrelation='" & Label_Name.Caption & "'"
  646.             Sqlstr = "SELECT * FROM DEV_CorrelationSort  where  sortcode='" & Trim(LrText(0).Text) & "'"
  647.             Set Cxnrrec = Cw_DataEnvi.DataConnect.Execute(Sqlstr)
  648.             If Not Cxnrrec.EOF Then
  649.                 With CzxsGrid
  650.                     Call Jltcwg(Cxnrrec, .Row)
  651.                 End With
  652.             End If
  653.             Cxnrrec.Close
  654.         End If
  655.         Bclrsj = True
  656.         Exit Function
  657.     End With
  658.  
  659. Err_bc:
  660.    
  661.     Tsxx = "存盘过程中出现错误,请退出后重新进入!"
  662.     If Err.Number = -2147217900 Then
  663.         Tsxx = "编码不能重复"
  664.     End If
  665.      
  666.     Call Xtxxts(Tsxx, 0, 1)
  667.     Exit Function
  668. End Function
  669. Private Sub Cshlrxx(lrztxx As Integer)              '初始化录入字段信息
  670.     
  671.     If lrztxx = 1 Then
  672.         For jsqte = 0 To Max_Text_Index
  673.             If Len(Trim(Textstr(jsqte, 1))) <> 0 Then
  674.                 TextChangeLock = True
  675.                 LrText(jsqte).Text = ""
  676.                 LrText(jsqte).Tag = ""
  677.                 TextChangeLock = False
  678.             End If
  679.             TextValiJudgeLock(jsqte) = True
  680.         Next jsqte
  681.     Else
  682.         With CzxsGrid
  683.             Label_Name.Caption = Trim(.TextMatrix(.Row, Sydz("002", GridStr(), Szzls)))
  684.             LrText(0).Text = Trim(.TextMatrix(.Row, Sydz("001", GridStr(), Szzls)))         '类别编码
  685.             LrText(1).Text = Trim(.TextMatrix(.Row, Sydz("002", GridStr(), Szzls)))         '类别名称
  686.         End With
  687.     End If
  688. End Sub
  689. Private Sub Scdqjl()                 '删 除 当 前 记 录
  690.   
  691.     Dim Yhanswer As Integer
  692.     If Not Security_Log("Dev_ItemSortSetEdit", Xtczybm, 1, True) Then
  693.         Exit Sub
  694.     End If
  695.     If Trim(CzxsGrid.TextMatrix(CzxsGrid.Row, Sydz("003", GridStr(), Szzls))) = True Then
  696.         MsgBox "此项为固定项不能删除! ", 32
  697.         Exit Sub
  698.     End If
  699.     If CzxsGrid.Row < CzxsGrid.FixedRows Then
  700.         Exit Sub
  701.     End If
  702.     Tsxx = "请确认是否删除当前记录?"
  703.     Yhanswer = Xtxxts(Tsxx, 2, 2)
  704.     If Yhanswer = 2 Then
  705.         Exit Sub
  706.     End If
  707.     
  708.     On Error GoTo Cwcl
  709.   
  710.     '[以下需自定义部分
  711.     Cw_DataEnvi.DataConnect.Execute "delete DEV_CorrelationSort where Sortcode = '" + Trim(CzxsGrid.TextMatrix(CzxsGrid.Row, Sydz("001", GridStr(), Szzls))) + "'"
  712.     '以上为自定义部分]
  713.     
  714.     CzxsGrid.RemoveItem CzxsGrid.Row
  715.     Exit Sub
  716. Cwcl:
  717.     If Err.Number = -2147217900 Then
  718.         Tsxx = "该编码已经被使用,不能删除!"
  719.         Call Xtxxts(Tsxx, 0, 1)
  720.         Exit Sub
  721.     Else
  722.         Tsxx = "出现未知情况,该编码不能被删除!"
  723.         Call Xtxxts(Tsxx, 0, 1)
  724.         Exit Sub
  725.     End If
  726. End Sub
  727. '******************以下为基本处理程序(固定不变)************************'
  728. Private Sub Form_KeyUp(KeyCode As Integer, Shift As Integer)        '支持热键操作
  729.     
  730.     If Shift = 2 Then
  731.         Select Case UCase(Chr(KeyCode))
  732.             Case "P"                   'Ctrl+P 打印
  733.                 Call bbyl(False)
  734.             Case "I"                   'Ctrl+I 增加
  735.                 If Not Security_Log("Dev_ItemSortSetEdit", Xtczybm, 1, True) Then
  736.                     Exit Sub
  737.                 End If
  738.                 Call Toolbjzt
  739.                 Lrzt = 1
  740.                 Call Cshlrxx(Lrzt)
  741.                 LrText(0).SetFocus
  742.                 LrText(0).Locked = False
  743.             Case "D"                   'Ctrl+D 删除
  744.                 Call Scdqjl
  745.         End Select
  746.     End If
  747. End Sub
  748. Private Sub QxCommand_Click()
  749.   
  750.     For jsqte = 0 To Max_Text_Index
  751.         TextValiJudgeLock(jsqte) = True
  752.     Next jsqte
  753.     Call Toolfbjzt
  754. End Sub
  755. Private Sub SzToolbar_ButtonClick(ByVal Button As MSComctlLib.Button)
  756.     
  757.     Select Case Button.Key
  758.         Case "ymsz"                                          '页面设置
  759.             Dyymctbl.Show 1
  760.         Case "yl"                                            '预 览
  761.             Call bbyl(True)
  762.         Case "dy"                                            '打 印
  763.             Call bbyl(False)
  764.         Case "zj"                                            '增 加
  765.             If Not Security_Log("Dev_ItemSortSetEdit", Xtczybm, 1, True) Then
  766.                 Exit Sub
  767.             End If
  768.             Call Toolbjzt
  769.             Lrzt = 1
  770.             Call Cshlrxx(Lrzt)
  771.             LrText(0).Enabled = True
  772.             LrText(0).SetFocus
  773.         Case "xg"                                            '修 改
  774.             If CzxsGrid.Row < CzxsGrid.FixedRows Then MsgBox "没有选定明细! ", 32: Exit Sub
  775.             Call Xgdqjl
  776.         Case "sc"                                            '删 除
  777.             Call Scdqjl
  778.         Case "fq"                                            '取 消
  779.             Call Toolfbjzt
  780.         Case "sx"                                            '刷 新
  781.             Call Cxnrtcwg
  782.         Case "bz"                                            '帮 助
  783.             Call F1bz
  784.         Case "fh"                                            '退 出
  785.             Unload Me
  786.     End Select
  787. End Sub
  788. Private Sub CzxsGrid_DblClick()                            '修改当前编码记录
  789.     Call Xgdqjl
  790. End Sub
  791. Private Sub Xgdqjl() '修改当前编码记录
  792.     
  793.     
  794.     If Not Security_Log("Dev_ItemSetEdit", Xtczybm, 1, True, False) Then
  795.         BcCommand.Enabled = False
  796.     End If
  797.     If Trim(CzxsGrid.TextMatrix(CzxsGrid.Row, Sydz("003", GridStr(), Szzls))) = 1 Then
  798.         MsgBox "此项为固定项不能修改!", 32
  799.         Exit Sub
  800.     End If
  801.         
  802.     If CzxsGrid.Row < CzxsGrid.FixedRows Then
  803.         Exit Sub
  804.     End If
  805.     Call Toolbjzt
  806.     Lrzt = 2
  807.     Call Cshlrxx(Lrzt)
  808.     LrText(1).SetFocus
  809.     LrText(0).Enabled = False
  810. End Sub
  811. Private Sub Toolbjzt()                                     'Toolbar状态(编辑状态)
  812.     
  813.     StTab.TabEnabled(1) = True
  814.     A_YNStop.Value = 0
  815.     StTab.Tab = 1
  816.     Frame1.Enabled = True
  817.     StTab.TabEnabled(0) = False
  818.     CzxsGrid.Enabled = False
  819.     With SzToolbar
  820.         .Buttons("ymsz").Enabled = False
  821.         .Buttons("dy").Enabled = False
  822.         .Buttons("yl").Enabled = False
  823.         .Buttons("zj").Enabled = False
  824.         .Buttons("xg").Enabled = False
  825.         .Buttons("sc").Enabled = False
  826.         .Buttons("sx").Enabled = False
  827.     End With
  828. End Sub
  829. Private Sub Toolfbjzt()                                    'Toolbar状态(非编辑状态)
  830.     
  831.     StTab.TabEnabled(0) = True
  832.     StTab.Tab = 0
  833.     CzxsGrid.Enabled = True
  834.     Frame1.Enabled = False
  835.     StTab.TabEnabled(1) = False
  836.     Lrzt = 0
  837.     With SzToolbar
  838.         .Buttons("ymsz").Enabled = True
  839.         .Buttons("dy").Enabled = True
  840.         .Buttons("yl").Enabled = True
  841.         .Buttons("zj").Enabled = True
  842.         .Buttons("xg").Enabled = True
  843.         .Buttons("sc").Enabled = True
  844.         .Buttons("sx").Enabled = True
  845.     End With
  846. End Sub
  847. Private Sub BcCommand_Click()                                           '保 存
  848.     
  849.     If Not Bclrsj Then
  850.         Exit Sub
  851.     End If
  852.     If Lrzt = 2 Then
  853.         Call Toolfbjzt
  854.     End If
  855. End Sub
  856. Private Sub CzxsGrid_BeforeMoveColumn(ByVal Col As Long, Position As Long)           '网格列发生移动时自动交换网格索引信息
  857.     FnBln_RefreshArray Col, Position, GridStr(), GridInf()
  858. End Sub
  859. Private Sub GsToolbar_ButtonClick(ByVal Button As MSComctlLib.Button)   '表格格式设置(通用)
  860.     
  861.     Select Case Button.Key
  862.         Case "bcgs"                                       '保存表格格式
  863.             Call Bcwggs(CzxsGrid, GridCode, GridStr())
  864.         Case "hfmrgs"                                     '恢复默认格式
  865.             Call Hfmrgs(CzxsGrid, GridCode, GridStr())
  866.         Case "szxsxm"                                     '设置显示项目
  867.             Call Szxsxm(CzxsGrid, GridCode)
  868.     End Select
  869. End Sub
  870. Private Sub bbyl(bbylte As Boolean)                    '报表打印预览
  871.   
  872.     Dim Bbzbt$, Bbxbt() As String, bbxbtzzxs() As Integer, Bbxbtgs As Integer
  873.     Dim Bbbwh() As String, Bbbwhzzxs() As Integer, Bbbwhgs As Integer
  874.     Bbxbtgs = 1                                          '报 表 小 标 题 行 数
  875.     Bbbwhgs = 0                                          '报 表 表 尾 行 数
  876.     ReDim Bbxbt(1 To Bbxbtgs)
  877.     ReDim bbxbtzzxs(1 To Bbxbtgs)
  878.     If Bbbwhgs <> 0 Then
  879.         ReDim Bbbwh(1 To Bbbwhgs)
  880.         ReDim Bbbwhzzxs(1 To Bbbwhgs)
  881.     End If
  882.     Bbzbt = ReportTitle
  883.     Bbxbt(1) = " "
  884.     bbxbtzzxs(1) = 0                                     '报表行组织形式(0-居左 1-居中 2-居右)
  885.     Call Scyxsjb(CzxsGrid)                               '生成报表数据
  886.     Call Scdybb(Dyymctbl, Bbzbt, Bbxbt(), bbxbtzzxs(), Bbxbtgs, Bbbwh(), Bbbwhzzxs(), Bbbwhgs, bbylte)
  887.     If Not bbylte Then
  888.         Unload DY_Tybbyldy
  889.     End If
  890. End Sub
  891. '************以下为文本框录入处理程序(固定不变部分)*************'
  892. Private Sub Wbklrwbcl(Index As Integer)    '文本框录入事后处理程序
  893.     '以下为依据实际情况自定义部分[
  894.    
  895.     '在此填写文本框录入事后处理程序
  896.     
  897.     ']以上为依据实际情况自定义部分
  898. End Sub
  899. Private Sub LrText_Change(Index As Integer)
  900.     '屏蔽程序改变控制
  901.     If TextChangeLock Then
  902.         Exit Sub
  903.     End If
  904.    
  905.     TextValiJudgeLock(Index) = False    '打开有效性判断锁
  906.     
  907.     '限制字段录入长度
  908.           
  909.     TextChangeLock = True  '加锁(防止执行Lrtext_Change)
  910.     Call TextChangeLimit(LrText(Index), Textint(Index, 1))  '去掉无效字符
  911.         Select Case Textint(Index, 1)
  912.             Case 8           '金额型
  913.                 Call Sjgskz(LrText(Index), Xtjezws - Xtjexsws - 1, Xtjexsws)
  914.             Case 9           '数量型
  915.                 Call Sjgskz(LrText(Index), Xtslzws - Xtslxsws - 1, Xtslxsws)
  916.             Case 10          '单价型
  917.                 Call Sjgskz(LrText(Index), Xtdjzws - Xtdjxsws - 1, Xtdjxsws)
  918.             Case Else        '其他小数类型控制
  919.                 If Textint(Index, 6) <> 0 Or Textint(Index, 7) <> 0 Then
  920.                     Call Sjgskz(LrText(Index), Textint(Index, 6), Textint(Index, 7))
  921.                 End If
  922.         End Select
  923.         TextChangeLock = False '解锁
  924. End Sub
  925. Private Sub LrText_GotFocus(Index As Integer)                                                 '文本框得到焦点,显示相应信息
  926.    
  927.     Call TextShow(Index)
  928.     CurTextIndex = Index
  929. End Sub
  930. Private Sub LrText_KeyDown(Index As Integer, KeyCode As Integer, Shift As Integer)            '字段按F2键提供帮助
  931.     
  932.     Select Case KeyCode
  933.         Case vbKeyF2
  934.             Call Text_Help(Index)
  935.     End Select
  936. End Sub
  937. Private Sub LrText_KeyPress(Index As Integer, KeyAscii As Integer)                            '文本框录入事中控制
  938.     Call InputFieldLimit(LrText(Index), Textint(Index, 1), KeyAscii)
  939. End Sub
  940. Private Sub LrText_LostFocus(Index As Integer)                                                '文本框失去焦点进行有效性判断及相应处理
  941.     
  942.     If Not Textboolean(Index, 2) Then      '事中判断
  943.         Call TextYxxpd(Index)
  944.     End If
  945. End Sub
  946. Private Sub Ydcommand1_MouseDown(Index As Integer, Button As Integer, Shift As Integer, x As Single, y As Single)     '按钮提供帮助
  947.     Call Text_Help(Index)
  948. End Sub
  949. Private Sub Text_Help(Index As Integer)                                                       '录入字段帮助
  950.     
  951.     If Not Ydcommand1(Index).Visible Then
  952.         Exit Sub
  953.     End If
  954.     TextValiJudgeLock(Index) = True
  955.    
  956.     '先进行有效性判断
  957.     If Not TextYxxpd(CurTextIndex) Then
  958.         Exit Sub
  959.     End If
  960.    
  961.     Call Drbmhelp(Textint(Index, 2), Textstr(Index, 4), Trim(LrText(Index).Text))
  962.     If Len(Xtfhcs) <> 0 Then
  963.         If Textint(Index, 3) = 1 Then
  964.             LrText(Index).Text = Xtfhcsfz
  965.             LrText(Index).Tag = Xtfhcs
  966.         Else
  967.             LrText(Index).Text = Xtfhcs
  968.             LrText(Index).Tag = Xtfhcsfz
  969.         End If
  970.     End If
  971.     TextValiJudgeLock(Index) = False
  972.     LrText(Index).SetFocus
  973. End Sub
  974. Private Sub TextShow(Index As Integer)        '文本框得到焦点,显示相应信息
  975.    '填写文本框得到焦点,进行相应信息处理程序
  976.    
  977. End Sub
  978. Private Sub Wbkcsh()                          '录入文本框初始化
  979.     
  980.     Dim jsqte As Integer
  981.   
  982.     '最大录入文本框索引值
  983.     Max_Text_Index = Textvar(1)
  984.   
  985.     ReDim TextValiJudgeLock(Max_Text_Index)
  986.     For jsqte = 0 To Max_Text_Index
  987.         If Len(Trim(Textstr(jsqte, 1))) <> 0 Then
  988.             If Textboolean(jsqte, 1) Then
  989.                 If jsqte <> 0 Then
  990.                     Load Ydcommand1(jsqte)
  991.                 End If
  992.                 Ydcommand1(jsqte).Visible = True
  993.                 Ydcommand1(jsqte).Move LrText(jsqte).Left + LrText(jsqte).Width, LrText(jsqte).Top
  994.             End If
  995.             TextChangeLock = True
  996.             LrText(jsqte).Text = ""
  997.             LrText(jsqte).Tag = ""
  998.             If Textint(jsqte, 5) <> 0 Then
  999.                 LrText(jsqte).MaxLength = Textint(jsqte, 5)
  1000.             End If
  1001.             TextChangeLock = False
  1002.         End If
  1003.         TextValiJudgeLock(jsqte) = True
  1004.     Next jsqte
  1005. End Sub
  1006. Private Function TextYxxpd(Index As Integer) As Boolean           '文本框有效性判断
  1007.     
  1008.     Dim Sqlstr As String
  1009.     Dim Findrec As ADODB.Recordset
  1010.     If TextValiJudgeLock(Index) Then    '文本框内容未曾改变不进行有效性判断
  1011.         TextYxxpd = True
  1012.         Exit Function
  1013.     End If
  1014.     If Trim(LrText(Index)) = "" Then
  1015.         LrText(Index).Tag = ""
  1016.         Call Wbklrwbcl(Index)
  1017.         TextValiJudgeLock(Index) = True
  1018.         TextYxxpd = True
  1019.         Exit Function
  1020.     End If
  1021.     Select Case Textint(Index, 4)
  1022.         Case 1      '编码型
  1023.             Sqlstr = Trim(Textstr(Index, 5))
  1024.             Sqlstr = Replace(Sqlstr, "@", "'" + Trim(LrText(Index).Text) + "'")
  1025.             Set Findrec = Cw_DataEnvi.DataConnect.Execute(Sqlstr)
  1026.             If Findrec.EOF Then
  1027.                 Call Xtxxts(Trim(Textstr(Index, 6)), 0, 1)
  1028.                 LrText(Index).SetFocus
  1029.                 Exit Function
  1030.             Else
  1031.                 Select Case Textint(Index, 3)
  1032.                     Case 0
  1033.                         If Len(Trim(Textstr(Index, 2))) <> 0 Then
  1034.                             LrText(Index).Text = Trim(Findrec.Fields(Trim(Textstr(Index, 2))))
  1035.                         End If
  1036.                         If Len(Trim(Textstr(Index, 3) & "")) <> 0 Then
  1037.                             LrText(Index).Tag = Trim(Findrec.Fields(Trim(Textstr(Index, 3))))
  1038.                         End If
  1039.                     Case 1
  1040.                         If Len(Trim(Textstr(Index, 3) & "")) <> 0 Then
  1041.                             LrText(Index).Text = Trim(Findrec.Fields(Trim(Textstr(Index, 3))))
  1042.                         End If
  1043.                         If Len(Trim(Textstr(Index, 2))) <> 0 Then
  1044.                             LrText(Index).Tag = Trim(Findrec.Fields(Trim(Textstr(Index, 2))))
  1045.                         End If
  1046.                 End Select
  1047.             End If
  1048.         Case 2      '日期型
  1049.             If IsDate(LrText(Index).Text) Then
  1050.                 LrText(Index).Text = Format(LrText(Index).Text, "yyyy-mm-dd")
  1051.             Else
  1052.                Tsxx = "非法公历日期!(格式:" + Format(Date, "yyyy-mm-dd") + ")"
  1053.                Call Xtxxts(Tsxx, 0, 1)
  1054.                LrText(Index).SetFocus
  1055.                Exit Function
  1056.             End If
  1057.         Case 3      '其他类型
  1058.     End Select
  1059.     TextValiJudgeLock(Index) = True
  1060.     TextYxxpd = True
  1061. End Function