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

企业管理

开发平台:

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