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

企业管理

开发平台:

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 Formula_Create_Frm 
  6.    BorderStyle     =   3  'Fixed Dialog
  7.    Caption         =   "公式定义"
  8.    ClientHeight    =   8040
  9.    ClientLeft      =   45
  10.    ClientTop       =   330
  11.    ClientWidth     =   11010
  12.    HelpContextID   =   2212013
  13.    Icon            =   "建立公式.frx":0000
  14.    KeyPreview      =   -1  'True
  15.    LinkTopic       =   "Form2"
  16.    MaxButton       =   0   'False
  17.    MinButton       =   0   'False
  18.    ScaleHeight     =   8040
  19.    ScaleWidth      =   11010
  20.    ShowInTaskbar   =   0   'False
  21.    StartUpPosition =   2  '屏幕中心
  22.    Begin VB.Frame Frame2 
  23.       Height          =   645
  24.       Left            =   90
  25.       TabIndex        =   45
  26.       Top             =   600
  27.       Width           =   5010
  28.       Begin MSComctlLib.ImageCombo ImgCmb_Sort 
  29.          Height          =   315
  30.          Left            =   1020
  31.          TabIndex        =   46
  32.          Top             =   210
  33.          Width           =   3825
  34.          _ExtentX        =   6747
  35.          _ExtentY        =   556
  36.          _Version        =   393216
  37.          ForeColor       =   -2147483640
  38.          BackColor       =   -2147483643
  39.          Locked          =   -1  'True
  40.       End
  41.       Begin VB.Label Lab_Mark 
  42.          AutoSize        =   -1  'True
  43.          Caption         =   "工资类别:"
  44.          Height          =   180
  45.          Index           =   5
  46.          Left            =   135
  47.          TabIndex        =   47
  48.          Top             =   270
  49.          Width           =   810
  50.       End
  51.    End
  52.    Begin TabDlg.SSTab SSTab_Formula 
  53.       Height          =   6630
  54.       Left            =   45
  55.       TabIndex        =   11
  56.       Top             =   1350
  57.       Width           =   10935
  58.       _ExtentX        =   19288
  59.       _ExtentY        =   11695
  60.       _Version        =   393216
  61.       Style           =   1
  62.       Tabs            =   2
  63.       TabsPerRow      =   2
  64.       TabHeight       =   520
  65.       TabCaption(0)   =   "列表视图"
  66.       TabPicture(0)   =   "建立公式.frx":1042
  67.       Tab(0).ControlEnabled=   -1  'True
  68.       Tab(0).Control(0)=   "vsFG_Formula"
  69.       Tab(0).Control(0).Enabled=   0   'False
  70.       Tab(0).Control(1)=   "Cmd_Up"
  71.       Tab(0).Control(1).Enabled=   0   'False
  72.       Tab(0).Control(2)=   "Cmd_Down"
  73.       Tab(0).Control(2).Enabled=   0   'False
  74.       Tab(0).Control(3)=   "Cmd_Save"
  75.       Tab(0).Control(3).Enabled=   0   'False
  76.       Tab(0).ControlCount=   4
  77.       TabCaption(1)   =   "单张视图"
  78.       TabPicture(1)   =   "建立公式.frx":105E
  79.       Tab(1).ControlEnabled=   0   'False
  80.       Tab(1).Control(0)=   "Fm_Declare"
  81.       Tab(1).ControlCount=   1
  82.       Begin VB.CommandButton Cmd_Save 
  83.          Caption         =   "保存"
  84.          Height          =   1120
  85.          Left            =   150
  86.          Picture         =   "建立公式.frx":107A
  87.          Style           =   1  'Graphical
  88.          TabIndex        =   34
  89.          TabStop         =   0   'False
  90.          ToolTipText     =   "保存项目顺序,项目顺序与它在网格中的顺序一致"
  91.          Top             =   3660
  92.          Width           =   300
  93.       End
  94.       Begin VB.CommandButton Cmd_Down 
  95.          Height          =   1120
  96.          Left            =   150
  97.          Picture         =   "建立公式.frx":1404
  98.          Style           =   1  'Graphical
  99.          TabIndex        =   33
  100.          TabStop         =   0   'False
  101.          Top             =   2430
  102.          Width           =   300
  103.       End
  104.       Begin VB.CommandButton Cmd_Up 
  105.          Height          =   1120
  106.          Left            =   150
  107.          Picture         =   "建立公式.frx":1A48
  108.          Style           =   1  'Graphical
  109.          TabIndex        =   32
  110.          TabStop         =   0   'False
  111.          Top             =   1215
  112.          Width           =   300
  113.       End
  114.       Begin VB.Frame Fm_Declare 
  115.          Height          =   6135
  116.          Left            =   -74880
  117.          TabIndex        =   13
  118.          Top             =   345
  119.          Width           =   10680
  120.          Begin VB.Frame Frame1 
  121.             Height          =   2565
  122.             Left            =   150
  123.             TabIndex        =   38
  124.             Top             =   210
  125.             Width           =   10410
  126.             Begin VB.Frame Fm_AddType 
  127.                Height          =   795
  128.                Left            =   120
  129.                TabIndex        =   41
  130.                Top             =   510
  131.                Width           =   2040
  132.                Begin VB.OptionButton Opt_AddType 
  133.                   Caption         =   "加到公式内容"
  134.                   Height          =   255
  135.                   Index           =   0
  136.                   Left            =   210
  137.                   TabIndex        =   1
  138.                   Top             =   150
  139.                   Value           =   -1  'True
  140.                   Width           =   1399
  141.                End
  142.                Begin VB.OptionButton Opt_AddType 
  143.                   Caption         =   "加到限定条件"
  144.                   Height          =   255
  145.                   Index           =   1
  146.                   Left            =   210
  147.                   TabIndex        =   2
  148.                   Top             =   450
  149.                   Width           =   1429
  150.                End
  151.             End
  152.             Begin VB.TextBox Txt_FContent 
  153.                Height          =   2025
  154.                Left            =   2265
  155.                MultiLine       =   -1  'True
  156.                ScrollBars      =   2  'Vertical
  157.                TabIndex        =   3
  158.                Top             =   450
  159.                Width           =   3855
  160.             End
  161.             Begin VB.TextBox Txt_FLimit 
  162.                Height          =   2025
  163.                Left            =   6255
  164.                MultiLine       =   -1  'True
  165.                ScrollBars      =   2  'Vertical
  166.                TabIndex        =   4
  167.                Top             =   450
  168.                Width           =   3975
  169.             End
  170.             Begin VB.CheckBox Chk_Valid 
  171.                Caption         =   "有效"
  172.                ForeColor       =   &H80000007&
  173.                Height          =   345
  174.                Left            =   135
  175.                TabIndex        =   40
  176.                Top             =   1380
  177.                Value           =   1  'Checked
  178.                Width           =   917
  179.             End
  180.             Begin VB.TextBox Txt_Field 
  181.                Height          =   300
  182.                Left            =   480
  183.                TabIndex        =   0
  184.                Top             =   210
  185.                Width           =   1380
  186.             End
  187.             Begin VB.CommandButton Cmd_SelectField 
  188.                Height          =   300
  189.                Left            =   1845
  190.                Picture         =   "建立公式.frx":208C
  191.                Style           =   1  'Graphical
  192.                TabIndex        =   39
  193.                Top             =   210
  194.                Width           =   300
  195.             End
  196.             Begin VB.Label Lab_Mark 
  197.                AutoSize        =   -1  'True
  198.                Caption         =   "公式内容:"
  199.                Height          =   180
  200.                Index           =   1
  201.                Left            =   2295
  202.                TabIndex        =   44
  203.                Top             =   210
  204.                Width           =   810
  205.             End
  206.             Begin VB.Label Lab_Mark 
  207.                AutoSize        =   -1  'True
  208.                Caption         =   "限定条件:"
  209.                Height          =   180
  210.                Index           =   2
  211.                Left            =   6285
  212.                TabIndex        =   43
  213.                Top             =   210
  214.                Width           =   810
  215.             End
  216.             Begin VB.Label Lab_Mark 
  217.                AutoSize        =   -1  'True
  218.                Caption         =   "项目:"
  219.                Height          =   180
  220.                Index           =   0
  221.                Left            =   90
  222.                TabIndex        =   42
  223.                Top             =   255
  224.                Width           =   450
  225.             End
  226.          End
  227.          Begin MSComctlLib.ProgressBar PB_CheckStatus 
  228.             Height          =   420
  229.             Left            =   2055
  230.             TabIndex        =   36
  231.             Top             =   930
  232.             Visible         =   0   'False
  233.             Width           =   7635
  234.             _ExtentX        =   13467
  235.             _ExtentY        =   741
  236.             _Version        =   393216
  237.             BorderStyle     =   1
  238.             Appearance      =   1
  239.             Scrolling       =   1
  240.          End
  241.          Begin VB.CommandButton Cmd_Cancel 
  242.             Cancel          =   -1  'True
  243.             Caption         =   "取消(&C)"
  244.             Height          =   300
  245.             Left            =   9240
  246.             TabIndex        =   10
  247.             Top             =   5715
  248.             Width           =   1304
  249.          End
  250.          Begin VB.Frame Frame3 
  251.             Caption         =   "公式输入参照:"
  252.             Height          =   2790
  253.             Left            =   150
  254.             TabIndex        =   14
  255.             Top             =   2850
  256.             Width           =   10410
  257.             Begin VB.Frame Fm_Number 
  258.                Caption         =   "数字符号:"
  259.                Height          =   2370
  260.                Left            =   135
  261.                TabIndex        =   15
  262.                Top             =   285
  263.                Width           =   2016
  264.                Begin VB.CommandButton Cmd_Number 
  265.                   Caption         =   " LIKE"
  266.                   Height          =   300
  267.                   Index           =   13
  268.                   Left            =   1037
  269.                   TabIndex        =   37
  270.                   TabStop         =   0   'False
  271.                   Top             =   1617
  272.                   Width           =   872
  273.                End
  274.                Begin VB.CommandButton Cmd_Guide 
  275.                   Caption         =   "函数向导"
  276.                   Height          =   300
  277.                   Left            =   90
  278.                   TabIndex        =   35
  279.                   TabStop         =   0   'False
  280.                   Top             =   1965
  281.                   Width           =   1821
  282.                End
  283.                Begin VB.CommandButton Cmd_Number 
  284.                   Caption         =   " AND "
  285.                   Height          =   300
  286.                   Index           =   12
  287.                   Left            =   75
  288.                   TabIndex        =   29
  289.                   TabStop         =   0   'False
  290.                   Top             =   1626
  291.                   Width           =   902
  292.                End
  293.                Begin VB.CommandButton Cmd_Number 
  294.                   Caption         =   "1"
  295.                   Height          =   315
  296.                   Index           =   0
  297.                   Left            =   90
  298.                   TabIndex        =   28
  299.                   TabStop         =   0   'False
  300.                   Top             =   564
  301.                   Width           =   422
  302.                End
  303.                Begin VB.CommandButton Cmd_Number 
  304.                   Caption         =   "2"
  305.                   Height          =   315
  306.                   Index           =   1
  307.                   Left            =   557
  308.                   TabIndex        =   27
  309.                   TabStop         =   0   'False
  310.                   Top             =   564
  311.                   Width           =   422
  312.                End
  313.                Begin VB.CommandButton Cmd_Number 
  314.                   Caption         =   "3"
  315.                   Height          =   300
  316.                   Index           =   2
  317.                   Left            =   1037
  318.                   TabIndex        =   26
  319.                   TabStop         =   0   'False
  320.                   Top             =   573
  321.                   Width           =   422
  322.                End
  323.                Begin VB.CommandButton Cmd_Number 
  324.                   Caption         =   "4"
  325.                   Height          =   300
  326.                   Index           =   3
  327.                   Left            =   1504
  328.                   TabIndex        =   25
  329.                   TabStop         =   0   'False
  330.                   Top             =   585
  331.                   Width           =   422
  332.                End
  333.                Begin VB.CommandButton Cmd_Number 
  334.                   Caption         =   "5"
  335.                   Height          =   315
  336.                   Index           =   4
  337.                   Left            =   90
  338.                   TabIndex        =   24
  339.                   TabStop         =   0   'False
  340.                   Top             =   918
  341.                   Width           =   422
  342.                End
  343.                Begin VB.CommandButton Cmd_Number 
  344.                   Caption         =   "6"
  345.                   Height          =   315
  346.                   Index           =   5
  347.                   Left            =   557
  348.                   TabIndex        =   23
  349.                   TabStop         =   0   'False
  350.                   Top             =   918
  351.                   Width           =   422
  352.                End
  353.                Begin VB.CommandButton Cmd_Number 
  354.                   Caption         =   "7"
  355.                   Height          =   300
  356.                   Index           =   6
  357.                   Left            =   1037
  358.                   TabIndex        =   22
  359.                   TabStop         =   0   'False
  360.                   Top             =   921
  361.                   Width           =   422
  362.                End
  363.                Begin VB.CommandButton Cmd_Number 
  364.                   Caption         =   "8"
  365.                   Height          =   300
  366.                   Index           =   7
  367.                   Left            =   1504
  368.                   TabIndex        =   21
  369.                   TabStop         =   0   'False
  370.                   Top             =   930
  371.                   Width           =   422
  372.                End
  373.                Begin VB.CommandButton Cmd_Number 
  374.                   Caption         =   "9"
  375.                   Height          =   315
  376.                   Index           =   8
  377.                   Left            =   90
  378.                   TabIndex        =   20
  379.                   TabStop         =   0   'False
  380.                   Top             =   1272
  381.                   Width           =   422
  382.                End
  383.                Begin VB.CommandButton Cmd_Number 
  384.                   Caption         =   "0"
  385.                   Height          =   315
  386.                   Index           =   9
  387.                   Left            =   557
  388.                   TabIndex        =   19
  389.                   TabStop         =   0   'False
  390.                   Top             =   1272
  391.                   Width           =   422
  392.                End
  393.                Begin VB.CommandButton Cmd_Number 
  394.                   Caption         =   "%"
  395.                   Height          =   300
  396.                   Index           =   10
  397.                   Left            =   1037
  398.                   TabIndex        =   18
  399.                   TabStop         =   0   'False
  400.                   Top             =   1269
  401.                   Width           =   422
  402.                End
  403.                Begin VB.CommandButton Cmd_Number 
  404.                   Caption         =   "."
  405.                   Height          =   300
  406.                   Index           =   11
  407.                   Left            =   1504
  408.                   TabIndex        =   17
  409.                   TabStop         =   0   'False
  410.                   Top             =   1275
  411.                   Width           =   422
  412.                End
  413.                Begin VB.CommandButton Cmd_Change 
  414.                   Caption         =   "切换"
  415.                   Height          =   300
  416.                   Left            =   90
  417.                   TabIndex        =   16
  418.                   TabStop         =   0   'False
  419.                   Top             =   225
  420.                   Width           =   1836
  421.                End
  422.             End
  423.             Begin MSComctlLib.TreeView TV_PreField 
  424.                Height          =   2250
  425.                Left            =   2280
  426.                TabIndex        =   6
  427.                Top             =   420
  428.                Width           =   3855
  429.                _ExtentX        =   6800
  430.                _ExtentY        =   3969
  431.                _Version        =   393217
  432.                LabelEdit       =   1
  433.                LineStyle       =   1
  434.                Style           =   7
  435.                Appearance      =   1
  436.             End
  437.             Begin MSComctlLib.TreeView TV_FieldValue 
  438.                Height          =   2265
  439.                Left            =   6270
  440.                TabIndex        =   8
  441.                Top             =   405
  442.                Width           =   3990
  443.                _ExtentX        =   7038
  444.                _ExtentY        =   3995
  445.                _Version        =   393217
  446.                LabelEdit       =   1
  447.                LineStyle       =   1
  448.                Style           =   7
  449.                Appearance      =   1
  450.             End
  451.             Begin VB.Label Lab_Mark 
  452.                AutoSize        =   -1  'True
  453.                Caption         =   "待选项目(&S):"
  454.                Height          =   180
  455.                Index           =   3
  456.                Left            =   2325
  457.                TabIndex        =   5
  458.                Top             =   195
  459.                Width           =   1080
  460.             End
  461.             Begin VB.Label Lab_Mark 
  462.                Caption         =   "关联项(&V):"
  463.                Height          =   195
  464.                Index           =   4
  465.                Left            =   6270
  466.                TabIndex        =   7
  467.                Top             =   210
  468.                Width           =   915
  469.             End
  470.          End
  471.          Begin VB.CommandButton Cmd_OK 
  472.             Caption         =   "公式确认(&O)"
  473.             Height          =   300
  474.             Left            =   7860
  475.             TabIndex        =   9
  476.             Top             =   5715
  477.             Width           =   1304
  478.          End
  479.       End
  480.       Begin VSFlex8Ctl.VSFlexGrid vsFG_Formula 
  481.          Height          =   6105
  482.          Left            =   585
  483.          TabIndex        =   12
  484.          Top             =   405
  485.          Width           =   10245
  486.          _cx             =   5080
  487.          _cy             =   5080
  488.          Appearance      =   1
  489.          BorderStyle     =   1
  490.          Enabled         =   -1  'True
  491.          BeginProperty Font {0BE35203-8F91-11CE-9DE3-00AA004BB851} 
  492.             Name            =   "宋体"
  493.             Size            =   9
  494.             Charset         =   134
  495.             Weight          =   400
  496.             Underline       =   0   'False
  497.             Italic          =   0   'False
  498.             Strikethrough   =   0   'False
  499.          EndProperty
  500.          MousePointer    =   0
  501.          BackColor       =   -2147483643
  502.          ForeColor       =   -2147483640
  503.          BackColorFixed  =   -2147483633
  504.          ForeColorFixed  =   -2147483630
  505.          BackColorSel    =   -2147483635
  506.          ForeColorSel    =   -2147483634
  507.          BackColorBkg    =   8421504
  508.          BackColorAlternate=   -2147483643
  509.          GridColor       =   -2147483633
  510.          GridColorFixed  =   -2147483632
  511.          TreeColor       =   -2147483632
  512.          FloodColor      =   192
  513.          SheetBorder     =   -2147483642
  514.          FocusRect       =   1
  515.          HighLight       =   1
  516.          AllowSelection  =   -1  'True
  517.          AllowBigSelection=   -1  'True
  518.          AllowUserResizing=   3
  519.          SelectionMode   =   0
  520.          GridLines       =   1
  521.          GridLinesFixed  =   2
  522.          GridLineWidth   =   1
  523.          Rows            =   1
  524.          Cols            =   10
  525.          FixedRows       =   1
  526.          FixedCols       =   0
  527.          RowHeightMin    =   0
  528.          RowHeightMax    =   0
  529.          ColWidthMin     =   0
  530.          ColWidthMax     =   0
  531.          ExtendLastCol   =   0   'False
  532.          FormatString    =   ""
  533.          ScrollTrack     =   0   'False
  534.          ScrollBars      =   3
  535.          ScrollTips      =   0   'False
  536.          MergeCells      =   0
  537.          MergeCompare    =   0
  538.          AutoResize      =   -1  'True
  539.          AutoSizeMode    =   0
  540.          AutoSearch      =   0
  541.          AutoSearchDelay =   2
  542.          MultiTotals     =   -1  'True
  543.          SubtotalPosition=   1
  544.          OutlineBar      =   0
  545.          OutlineCol      =   0
  546.          Ellipsis        =   0
  547.          ExplorerBar     =   0
  548.          PicturesOver    =   0   'False
  549.          FillStyle       =   0
  550.          RightToLeft     =   0   'False
  551.          PictureType     =   0
  552.          TabBehavior     =   0
  553.          OwnerDraw       =   0
  554.          Editable        =   0
  555.          ShowComboButton =   1
  556.          WordWrap        =   0   'False
  557.          TextStyle       =   0
  558.          TextStyleFixed  =   0
  559.          OleDragMode     =   0
  560.          OleDropMode     =   0
  561.          DataMode        =   0
  562.          VirtualData     =   -1  'True
  563.          DataMember      =   ""
  564.          ComboSearch     =   3
  565.          AutoSizeMouse   =   -1  'True
  566.          FrozenRows      =   0
  567.          FrozenCols      =   0
  568.          AllowUserFreezing=   0
  569.          BackColorFrozen =   0
  570.          ForeColorFrozen =   0
  571.          WallPaperAlignment=   9
  572.          AccessibleName  =   ""
  573.          AccessibleDescription=   ""
  574.          AccessibleValue =   ""
  575.          AccessibleRole  =   24
  576.       End
  577.    End
  578.    Begin MSComctlLib.Toolbar TB_Function 
  579.       Align           =   1  'Align Top
  580.       Height          =   555
  581.       Left            =   0
  582.       TabIndex        =   30
  583.       Top             =   0
  584.       Width           =   11010
  585.       _ExtentX        =   19420
  586.       _ExtentY        =   979
  587.       ButtonWidth     =   820
  588.       ButtonHeight    =   926
  589.       AllowCustomize  =   0   'False
  590.       Appearance      =   1
  591.       Style           =   1
  592.       ImageList       =   "ImageList1"
  593.       _Version        =   393216
  594.       BeginProperty Buttons {66833FE8-8583-11D1-B16A-00C0F0283628} 
  595.          NumButtons      =   13
  596.          BeginProperty Button1 {66833FEA-8583-11D1-B16A-00C0F0283628} 
  597.             Caption         =   "设置"
  598.             Key             =   "ymsz"
  599.             Object.ToolTipText     =   "设置打印格式"
  600.             ImageIndex      =   1
  601.          EndProperty
  602.          BeginProperty Button2 {66833FEA-8583-11D1-B16A-00C0F0283628} 
  603.             Caption         =   "打印"
  604.             Key             =   "dy"
  605.             Object.ToolTipText     =   "打印网格数据(Ctrl+P)"
  606.             ImageIndex      =   2
  607.          EndProperty
  608.          BeginProperty Button3 {66833FEA-8583-11D1-B16A-00C0F0283628} 
  609.             Caption         =   "预览"
  610.             Key             =   "yl"
  611.             Object.ToolTipText     =   "以打印模式显示网格数据"
  612.             ImageIndex      =   3
  613.          EndProperty
  614.          BeginProperty Button4 {66833FEA-8583-11D1-B16A-00C0F0283628} 
  615.             Style           =   3
  616.          EndProperty
  617.          BeginProperty Button5 {66833FEA-8583-11D1-B16A-00C0F0283628} 
  618.             Caption         =   "增加"
  619.             Key             =   "Add"
  620.             Object.ToolTipText     =   "建立新公式(Ctrl+A)"
  621.             ImageKey        =   "Add"
  622.          EndProperty
  623.          BeginProperty Button6 {66833FEA-8583-11D1-B16A-00C0F0283628} 
  624.             Caption         =   "修改"
  625.             Key             =   "Edit"
  626.             Object.ToolTipText     =   "修改当前公式"
  627.             ImageKey        =   "Edit"
  628.          EndProperty
  629.          BeginProperty Button7 {66833FEA-8583-11D1-B16A-00C0F0283628} 
  630.             Caption         =   "删除"
  631.             Key             =   "Del"
  632.             Object.ToolTipText     =   "删除当前公式(Ctrl+D)"
  633.             ImageKey        =   "Del"
  634.          EndProperty
  635.          BeginProperty Button8 {66833FEA-8583-11D1-B16A-00C0F0283628} 
  636.             Enabled         =   0   'False
  637.             Object.Visible         =   0   'False
  638.             Caption         =   "保存"
  639.             Key             =   "Save"
  640.             ImageKey        =   "Save"
  641.          EndProperty
  642.          BeginProperty Button9 {66833FEA-8583-11D1-B16A-00C0F0283628} 
  643.             Style           =   3
  644.          EndProperty
  645.          BeginProperty Button10 {66833FEA-8583-11D1-B16A-00C0F0283628} 
  646.             Caption         =   "刷新"
  647.             Key             =   "Refresh"
  648.             Object.ToolTipText     =   "重新取得数据"
  649.             ImageKey        =   "Refresh"
  650.          EndProperty
  651.          BeginProperty Button11 {66833FEA-8583-11D1-B16A-00C0F0283628} 
  652.             Style           =   3
  653.          EndProperty
  654.          BeginProperty Button12 {66833FEA-8583-11D1-B16A-00C0F0283628} 
  655.             Caption         =   "帮助"
  656.             Key             =   "Help"
  657.             Object.ToolTipText     =   "获得帮助"
  658.             ImageKey        =   "Help"
  659.          EndProperty
  660.          BeginProperty Button13 {66833FEA-8583-11D1-B16A-00C0F0283628} 
  661.             Caption         =   "退出"
  662.             Key             =   "Quit"
  663.             Object.ToolTipText     =   "退出公式定义"
  664.             ImageKey        =   "Quit"
  665.          EndProperty
  666.       EndProperty
  667.       BorderStyle     =   1
  668.       Begin MSComctlLib.ImageList ImageList1 
  669.          Left            =   6000
  670.          Top             =   -15
  671.          _ExtentX        =   1005
  672.          _ExtentY        =   1005
  673.          BackColor       =   -2147483643
  674.          ImageWidth      =   16
  675.          ImageHeight     =   16
  676.          MaskColor       =   12632256
  677.          _Version        =   393216
  678.          BeginProperty Images {2C247F25-8591-11D1-B16A-00C0F0283628} 
  679.             NumListImages   =   13
  680.             BeginProperty ListImage1 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  681.                Picture         =   "建立公式.frx":2416
  682.                Key             =   "sz"
  683.             EndProperty
  684.             BeginProperty ListImage2 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  685.                Picture         =   "建立公式.frx":27B0
  686.                Key             =   "dy"
  687.             EndProperty
  688.             BeginProperty ListImage3 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  689.                Picture         =   "建立公式.frx":2B4A
  690.                Key             =   "yl"
  691.             EndProperty
  692.             BeginProperty ListImage4 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  693.                Picture         =   "建立公式.frx":2EE4
  694.                Key             =   "Add"
  695.             EndProperty
  696.             BeginProperty ListImage5 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  697.                Picture         =   "建立公式.frx":327E
  698.                Key             =   "Edit"
  699.             EndProperty
  700.             BeginProperty ListImage6 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  701.                Picture         =   "建立公式.frx":3618
  702.                Key             =   "Del"
  703.             EndProperty
  704.             BeginProperty ListImage7 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  705.                Picture         =   "建立公式.frx":39B2
  706.                Key             =   "Refresh"
  707.             EndProperty
  708.             BeginProperty ListImage8 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  709.                Picture         =   "建立公式.frx":3D4C
  710.                Key             =   "Help"
  711.             EndProperty
  712.             BeginProperty ListImage9 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  713.                Picture         =   "建立公式.frx":40E6
  714.                Key             =   "Quit"
  715.             EndProperty
  716.             BeginProperty ListImage10 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  717.                Picture         =   "建立公式.frx":4480
  718.                Key             =   "bcgs"
  719.             EndProperty
  720.             BeginProperty ListImage11 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  721.                Picture         =   "建立公式.frx":481A
  722.                Key             =   "mrlk"
  723.             EndProperty
  724.             BeginProperty ListImage12 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  725.                Picture         =   "建立公式.frx":4BB4
  726.                Key             =   "xsxm"
  727.             EndProperty
  728.             BeginProperty ListImage13 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  729.                Picture         =   "建立公式.frx":4F4E
  730.                Key             =   "Save"
  731.             EndProperty
  732.          EndProperty
  733.       End
  734.       Begin MSComctlLib.Toolbar GsToolbar 
  735.          Height          =   525
  736.          Left            =   8385
  737.          TabIndex        =   31
  738.          Top             =   0
  739.          Width           =   2610
  740.          _ExtentX        =   4604
  741.          _ExtentY        =   926
  742.          ButtonWidth     =   1455
  743.          ButtonHeight    =   926
  744.          AllowCustomize  =   0   'False
  745.          Appearance      =   1
  746.          Style           =   1
  747.          ImageList       =   "ImageList1"
  748.          _Version        =   393216
  749.          BeginProperty Buttons {66833FE8-8583-11D1-B16A-00C0F0283628} 
  750.             NumButtons      =   3
  751.             BeginProperty Button1 {66833FEA-8583-11D1-B16A-00C0F0283628} 
  752.                Caption         =   "保存格式"
  753.                Key             =   "bcgs"
  754.                ImageIndex      =   10
  755.             EndProperty
  756.             BeginProperty Button2 {66833FEA-8583-11D1-B16A-00C0F0283628} 
  757.                Caption         =   "默认列宽"
  758.                Key             =   "hfmrgs"
  759.                ImageIndex      =   11
  760.             EndProperty
  761.             BeginProperty Button3 {66833FEA-8583-11D1-B16A-00C0F0283628} 
  762.                Caption         =   "显示项目"
  763.                Key             =   "szxsxm"
  764.                ImageIndex      =   12
  765.             EndProperty
  766.          EndProperty
  767.       End
  768.    End
  769. End
  770. Attribute VB_Name = "Formula_Create_Frm"
  771. Attribute VB_GlobalNameSpace = False
  772. Attribute VB_Creatable = False
  773. Attribute VB_PredeclaredId = True
  774. Attribute VB_Exposed = False
  775. '******************************************************************
  776. '*    模 块 名 称 :公式定义
  777. '*    功 能 描 述 :
  778. '*    程序员姓名  :苗鹏
  779. '*    最后修改人  :苗鹏
  780. '*    最后修改时间:2002/01/01
  781. '*    备        注:主要公式操作验证工作在CQuery类中完成
  782. '******************************************************************
  783. Const STATUS_VIEW As Integer = 0        '浏览状态
  784. Const STATUS_ADD As Integer = 1         '增加状态
  785. Const STATUS_EDIT As Integer = 2        '编辑状态
  786. Dim sFieldOld As String                 '前一个相关的字段名
  787. Dim iNowState As Integer                '现在的状态
  788. Dim Str_RightEdit As String              '编辑(新增、修改、删除)权限索引
  789. '以下为固定使用变量
  790. Dim ReportTitle As String
  791. Dim Dyymctbl As New DY_Dyymsz            '打印页面窗体变量
  792. Dim GridCode As String                   '显示网格网格代码
  793. Dim GridInf() As Variant                 '整个网格设置信息
  794. Dim Tsxx As String                       '系统提示信息
  795. Dim Qslz As Long                         '网格隐藏(非操作显示)列数
  796. Dim Sjhgd As Double                      '网格数据行高度
  797. Dim Sfxshjwg As Boolean                  '是否显示合计网格
  798. Dim GridBoolean() As Boolean             '网格列信息(布尔型)
  799. Dim GridStr()  As String                 '网格列信息(字符型)
  800. Dim GridInt() As Integer                 '网格列信息(整型)
  801. Dim Szzls As Integer                     '数组总列数(网格列数-1)
  802. Private Sub Cmd_Cancel_Click()  '取消公式定义
  803.     '改变状态
  804.     ChangeStatus STATUS_VIEW
  805. End Sub
  806. Private Function RefreshGrid() '刷新网格
  807.     On Error GoTo ErrCtrl
  808.     
  809.     Dim s As String
  810.     Dim sSortID As String
  811.     Dim rs As New ADODB.Recordset
  812.     '清空数据
  813.     Me.vsFG_Formula.Rows = Me.vsFG_Formula.FixedRows
  814.     '读取工资类别
  815.     sSortID = GetComboKey(Me.ImgCmb_Sort, 0)
  816.     '填充数据
  817.     s = "SELECT  a.*,b.ChName as FieldNameC from PM_Formula a INNER JOIN Rs_Items b on a.FieldName=b.FieldName WHERE a.SortID='" & sSortID & "' ORDER BY a.FOrder "
  818.     Set rs = Cw_DataEnvi.DataConnect.Execute(s)
  819.     
  820.     With Me.vsFG_Formula
  821.         .Redraw = False
  822.             Do While Not rs.EOF()
  823.                 .AddItem ""
  824.                 .RowHeight(.Rows - 1) = Sjhgd
  825.                 .TextMatrix(.Rows - 1, 0) = Trim(rs!FCode & "")
  826.                 .TextMatrix(.Rows - 1, Sydz("001", GridStr(), Szzls)) = .Rows - .FixedRows              '编号
  827.                 .TextMatrix(.Rows - 1, Sydz("002", GridStr(), Szzls)) = Trim(rs!FieldNameC & "")        '汉语名称
  828.                 .TextMatrix(.Rows - 1, Sydz("003", GridStr(), Szzls)) = Trim(rs!FContentUser & "")      '用户公式条件
  829.                 .TextMatrix(.Rows - 1, Sydz("004", GridStr(), Szzls)) = Trim(rs!FLimitUser & "")        '用户限定条件
  830.                 .TextMatrix(.Rows - 1, Sydz("005", GridStr(), Szzls)) = rs!FIsUsed                      '是否可用
  831.                 rs.MoveNext
  832.             Loop
  833.         .Redraw = True
  834.         .Refresh
  835.     End With
  836.     Set rs = Nothing
  837.     Exit Function
  838.     
  839. ErrCtrl:
  840.     Set rs = Nothing
  841.     Dim smsg As String
  842.     Dim smsgSys As String
  843.     smsg = GetError(Err.Number)
  844.     smsgSys = Err.Number & Err.Description & "!"
  845.     MsgBox IIf(smsg = "", smsgSys, smsg), vbOKOnly + vbCritical
  846. End Function
  847. Private Sub Cmd_Change_Click() '交换数字和操作符
  848.     
  849.     With Me.Fm_Number
  850.         If Trim(.Caption) = "数字符号:" Then
  851.             Cmd_Number(0).Caption = " +"
  852.             Cmd_Number(1).Caption = " -"
  853.             Cmd_Number(2).Caption = " *"
  854.             Cmd_Number(3).Caption = " /"
  855.             Cmd_Number(4).Caption = " ="
  856.             Cmd_Number(5).Caption = " <>"
  857.             Cmd_Number(6).Caption = " >"
  858.             Cmd_Number(7).Caption = " >="
  859.             Cmd_Number(8).Caption = " <"
  860.             Cmd_Number(9).Caption = " <="
  861.             Cmd_Number(10).Caption = " ("
  862.             Cmd_Number(11).Caption = " )"
  863.             Cmd_Number(12).Caption = " OR"
  864.             .Caption = "运算符号:"
  865.         Else
  866.             Cmd_Number(0).Caption = "1"
  867.             Cmd_Number(1).Caption = "2"
  868.             Cmd_Number(2).Caption = "3"
  869.             Cmd_Number(3).Caption = "4"
  870.             Cmd_Number(4).Caption = "5"
  871.             Cmd_Number(5).Caption = "6"
  872.             Cmd_Number(6).Caption = "7"
  873.             Cmd_Number(7).Caption = "8"
  874.             Cmd_Number(8).Caption = "9"
  875.             Cmd_Number(9).Caption = "0"
  876.             Cmd_Number(10).Caption = "%"
  877.             Cmd_Number(11).Caption = "."
  878.             Cmd_Number(12).Caption = " AND"
  879.             .Caption = "数字符号:"
  880.         End If
  881.     End With
  882. End Sub
  883. Private Sub Cmd_Down_Click() '当前公式顺序下移
  884.     CmdDown Me.vsFG_Formula
  885. End Sub
  886. Private Sub Cmd_Guide_Click() '显示公式向导
  887.     
  888.     Dim s As String
  889.     Dim frm As New Formula_Guide_Frm
  890.     '显示公式向导
  891.     With frm
  892.         .Show 1
  893.         s = .sFunction
  894.     End With
  895.     
  896.     '向文本框中添加函数
  897.     If s <> "" Then
  898.         If Me.Opt_AddType(0).Value = True Then
  899.             '添加公式
  900.             With Me.Txt_FContent
  901.                 If .SelLength <> 0 Then
  902.                     .Text = ReplByPos(.Text, s, .SelStart + 1, .SelStart + .SelLength + 1)
  903.                 Else
  904.                     .Text = .Text & " " & s
  905.                 End If
  906.             End With
  907.         Else
  908.             '添加限定条件
  909.             With Me.Txt_FLimit
  910.                 If .SelLength <> 0 Then
  911.                     .Text = ReplByPos(.Text, s, .SelStart + 1, .SelStart + .SelLength + 1)
  912.                 Else
  913.                     .Text = .Text & " " & s
  914.                 End If
  915.             End With
  916.         End If
  917.     End If
  918.     Set frm = Nothing
  919. End Sub
  920. Private Sub Cmd_Number_Click(Index As Integer) '向本框中添加数字或操作符
  921.     Dim s As String
  922.     s = Me.Cmd_Number(Index).Caption
  923.     If Me.Opt_AddType(0).Value = True Then
  924. '        添加公式
  925.         With Me.Txt_FContent
  926.             If .SelLength <> 0 Then
  927.                 .Text = ReplByPos(.Text, s, .SelStart + 1, .SelStart + .SelLength + 1)
  928.             Else
  929.                 .Text = .Text & s
  930.             End If
  931.         End With
  932.     Else
  933. '        添加限定条件
  934.         With Me.Txt_FLimit
  935.             If .SelLength <> 0 Then
  936.                 .Text = ReplByPos(.Text, s, .SelStart + 1, .SelStart + .SelLength + 1)
  937.             Else
  938.                 .Text = .Text & s
  939.             End If
  940.         End With
  941.     End If
  942. End Sub
  943. Private Sub Cmd_OK_Click() '验证并保存公式
  944.     On Error GoTo ErrCtrl
  945.     
  946.     Dim sSortID As String
  947.     Dim s As String
  948.     Dim sSQLFormula As String
  949.     Dim sSqlWhere As String
  950.     Dim cQuerys As New CQuery
  951.     Dim iCode As Integer
  952.     Dim rs As New ADODB.Recordset
  953.     
  954.     '验证字段合法性
  955.     With Me.Txt_Field
  956.         If Trim(.Text) = "" Then
  957.             MsgBox "请录入公式的项目!", vbOKOnly + vbCritical
  958.             If .Enabled = True Then
  959.                 .SetFocus
  960.             End If
  961.             Exit Sub
  962.         End If
  963.         s = "SELECT b.FieldName as TCode,b.ChName as TName FROM PM_SortItem a " & Chr(10) _
  964.             & " INNER JOIN Rs_Items b ON a.ItemID=b.ItemID " & Chr(10) _
  965.             & " WHERE a.HaltFlag=0 and a.SortID='" & GetComboKey(Me.ImgCmb_Sort, 0) & "' and (b.FieldName='" & Trim(.Text) & "' or b.ChName='" & Trim(.Text) & "')"
  966.         Set rs = Cw_DataEnvi.DataConnect.Execute(s)
  967.         If rs.EOF() Then
  968.             Set rs = Nothing
  969.             MsgBox "公式项目错误!", vbOKOnly + vbCritical
  970.             Exit Sub
  971.         Else
  972.             .Text = Trim(rs!TName)
  973.             .Tag = Trim(rs!TCode)
  974.         End If
  975.         rs.Close
  976.     End With
  977.     
  978.     '验证公式的正确性
  979.     Set cQuerys.PB_CheckStatus = Me.PB_CheckStatus
  980.     If cQuerys.CheckFormula(Trim(Me.Txt_FContent.Text), "PM_PayRoll." & Trim(Me.Txt_Field.Tag)) = True Then
  981.         sSQLFormula = cQuerys.FormulaSQL
  982.         Me.Txt_FContent.Text = cQuerys.FormulaOld
  983.     Else
  984.         Exit Sub
  985.     End If
  986.     
  987.     '验证限定条件
  988.     If cQuerys.CheckFormula(Trim(Me.Txt_FLimit.Text)) = True Then
  989.         sSqlWhere = cQuerys.FormulaSQL
  990.         Me.Txt_FLimit.Text = cQuerys.FormulaOld
  991.     Else
  992.         Exit Sub
  993.     End If
  994.     
  995.     '更新数据库和列表
  996.     sSortID = GetComboKey(Me.ImgCmb_Sort, 0)
  997.     With Me.vsFG_Formula
  998.         If .Row < .FixedRows Then
  999.             iCode = .FixedRows
  1000.         Else
  1001.             iCode = .TextMatrix(.Row, 0)
  1002.         End If
  1003.     End With
  1004.     
  1005.     If iNowState = STATUS_ADD Then '增加
  1006.         s = "SELECT * FROM PM_Formula WHERE 1=2"
  1007.         rs.Open s, Cw_DataEnvi.DataConnect, adOpenDynamic, adLockPessimistic
  1008.         '添加数据表
  1009.         With rs
  1010.             .AddNew
  1011.             !SortId = sSortID       '工资类别
  1012.             !FieldName = Trim(Me.Txt_Field.Tag)     '公式名称
  1013.             !FContent = sSQLFormula     '公式内容
  1014.             !FLimit = sSqlWhere     '公式限定条件
  1015.             !FContentUser = Trim(Me.Txt_FContent.Text)      '公式用户内容
  1016.             !FLimitUser = Trim(Me.Txt_FLimit.Text)      '用户限定条件
  1017.             !FOrder = 10000     '公式顺序
  1018.             !FIsUsed = Me.Chk_Valid.Value       '是否可用
  1019.             .Update
  1020.         End With
  1021.         '添加网格
  1022.         With Me.vsFG_Formula
  1023.             .AddItem ""
  1024.             .TextMatrix(.Rows - 1, 0) = rs!FCode        '编码
  1025.             .TextMatrix(.Rows - 1, Sydz("001", GridStr(), Szzls)) = .Rows - .FixedRows      '编号
  1026.             .TextMatrix(.Rows - 1, Sydz("002", GridStr(), Szzls)) = Me.Txt_Field.Text       '公式名称
  1027.             .TextMatrix(.Rows - 1, Sydz("003", GridStr(), Szzls)) = Me.Txt_FContent.Text    '公式内容
  1028.             .TextMatrix(.Rows - 1, Sydz("004", GridStr(), Szzls)) = Me.Txt_FLimit.Text      '公式限定条件
  1029.             .TextMatrix(.Rows - 1, Sydz("005", GridStr(), Szzls)) = Me.Chk_Valid.Value      '是否可用
  1030.         End With
  1031.     Else '修改
  1032.         s = "SELECT * FROM PM_Formula WHERE FCode=" & iCode
  1033.         rs.Open s, Cw_DataEnvi.DataConnect, adOpenDynamic, adLockPessimistic
  1034.         '修改数据表
  1035.         With rs
  1036.             !FContent = sSQLFormula     '公式内容
  1037.             !FLimit = sSqlWhere     '限定条件
  1038.             !FContentUser = Trim(Me.Txt_FContent.Text)      '用户内容
  1039.             !FLimitUser = Trim(Me.Txt_FLimit.Text)          '用户限定条件
  1040.             !FIsUsed = Me.Chk_Valid.Value       '是否可用
  1041.             .Update
  1042.         End With
  1043.         '修改网格内容
  1044.         With Me.vsFG_Formula
  1045.             .TextMatrix(.Row, Sydz("002", GridStr(), Szzls)) = Me.Txt_Field.Text        '名称
  1046.             .TextMatrix(.Row, Sydz("003", GridStr(), Szzls)) = Me.Txt_FContent.Text     '公式内容
  1047.             .TextMatrix(.Row, Sydz("004", GridStr(), Szzls)) = Me.Txt_FLimit.Text       '限定条件
  1048.             .TextMatrix(.Row, Sydz("005", GridStr(), Szzls)) = Me.Chk_Valid.Value       '是否可用
  1049.         End With
  1050.     End If
  1051.     
  1052.     Set rs = Nothing
  1053.     Set cQuerys = Nothing
  1054.     MsgBox "公式验证通过,并保存成功!", vbOKOnly + vbInformation
  1055.     If iNowState = STATUS_ADD Then
  1056.         With Me
  1057.             .Txt_Field.Text = ""
  1058.             .TV_PreField.Tag = ""
  1059.             .Txt_FContent = ""
  1060.             .Txt_FLimit = ""
  1061.         End With
  1062.     End If
  1063.     Exit Sub
  1064.     
  1065. ErrCtrl:
  1066.     Set rs = Nothing
  1067.     Set cQuerys = Nothing
  1068.     Dim smsg As String
  1069.     Dim smsgSys As String
  1070.     smsg = GetError(Err.Number)
  1071.     smsgSys = Err.Number & Err.Description
  1072.     MsgBox IIf(smsg = "", smsgSys, smsg), vbOKOnly + vbCritical
  1073. End Sub
  1074. Public Function CmdUP(CzxsGrid As VSFlexGrid) '将网格中选定的行向上移一行
  1075.     Dim Temp As String
  1076.     Dim j As Long
  1077.     With CzxsGrid
  1078.         If .Rows = .FixedRows Then
  1079.             Exit Function
  1080.         End If
  1081.         If .Row <> .FixedRows Then
  1082.             For j = 0 To .Cols - 1
  1083.                 Temp = .TextMatrix(.Row - 1, j)
  1084.                 .TextMatrix(.Row - 1, j) = .TextMatrix(.Row, j)
  1085.                 .TextMatrix(.Row, j) = Temp
  1086.             Next
  1087.             .Row = .Row - 1
  1088.         End If
  1089.     End With
  1090. End Function
  1091. Public Function CmdDown(CzxsGrid As VSFlexGrid) '将网格中选定的行向下移一行
  1092.     Dim Temp As String
  1093.     Dim j As Long
  1094.     With CzxsGrid
  1095.         If .Rows = .FixedRows Then
  1096.             Exit Function
  1097.         End If
  1098.         If .Row <> .Rows - 1 Then
  1099.             For j = 0 To .Cols - 1
  1100.                 Temp = .TextMatrix(.Row + 1, j)
  1101.                 .TextMatrix(.Row + 1, j) = .TextMatrix(.Row, j)
  1102.                 .TextMatrix(.Row, j) = Temp
  1103.             Next
  1104.             .Row = .Row + 1
  1105.         End If
  1106.     End With
  1107. End Function
  1108. Private Function Save() '根据当前网格公式顺序修改数据库公式顺序
  1109.     On Error GoTo ErrCtrl
  1110.     
  1111.     Dim bBeginTrans As Boolean
  1112.     Dim s As String
  1113.     Dim rs As New ADODB.Recordset
  1114.     Dim i As Integer
  1115.     '生成Sql语句
  1116.     With Me.vsFG_Formula
  1117.         For i = .FixedRows To .Rows - 1
  1118.             s = s & "UPDATE PM_Formula SET FOrder =" & i & " WHERE FCode= " & .TextMatrix(i, 0) & Chr(13)
  1119.         Next i
  1120.     End With
  1121.     Cw_DataEnvi.DataConnect.BeginTrans
  1122.         bBeginTrans = True
  1123.         Cw_DataEnvi.DataConnect.Execute s
  1124.     Cw_DataEnvi.DataConnect.CommitTrans
  1125.     MsgBox "公式顺序保存成功!", vbOKOnly + vbInformation
  1126.     Exit Function
  1127.     
  1128. ErrCtrl:
  1129.     If bBeginTrans = True Then
  1130.         Cw_DataEnvi.DataConnect.RollbackTrans
  1131.     End If
  1132.     Dim smsg As String
  1133.     Dim smsgSys As String
  1134.     smsg = GetError(Err.Number)
  1135.     smsgSys = Err.Number & Err.Description & "!"
  1136.     MsgBox IIf(smsg = "", smsgSys, smsg), vbOKOnly + vbCritical
  1137. End Function
  1138. Private Function ChangeStatus(iStatus As Integer) '改变窗体状态 iStatus=0 浏览 1新增 2 修改
  1139.     Select Case iStatus
  1140.         Case STATUS_VIEW '浏览
  1141.             With Me.TB_Function
  1142.                 .Buttons("Add").Enabled = True
  1143.                 .Buttons("Edit").Enabled = True
  1144.                 .Buttons("Del").Enabled = True
  1145.                 .Buttons("Save").Enabled = True
  1146.                 .Buttons("Refresh").Enabled = True
  1147.                 .Buttons("Help").Enabled = True
  1148.                 .Buttons("Quit").Enabled = True
  1149.             End With
  1150.             With Me.SSTab_Formula
  1151.                 .Tab = 0
  1152.                 .TabEnabled(0) = True
  1153.                 .TabEnabled(1) = False
  1154.             End With
  1155.             Me.ImgCmb_Sort.Enabled = True
  1156.             Me.GsToolbar.Enabled = True
  1157.             
  1158.         Case STATUS_ADD '增加
  1159.             With Me.TB_Function
  1160.                 .Buttons("Add").Enabled = False
  1161.                 .Buttons("Edit").Enabled = False
  1162.                 .Buttons("Del").Enabled = False
  1163.                 .Buttons("Save").Enabled = False
  1164.                 .Buttons("Refresh").Enabled = False
  1165.                 .Buttons("Help").Enabled = True
  1166.                 .Buttons("Quit").Enabled = True
  1167.             End With
  1168.             With Me.SSTab_Formula
  1169.                 .Tab = 1
  1170.                 .TabEnabled(1) = True
  1171.                 .TabEnabled(0) = False
  1172.                 Me.Txt_Field.Enabled = True
  1173.                 Me.Cmd_SelectField.Enabled = True
  1174.             End With
  1175.             With Me
  1176.                 .ImgCmb_Sort.Enabled = False
  1177.                 .Txt_Field.Text = ""
  1178.                 .Txt_Field.Tag = ""
  1179.                 .Txt_FContent = ""
  1180.                 .Txt_FLimit = ""
  1181.             End With
  1182.             Me.GsToolbar.Enabled = False
  1183.         Case STATUS_EDIT '修改
  1184.             With Me.TB_Function
  1185.                 .Buttons("Add").Enabled = False
  1186.                 .Buttons("Edit").Enabled = False
  1187.                 .Buttons("Del").Enabled = False
  1188.                 .Buttons("Save").Enabled = False
  1189.                 .Buttons("Refresh").Enabled = False
  1190.                 .Buttons("Help").Enabled = True
  1191.                 .Buttons("Quit").Enabled = True
  1192.             End With
  1193.             With Me.SSTab_Formula
  1194.                 .Tab = 1
  1195.                 .TabEnabled(1) = True
  1196.                 .TabEnabled(0) = False
  1197.                 Me.Txt_Field.Enabled = False
  1198.                 Me.Cmd_SelectField.Enabled = False
  1199.             End With
  1200.             Me.ImgCmb_Sort.Enabled = False
  1201.             Me.GsToolbar.Enabled = False
  1202.     End Select
  1203.     iNowState = iStatus
  1204. End Function
  1205. Private Sub Cmd_Save_Click() '保存
  1206.     '判断用户是否有此功能执行权限,如有则写上机日志(进入)
  1207.     If Not Security_Log(Str_RightEdit, Xtczybm, 1, True) Then
  1208.         Exit Sub
  1209.     End If
  1210.     
  1211.     With Me.vsFG_Formula
  1212.         If .Rows > .FixedRows Then
  1213.             Save
  1214.         End If
  1215.     End With
  1216. End Sub
  1217. Private Sub Cmd_SelectField_Click() '显示字段帮助
  1218.     Dim frm As New XT_TybmczFrm
  1219.     Xtbmczdm = "Pm_FormulaField"
  1220.     frm.sParamater = GetComboKey(Me.ImgCmb_Sort, 0) '自己加入的变量,用来增加条件
  1221.     frm.Show 1
  1222.     Me.Txt_Field.Text = Xtfhcsfz
  1223.     Me.Txt_Field.Tag = Xtfhcs
  1224.     Set frm = Nothing
  1225. End Sub
  1226. Private Sub Cmd_Up_Click()
  1227.     CmdUP Me.vsFG_Formula
  1228. End Sub
  1229. Private Sub Form_KeyUp(KeyCode As Integer, Shift As Integer)        '支持热键操作
  1230.     If Shift = 2 Then
  1231.         Select Case UCase(Chr(KeyCode))
  1232.             Case "P"                                                                          'Ctrl+P 打印
  1233.                 If TB_Function.Buttons("dy").Visible And TB_Function.Buttons("dy").Enabled Then
  1234.                     Call TB_Function_ButtonClick(Me.TB_Function.Buttons("dy"))
  1235.                 End If
  1236.             Case "A"                                                                          'Ctrl+A 增加
  1237.                 '判断用户是否有此功能执行权限,如有则写上机日志(进入)
  1238.                 If Not Security_Log(Str_RightEdit, Xtczybm, 1, True) Then
  1239.                     Exit Sub
  1240.                 End If
  1241.                 If TB_Function.Buttons("Add").Visible And TB_Function.Buttons("Add").Enabled Then
  1242.                    Call TB_Function_ButtonClick(Me.TB_Function.Buttons("Add"))
  1243.                 End If
  1244.             Case "D"                                                                          'Ctrl+D 删除
  1245.                 If TB_Function.Buttons("Del").Visible And TB_Function.Buttons("Del").Enabled Then
  1246.                     Call TB_Function_ButtonClick(Me.TB_Function.Buttons("Del"))
  1247.                 End If
  1248.         End Select
  1249.     End If
  1250.     
  1251. End Sub
  1252. Private Sub Form_Load()
  1253.     On Error GoTo ErrCtrl
  1254.     
  1255.     iNowState = 0
  1256.     Dim s As String
  1257.     Dim rs As New ADODB.Recordset
  1258.     Dim itm As ComboItem
  1259.         '调入打印页面设置窗体
  1260.     ReportTitle = "公式定义"
  1261.     XtReportCode = "PM_Formula"
  1262.     Load Dyymctbl
  1263.     
  1264.     '调 入 网 格(Fixed)
  1265.     GridCode = "PM_Formula"
  1266.     Call BzWgcsh(Me.vsFG_Formula, GridCode, GridInf(), GridBoolean(), GridInt(), GridStr())
  1267.     Qslz = GridInf(1)
  1268.     Sjhgd = GridInf(2)
  1269.     Sfxshjwg = GridInf(7)
  1270.     Szzls = Me.vsFG_Formula.Cols - 1
  1271.     
  1272.     '填充工资类别
  1273.     s = "SELECT DISTINCT b.SortID,b.SortName FROM PM_OpeSort a INNER JOIN PM_Sort b on a.SortID=b.SortID WHERE a.Czybm='" & Xtczybm & "'"
  1274.     Set rs = Cw_DataEnvi.DataConnect.Execute(s)
  1275.     With rs
  1276.        Do While Not .EOF()
  1277.            Set itm = Me.ImgCmb_Sort.ComboItems.Add(, "@" & Trim(!SortId), Trim(!SortName))
  1278.            itm.Tag = !SortId
  1279.            .MoveNext
  1280.        Loop
  1281.        .Close
  1282.     End With
  1283.     Set rs = Nothing
  1284.     Set itm = Nothing
  1285.     With Me.ImgCmb_Sort
  1286.         If .ComboItems.Count > 0 Then
  1287.             .ComboItems(1).Selected = True
  1288.         End If
  1289.     End With
  1290.     
  1291.     InitView Me.TV_PreField, " FieldType<>0 " '填充字段树
  1292.     RefreshGrid '刷新网格内容
  1293.     ChangeStatus STATUS_VIEW    '改变工具栏状态
  1294.     '编辑(新增、修改、删除)权限索引
  1295.     Str_RightEdit = "Pm_Formula_edit"
  1296.     Exit Sub
  1297.     
  1298. ErrCtrl:
  1299.     If rs.State = 1 Then
  1300.         rs.Close
  1301.     End If
  1302.     Set rs = Nothing
  1303.     Set itm = Nothing
  1304.     Unload Me
  1305. End Sub
  1306. Private Function Add() '改变为新增状态
  1307.     ChangeStatus STATUS_ADD
  1308. End Function
  1309. Private Function Edit(iPos As Integer) '修改iPos行的记录
  1310.     On Error Resume Next
  1311.     Dim s As String
  1312.     Dim rs As New ADODB.Recordset
  1313.     s = "SELECT  a.*,b.ChName as FieldNameC from PM_Formula a " & Chr(10) _
  1314.         & " INNER JOIN Rs_Items b on a.FieldName=b.FieldName " & Chr(10) _
  1315.         & " WHERE FCode=" & Me.vsFG_Formula.TextMatrix(iPos, 0)
  1316.     Set rs = Cw_DataEnvi.DataConnect.Execute(s)
  1317.     With rs
  1318.         If .EOF() Then
  1319.             MsgBox "此公式已经被删除,不能够修改!", vbOKOnly + vbCritical
  1320.             Exit Function
  1321.         End If
  1322.         Me.Txt_Field.Tag = Trim(!FieldName & "")
  1323.         Me.Txt_Field.Text = Trim(!FieldNameC & "")
  1324.         Me.Txt_FContent.Text = Trim(!FContentUser & "")
  1325.         Me.Txt_FLimit.Text = Trim(!FLimitUser & "")
  1326.         Me.Chk_Valid.Value = !FIsUsed
  1327.     End With
  1328.     ChangeStatus STATUS_EDIT
  1329. End Function
  1330. Private Function Del(iPos As Integer) '删除iPos行的记录
  1331.     On Error GoTo ErrCtrl
  1332.     Dim s As String
  1333.     If MsgBox("确定要删除当前公式吗?", vbOKCancel + vbQuestion) = vbOK Then
  1334.         s = "DELETE From PM_Formula WHERE FCode=" & Me.vsFG_Formula.TextMatrix(iPos, 0)
  1335.         Cw_DataEnvi.DataConnect.Execute (s)
  1336.         Me.vsFG_Formula.RemoveItem (iPos)
  1337.     End If
  1338.     Exit Function
  1339.     
  1340. ErrCtrl:
  1341.     Dim smsg As String
  1342.     Dim smsgSys As String
  1343.     smsg = GetError(Err.Number)
  1344.     smsgSys = Err.Number & Err.Description & "!"
  1345.     MsgBox IIf(smsg = "", smsgSys, smsg), vbOKOnly + vbCritical
  1346. End Function
  1347. Private Sub GsToolbar_ButtonClick(ByVal Button As MSComctlLib.Button)
  1348.     Select Case Button.Key
  1349.       Case "bcgs"                              '保存表格格式
  1350.         Call Bcwggs(Me.vsFG_Formula, GridCode, GridStr())
  1351.       Case "hfmrgs"                            '恢复默认格式
  1352.         Call Hfmrgs(Me.vsFG_Formula, GridCode, GridStr())
  1353.       Case "szxsxm"                            '设置显示项目
  1354.         Call Szxsxm(Me.vsFG_Formula, GridCode)
  1355.     End Select
  1356. End Sub
  1357. Private Sub ImgCmb_Sort_Click()
  1358.     RefreshGrid
  1359. End Sub
  1360. Private Sub Opt_AddType_Click(Index As Integer) '根据不同状态填充不同字段
  1361.     If Me.Opt_AddType(0).Value = True Then
  1362.         InitView Me.TV_PreField, " FieldType<>0 "
  1363.     Else
  1364.         InitView Me.TV_PreField
  1365.     End If
  1366. End Sub
  1367. Private Sub TB_Function_ButtonClick(ByVal Button As MSComctlLib.Button)
  1368.     Select Case UCase(Button.Key)
  1369.         Case UCase("ymsz")                                          '页面设置
  1370.             Dyymctbl.Show 1
  1371.         Case UCase("yl")                                            '预 览
  1372.             Call bbyl(True)
  1373.         Case UCase("dy")                                            '打 印
  1374.             Call bbyl(False)
  1375.         Case UCase("Add") '增加
  1376.             '判断用户是否有此功能执行权限,如有则写上机日志(进入)
  1377.             If Not Security_Log(Str_RightEdit, Xtczybm, 1, True) Then
  1378.                 Exit Sub
  1379.             End If
  1380.             Add
  1381.         Case UCase("Edit") '修改
  1382.             '判断用户是否有此功能执行权限,如有则写上机日志(进入)
  1383.             If Not Security_Log(Str_RightEdit, Xtczybm, 1, True, False) Then
  1384.                 Cmd_OK.Enabled = False
  1385.             End If
  1386.             With Me.vsFG_Formula
  1387.                 If .Row >= .FixedRows Then
  1388.                     Edit .Row
  1389.                 End If
  1390.             End With
  1391.         Case UCase("Save") '保存
  1392.             With Me.vsFG_Formula
  1393.                 If .Rows > .FixedRows Then
  1394.                     Save
  1395.                 End If
  1396.             End With
  1397.         Case UCase("Del") '删除
  1398.             '判断用户是否有此功能执行权限,如有则写上机日志(进入)
  1399.             If Not Security_Log(Str_RightEdit, Xtczybm, 1, True) Then
  1400.                  Exit Sub
  1401.             End If
  1402.             With Me.vsFG_Formula
  1403.                 If .Row >= .FixedRows Then
  1404.                     Del .Row
  1405.                 End If
  1406.             End With
  1407.         Case UCase("Refresh") '刷新
  1408.             RefreshGrid
  1409.         Case UCase("Help") '帮助
  1410.             Call F1bz
  1411.         Case UCase("Quit") '退出
  1412.             Unload Me
  1413.     End Select
  1414. End Sub
  1415. Private Sub TV_FieldValue_BeforeLabelEdit(Cancel As Integer)
  1416.     '防止用户修改树的值
  1417.     Cancel = 1
  1418. End Sub
  1419. Private Sub TV_FieldValue_NodeClick(ByVal Node As MSComctlLib.Node) '添加字段到相应位置
  1420.     Dim nod As Node
  1421.     With Me.TV_FieldValue
  1422.         Set nod = .SelectedItem
  1423.         '如果没有选中节点
  1424.         If nod Is Nothing Then
  1425.             Exit Sub
  1426.         End If
  1427.         '如果节点是根结点
  1428.         If nod.Parent Is Nothing Then
  1429.             Set nod = Nothing
  1430.             Exit Sub
  1431.         End If
  1432.         Me.Txt_FLimit.Text = Me.Txt_FLimit.Text & " " & nod.Text
  1433.     End With
  1434.     Set nod = Nothing
  1435. End Sub
  1436. Private Sub TV_PreField_BeforeLabelEdit(Cancel As Integer)
  1437.     '防止用户修改树的值
  1438.     Cancel = 1
  1439. End Sub
  1440. Private Sub TV_PreField_DblClick() '添加此字段到相应位置
  1441.     Dim nod As Node
  1442.     With Me.TV_PreField
  1443.         '如果当前没有选中接点,退出
  1444.         Set nod = .SelectedItem
  1445.         If nod Is Nothing Then
  1446.             Exit Sub
  1447.         End If
  1448.         '如果不是字段.退出
  1449.         If nod.Children <> 0 Then
  1450.             Set nod = Nothing
  1451.             Exit Sub
  1452.         End If
  1453.         '如果是根结点,推出
  1454.         If nod.Parent Is Nothing Then
  1455.             Exit Sub
  1456.         End If
  1457.         '添加节点到相应位置
  1458.         If Me.Opt_AddType(0).Value = True Then
  1459.             Me.Txt_FContent.Text = Me.Txt_FContent.Text & " " & nod.Parent.Text & "." & nod.Text
  1460.         Else
  1461.             Me.Txt_FLimit.Text = Me.Txt_FLimit.Text & " " & nod.Parent.Text & "." & nod.Text
  1462.         End If
  1463.     End With
  1464.     '如果当前节点有相关帮助,并且不是上一次选中的节点,填充相关帮助
  1465.     If sFieldOld <> nod.Key Then
  1466.         FillValue2TV nod.Tag, Me.TV_FieldValue
  1467.         sFieldOld = nod.Key
  1468.     End If
  1469.     Set nod = Nothing
  1470. End Sub
  1471. Private Sub Txt_Field_KeyDown(KeyCode As Integer, Shift As Integer)
  1472.     If KeyCode = 113 Then   '帮助F2
  1473.         Call Cmd_SelectField_Click
  1474.     End If
  1475. End Sub
  1476. Private Sub vsFG_Formula_DblClick()
  1477.     '调用编辑公式过程
  1478.     Call TB_Function_ButtonClick(Me.TB_Function.Buttons("Edit"))
  1479. End Sub
  1480. Private Sub bbyl(bbylte As Boolean)                    '报表打印预览
  1481.     Dim Bbzbt$, Bbxbt() As String, bbxbtzzxs() As Integer, Bbxbtgs As Integer
  1482.     Dim Bbbwh() As String, Bbbwhzzxs() As Integer, Bbbwhgs As Integer
  1483.     Bbxbtgs = 2                                          '报 表 小 标 题 行 数
  1484.     Bbbwhgs = 0                                          '报 表 表 尾 行 数
  1485.     ReDim Bbxbt(1 To Bbxbtgs)
  1486.     ReDim bbxbtzzxs(1 To Bbxbtgs)
  1487.     
  1488.     If Bbbwhgs <> 0 Then
  1489.         ReDim Bbbwh(1 To Bbbwhgs)
  1490.         ReDim Bbbwhzzxs(1 To Bbbwhgs)
  1491.     End If
  1492.     
  1493.     Bbzbt = ReportTitle
  1494.     Bbxbt(1) = " "
  1495.     Bbxbt(2) = "工资类别:" & Me.ImgCmb_Sort.Text
  1496.     bbxbtzzxs(1) = 0                                     '报表行组织形式(0-居左 1-居中 2-居右)
  1497.     
  1498.     Call Scyxsjb(Me.vsFG_Formula)                                '生成报表数据
  1499.     Call Scdybb(Dyymctbl, Bbzbt, Bbxbt(), bbxbtzzxs(), Bbxbtgs, Bbbwh(), Bbbwhzzxs(), Bbbwhgs, bbylte)
  1500.   
  1501.     If Not bbylte Then
  1502.         Unload DY_Tybbyldy
  1503.     End If
  1504.     
  1505. End Sub