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

企业管理

开发平台:

Visual Basic

  1. VERSION 5.00
  2. Begin VB.Form AutoTran_PzAss 
  3.    BackColor       =   &H00C0C0C0&
  4.    Caption         =   "辅助核算项目"
  5.    ClientHeight    =   6495
  6.    ClientLeft      =   60
  7.    ClientTop       =   345
  8.    ClientWidth     =   6465
  9.    Icon            =   "自动转帐凭证_辅助核算项目.frx":0000
  10.    KeyPreview      =   -1  'True
  11.    LinkTopic       =   "Form3"
  12.    MaxButton       =   0   'False
  13.    MinButton       =   0   'False
  14.    ScaleHeight     =   6495
  15.    ScaleWidth      =   6465
  16.    StartUpPosition =   1  'CenterOwner
  17.    Begin VB.TextBox LrText 
  18.       Height          =   300
  19.       Index           =   13
  20.       Left            =   1170
  21.       TabIndex        =   14
  22.       Text            =   "13"
  23.       Top             =   5805
  24.       Width           =   3510
  25.    End
  26.    Begin VB.CommandButton Ydcommand1 
  27.       Height          =   300
  28.       Index           =   13
  29.       Left            =   4680
  30.       Picture         =   "自动转帐凭证_辅助核算项目.frx":1042
  31.       Style           =   1  'Graphical
  32.       TabIndex        =   41
  33.       Top             =   5400
  34.       Visible         =   0   'False
  35.       Width           =   300
  36.    End
  37.    Begin VB.CommandButton Ydcommand1 
  38.       Height          =   300
  39.       Index           =   12
  40.       Left            =   4680
  41.       Picture         =   "自动转帐凭证_辅助核算项目.frx":13CC
  42.       Style           =   1  'Graphical
  43.       TabIndex        =   40
  44.       Top             =   4920
  45.       Visible         =   0   'False
  46.       Width           =   300
  47.    End
  48.    Begin VB.TextBox LrText 
  49.       Height          =   300
  50.       Index           =   12
  51.       Left            =   1170
  52.       TabIndex        =   13
  53.       Text            =   "12"
  54.       Top             =   5400
  55.       Width           =   3510
  56.    End
  57.    Begin VB.TextBox LrText 
  58.       Height          =   300
  59.       Index           =   11
  60.       Left            =   1170
  61.       TabIndex        =   12
  62.       Text            =   "11"
  63.       Top             =   4935
  64.       Width           =   3510
  65.    End
  66.    Begin VB.CommandButton Ydcommand1 
  67.       Height          =   300
  68.       Index           =   10
  69.       Left            =   4680
  70.       Picture         =   "自动转帐凭证_辅助核算项目.frx":1756
  71.       Style           =   1  'Graphical
  72.       TabIndex        =   32
  73.       Top             =   4470
  74.       Visible         =   0   'False
  75.       Width           =   300
  76.    End
  77.    Begin VB.CommandButton Ydcommand1 
  78.       Height          =   300
  79.       Index           =   9
  80.       Left            =   4650
  81.       Picture         =   "自动转帐凭证_辅助核算项目.frx":1AE0
  82.       Style           =   1  'Graphical
  83.       TabIndex        =   31
  84.       Top             =   4050
  85.       Visible         =   0   'False
  86.       Width           =   300
  87.    End
  88.    Begin VB.CommandButton Ydcommand1 
  89.       Height          =   300
  90.       Index           =   8
  91.       Left            =   4680
  92.       Picture         =   "自动转帐凭证_辅助核算项目.frx":1E6A
  93.       Style           =   1  'Graphical
  94.       TabIndex        =   30
  95.       Top             =   3630
  96.       Visible         =   0   'False
  97.       Width           =   300
  98.    End
  99.    Begin VB.CommandButton Ydcommand1 
  100.       Height          =   300
  101.       Index           =   7
  102.       Left            =   4650
  103.       Picture         =   "自动转帐凭证_辅助核算项目.frx":21F4
  104.       Style           =   1  'Graphical
  105.       TabIndex        =   29
  106.       Top             =   3180
  107.       Visible         =   0   'False
  108.       Width           =   300
  109.    End
  110.    Begin VB.CommandButton Ydcommand1 
  111.       Height          =   300
  112.       Index           =   2
  113.       Left            =   3240
  114.       Picture         =   "自动转帐凭证_辅助核算项目.frx":257E
  115.       Style           =   1  'Graphical
  116.       TabIndex        =   28
  117.       Top             =   1000
  118.       Visible         =   0   'False
  119.       Width           =   300
  120.    End
  121.    Begin VB.CommandButton Ydcommand1 
  122.       Height          =   300
  123.       Index           =   0
  124.       Left            =   4650
  125.       Picture         =   "自动转帐凭证_辅助核算项目.frx":2908
  126.       Style           =   1  'Graphical
  127.       TabIndex        =   0
  128.       Top             =   180
  129.       Visible         =   0   'False
  130.       Width           =   300
  131.    End
  132.    Begin VB.CommandButton QxCommand 
  133.       Cancel          =   -1  'True
  134.       Caption         =   "取消(&C)"
  135.       Height          =   300
  136.       Left            =   5160
  137.       TabIndex        =   16
  138.       Top             =   600
  139.       Width           =   1120
  140.    End
  141.    Begin VB.CommandButton BcCommand 
  142.       Caption         =   "确定(&O)"
  143.       Height          =   300
  144.       Left            =   5160
  145.       TabIndex        =   15
  146.       Top             =   240
  147.       Width           =   1120
  148.    End
  149.    Begin VB.TextBox LrText 
  150.       Height          =   300
  151.       Index           =   10
  152.       Left            =   1170
  153.       TabIndex        =   11
  154.       Text            =   "10"
  155.       Top             =   4485
  156.       Width           =   3510
  157.    End
  158.    Begin VB.TextBox LrText 
  159.       Height          =   300
  160.       Index           =   9
  161.       Left            =   1170
  162.       TabIndex        =   10
  163.       Text            =   "9"
  164.       Top             =   4050
  165.       Width           =   3510
  166.    End
  167.    Begin VB.TextBox LrText 
  168.       Height          =   300
  169.       Index           =   8
  170.       Left            =   1170
  171.       TabIndex        =   9
  172.       Text            =   "8"
  173.       Top             =   3630
  174.       Width           =   3510
  175.    End
  176.    Begin VB.TextBox LrText 
  177.       Height          =   300
  178.       Index           =   7
  179.       Left            =   1170
  180.       TabIndex        =   8
  181.       Text            =   "7"
  182.       Top             =   3210
  183.       Width           =   3510
  184.    End
  185.    Begin VB.TextBox LrText 
  186.       Height          =   300
  187.       Index           =   6
  188.       Left            =   1170
  189.       TabIndex        =   7
  190.       Text            =   "6"
  191.       Top             =   2775
  192.       Width           =   3510
  193.    End
  194.    Begin VB.TextBox LrText 
  195.       Height          =   300
  196.       Index           =   5
  197.       Left            =   1170
  198.       TabIndex        =   6
  199.       Text            =   "5"
  200.       Top             =   2340
  201.       Width           =   3510
  202.    End
  203.    Begin VB.TextBox LrText 
  204.       Height          =   300
  205.       Index           =   4
  206.       Left            =   1170
  207.       TabIndex        =   5
  208.       Text            =   "4"
  209.       Top             =   1905
  210.       Width           =   3510
  211.    End
  212.    Begin VB.TextBox LrText 
  213.       Height          =   300
  214.       Index           =   3
  215.       Left            =   1170
  216.       TabIndex        =   4
  217.       Text            =   "3"
  218.       Top             =   1455
  219.       Width           =   3510
  220.    End
  221.    Begin VB.TextBox LrText 
  222.       Height          =   300
  223.       Index           =   2
  224.       Left            =   1170
  225.       TabIndex        =   3
  226.       Text            =   "2"
  227.       Top             =   1020
  228.       Width           =   3510
  229.    End
  230.    Begin VB.TextBox LrText 
  231.       Height          =   300
  232.       Index           =   0
  233.       Left            =   1170
  234.       TabIndex        =   1
  235.       Text            =   "0"
  236.       Top             =   180
  237.       Width           =   3510
  238.    End
  239.    Begin VB.TextBox LrText 
  240.       Height          =   300
  241.       Index           =   1
  242.       Left            =   1170
  243.       TabIndex        =   2
  244.       Text            =   "1"
  245.       Top             =   600
  246.       Width           =   3510
  247.    End
  248.    Begin VB.Label TsLabel 
  249.       BackStyle       =   0  'Transparent
  250.       Caption         =   "经办人:"
  251.       Height          =   180
  252.       Index           =   13
  253.       Left            =   270
  254.       TabIndex        =   42
  255.       Top             =   5910
  256.       Width           =   810
  257.    End
  258.    Begin VB.Label TsLabel 
  259.       BackStyle       =   0  'Transparent
  260.       Caption         =   "供应商:"
  261.       Height          =   180
  262.       Index           =   12
  263.       Left            =   270
  264.       TabIndex        =   39
  265.       Top             =   5460
  266.       Width           =   810
  267.    End
  268.    Begin VB.Label Lab_ForeignName 
  269.       AutoSize        =   -1  'True
  270.       BackStyle       =   0  'Transparent
  271.       ForeColor       =   &H00404040&
  272.       Height          =   180
  273.       Left            =   5280
  274.       TabIndex        =   38
  275.       Top             =   2760
  276.       Visible         =   0   'False
  277.       Width           =   90
  278.    End
  279.    Begin VB.Label Lab_ItemMeasure 
  280.       AutoSize        =   -1  'True
  281.       BackStyle       =   0  'Transparent
  282.       ForeColor       =   &H00404040&
  283.       Height          =   180
  284.       Left            =   5940
  285.       TabIndex        =   37
  286.       Top             =   2010
  287.       Visible         =   0   'False
  288.       Width           =   90
  289.    End
  290.    Begin VB.Label TsLabel 
  291.       BackStyle       =   0  'Transparent
  292.       Caption         =   "项目数量:"
  293.       Height          =   180
  294.       Index           =   11
  295.       Left            =   270
  296.       TabIndex        =   36
  297.       Top             =   4980
  298.       Width           =   810
  299.    End
  300.    Begin VB.Label Lab_Measure 
  301.       AutoSize        =   -1  'True
  302.       BackStyle       =   0  'Transparent
  303.       ForeColor       =   &H00404040&
  304.       Height          =   180
  305.       Left            =   2670
  306.       TabIndex        =   35
  307.       Top             =   1830
  308.       Visible         =   0   'False
  309.       Width           =   90
  310.    End
  311.    Begin VB.Label lab_GridRow 
  312.       Height          =   405
  313.       Left            =   5280
  314.       TabIndex        =   34
  315.       Top             =   2160
  316.       Visible         =   0   'False
  317.       Width           =   765
  318.    End
  319.    Begin VB.Label Lab_ItemClass 
  320.       AutoSize        =   -1  'True
  321.       BackStyle       =   0  'Transparent
  322.       ForeColor       =   &H00404040&
  323.       Height          =   180
  324.       Left            =   6240
  325.       TabIndex        =   33
  326.       Top             =   1560
  327.       Visible         =   0   'False
  328.       Width           =   90
  329.    End
  330.    Begin VB.Label TsLabel 
  331.       BackStyle       =   0  'Transparent
  332.       Caption         =   "项目:"
  333.       Height          =   180
  334.       Index           =   10
  335.       Left            =   300
  336.       TabIndex        =   27
  337.       Top             =   4560
  338.       Width           =   810
  339.    End
  340.    Begin VB.Label TsLabel 
  341.       BackStyle       =   0  'Transparent
  342.       Caption         =   "个人:"
  343.       Height          =   180
  344.       Index           =   9
  345.       Left            =   300
  346.       TabIndex        =   26
  347.       Top             =   4110
  348.       Width           =   810
  349.    End
  350.    Begin VB.Label TsLabel 
  351.       BackStyle       =   0  'Transparent
  352.       Caption         =   "往来客户:"
  353.       Height          =   180
  354.       Index           =   8
  355.       Left            =   300
  356.       TabIndex        =   25
  357.       Top             =   3690
  358.       Width           =   810
  359.    End
  360.    Begin VB.Label TsLabel 
  361.       BackStyle       =   0  'Transparent
  362.       Caption         =   "部门:"
  363.       Height          =   180
  364.       Index           =   7
  365.       Left            =   300
  366.       TabIndex        =   24
  367.       Top             =   3270
  368.       Width           =   810
  369.    End
  370.    Begin VB.Label TsLabel 
  371.       BackStyle       =   0  'Transparent
  372.       Caption         =   "汇率:"
  373.       Height          =   180
  374.       Index           =   6
  375.       Left            =   300
  376.       TabIndex        =   23
  377.       Top             =   2850
  378.       Width           =   810
  379.    End
  380.    Begin VB.Label TsLabel 
  381.       BackStyle       =   0  'Transparent
  382.       Caption         =   "外币金额:"
  383.       Height          =   180
  384.       Index           =   5
  385.       Left            =   270
  386.       TabIndex        =   22
  387.       Top             =   2430
  388.       Width           =   810
  389.    End
  390.    Begin VB.Label TsLabel 
  391.       BackStyle       =   0  'Transparent
  392.       Caption         =   "单价:"
  393.       Height          =   180
  394.       Index           =   4
  395.       Left            =   270
  396.       TabIndex        =   21
  397.       Top             =   1980
  398.       Width           =   810
  399.    End
  400.    Begin VB.Label TsLabel 
  401.       BackStyle       =   0  'Transparent
  402.       Caption         =   "数量:"
  403.       Height          =   180
  404.       Index           =   3
  405.       Left            =   270
  406.       TabIndex        =   20
  407.       Top             =   1530
  408.       Width           =   810
  409.    End
  410.    Begin VB.Label TsLabel 
  411.       BackStyle       =   0  'Transparent
  412.       Caption         =   "发生日期:"
  413.       Height          =   180
  414.       Index           =   2
  415.       Left            =   270
  416.       TabIndex        =   19
  417.       Top             =   1080
  418.       Width           =   810
  419.    End
  420.    Begin VB.Label TsLabel 
  421.       BackStyle       =   0  'Transparent
  422.       Caption         =   "结算方式:"
  423.       Height          =   180
  424.       Index           =   0
  425.       Left            =   270
  426.       TabIndex        =   18
  427.       Top             =   240
  428.       Width           =   810
  429.    End
  430.    Begin VB.Label TsLabel 
  431.       BackStyle       =   0  'Transparent
  432.       Caption         =   "票号:"
  433.       Height          =   180
  434.       Index           =   1
  435.       Left            =   270
  436.       TabIndex        =   17
  437.       Top             =   660
  438.       Width           =   810
  439.    End
  440. End
  441. Attribute VB_Name = "AutoTran_PzAss"
  442. Attribute VB_GlobalNameSpace = False
  443. Attribute VB_Creatable = False
  444. Attribute VB_PredeclaredId = True
  445. Attribute VB_Exposed = False
  446. '************************************************************************************
  447. '*    模 块 名 称 :辅助核算项目录入
  448. '*    功 能 描 述 :能够根据科目辅助核算项,自动出现辅助核算项目,并自动调整
  449. '*                 录入项目位置及窗体大小
  450. '*    程序员姓名  : 张建忠
  451. '*    最后修改人  : 张建忠
  452. '*    最后修改时间:2000/09/07
  453. '*    备        注:
  454. '*
  455. '*    1.对于网格列存储内容
  456. '*      0-行有效标识 1-结算方式编码 2-结算方式名称 3-票号 4-发生日期 5-数量 6-单价
  457. '*      7-计量单位 8-外币编码 9-外币名称 10-汇率 11-部门编码 12-部门名称 13-单位编码
  458. '*      14-单位名称  15-职员编码 16-职员名称 17-项目大类编码 18-项目大类名称
  459. '*      19-项目编码 20-项目名称 21-项目数量 22-项目计量单位
  460. '************************************************************************************
  461.  
  462. Dim RecTemp As New ADODB.Recordset       '临时使用动态集
  463. Dim jdzygs As Integer                    '控件焦点转移个数
  464. Dim Tsxx As String                       '系统提示信息
  465. Dim Bln_FirstTab As Boolean              '是否首次产生Tab键(主要用来判断Tab键是否由填置凭证窗体引起)
  466.   
  467. '以下为固定使用变量(文本框)
  468. Dim Textvar() As Variant                 '存储变体型文本框信息
  469. Dim Textboolean() As Boolean             '存储布尔型文本框信息
  470. Dim Textint() As Integer                 '存储整型文本框信息
  471. Dim Textstr() As String                  '存储字符型文本框信息
  472. Dim Max_Text_Index As Integer            '最大录入文本框索引值
  473. Dim TextGroupCode As String              '文本框录入分组编码
  474. Dim TextValiLock As Boolean              '文本框失去焦点是否进行有效性控制判断
  475. Dim TextValiJudgeLock() As Boolean       '文本框录入有效性判断控制锁
  476. Dim CurTextIndex As Integer              '当前文本框索引值
  477. Dim TextChangeLock As Boolean            '文本框内容变换控制锁
  478. Dim Bln_Cancel As Boolean                '取消按钮信息传递
  479. Private Sub Form_KeyPress(KeyAscii As Integer)   '控 制 焦 点 转 移
  480.     jdzygs = 20
  481.     Select Case KeyAscii
  482.     Case vbKeyReturn
  483.         If Kjjdzy(jdzygs) Then
  484.             KeyAscii = 0
  485.         End If
  486.     Case 39           '屏蔽"'"
  487.         KeyAscii = 0
  488.     End Select
  489. End Sub
  490. '[ZJZ Begin 改进由填制凭证窗体引发的焦点转移 2001-06-16
  491. Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
  492.     
  493.     If Bln_FirstTab Then
  494.         For jsqte = 0 To Max_Text_Index
  495.             If LrText(jsqte).Visible And LrText(jsqte).Enabled Then
  496.                 LrText(jsqte).SetFocus
  497.                 Exit For
  498.             End If
  499.         Next jsqte
  500.     End If
  501.     Bln_FirstTab = False
  502. End Sub
  503. '[ZJZ End
  504. Private Sub Form_Load()
  505.     
  506.     '以下为文本框处理程序
  507.     
  508.     TextGroupCode = "Cwzz_Ass"
  509.     Call Drwbkxx(TextGroupCode, Textvar(), Textboolean(), Textint(), Textstr())  '读入文本框录入信息
  510.     Call Wbkcsh
  511.     Bln_FirstTab = True
  512. End Sub
  513. Private Function Bclrsj() As Boolean                   '判断录入数据有效性,并保存数据
  514.     Dim jsqte As Integer
  515.     Dim Int_GridRow As Integer     '数据回写网格行
  516.     
  517.     For jsqte = 0 To Max_Text_Index
  518.         If Textint(jsqte, 8) = 1 And LrText(jsqte).Visible Then     '字段不能为空
  519.             If Len(Trim(LrText(jsqte).Text)) = 0 Then
  520.                 Tsxx = Textstr(jsqte, 7) & "不能为空!"
  521.                 Call Xtxxts(Tsxx, 0, 1)
  522.                 LrText(jsqte).SetFocus
  523.                 Bclrsj = False
  524.                 Exit Function
  525.             End If
  526.         Else
  527.             If Textint(jsqte, 8) = 2 And LrText(jsqte).Visible Then   '字段不能为零
  528.                 If Val(Trim(LrText(jsqte).Text)) = 0 Then
  529.                     Tsxx = Textstr(jsqte, 7) & "不能为零!"
  530.                     Call Xtxxts(Tsxx, 0, 1)
  531.                     LrText(jsqte).SetFocus
  532.                     Bclrsj = False
  533.                     Exit Function
  534.                 End If
  535.             End If
  536.         End If
  537.     Next jsqte
  538.     
  539.     '对需要进行事后判断的文本框录入内容进行有效性判断 (固定不变)
  540.     For jsqte = 0 To Max_Text_Index
  541.         If (Textint(jsqte, 9) = 0 Or Textint(jsqte, 9) = 2) And LrText(jsqte).Visible Then
  542.             If Not TextYxxpd(jsqte) Then
  543.                 Exit Function
  544.             End If
  545.         End If
  546.     Next jsqte
  547.     
  548.     '如项目核算数量,则项目数量不能为零
  549.     
  550.     If Len(Trim(Lab_ItemMeasure)) <> 0 And Val(LrText(11)) = 0 Then
  551.         Tsxx = "此项目核算数量,则项目数量不能为零!"
  552.         Call Xtxxts(Tsxx, 0, 1)
  553.         LrText(11).SetFocus
  554.         Exit Function
  555.     End If
  556.     
  557.     Int_GridRow = Val(lab_GridRow)
  558.     With AutoTran_PzFrm
  559.         For jsqte = 0 To Max_Text_Index
  560.             If LrText(jsqte).Visible Then
  561.                 Select Case jsqte
  562.                 Case 0   '结算方式
  563.                     .WglrGrid.TextMatrix(Int_GridRow, 1) = Trim(LrText(jsqte).Tag)
  564.                     .WglrGrid.TextMatrix(Int_GridRow, 2) = Trim(LrText(jsqte).Text)
  565.                 Case 1   '票号
  566.                     .WglrGrid.TextMatrix(Int_GridRow, 3) = Trim(LrText(jsqte).Text)
  567.                 Case 2   '发生日期
  568.                     .WglrGrid.TextMatrix(Int_GridRow, 4) = Trim(LrText(jsqte).Text)
  569.                 Case 3   '数量
  570.                     .WglrGrid.TextMatrix(Int_GridRow, 5) = Val(LrText(jsqte).Text)
  571.                 Case 4   '单价
  572.                     .WglrGrid.TextMatrix(Int_GridRow, 6) = Val(LrText(jsqte).Text)
  573.                 Case 5   '外币金额
  574.                     .WglrGrid.TextMatrix(Int_GridRow, 10) = Trim(LrText(jsqte).Text)
  575.                 Case 6     '汇率
  576.                     .WglrGrid.TextMatrix(Int_GridRow, 11) = Trim(LrText(jsqte).Text)
  577.                 Case 7     '部门
  578.                     .WglrGrid.TextMatrix(Int_GridRow, 12) = Trim(LrText(jsqte).Tag)
  579.                     .WglrGrid.TextMatrix(Int_GridRow, 13) = Trim(LrText(jsqte).Text)
  580.                 Case 8     '客户
  581.                     .WglrGrid.TextMatrix(Int_GridRow, 14) = Trim(LrText(jsqte).Tag)
  582.                     .WglrGrid.TextMatrix(Int_GridRow, 15) = Trim(LrText(jsqte).Text)
  583.                 Case 9     '个人
  584.                     .WglrGrid.TextMatrix(Int_GridRow, 16) = Trim(LrText(jsqte).Tag)
  585.                     .WglrGrid.TextMatrix(Int_GridRow, 17) = Trim(LrText(jsqte).Text)
  586.                 Case 10     '项目
  587.                     .WglrGrid.TextMatrix(Int_GridRow, 20) = Trim(LrText(jsqte).Tag)
  588.                     .WglrGrid.TextMatrix(Int_GridRow, 21) = Trim(LrText(jsqte).Text)
  589.                 Case 11     '项目数量
  590.                     If Len(Trim(Lab_ItemMeasure)) <> 0 Then
  591.                         .WglrGrid.TextMatrix(Int_GridRow, 22) = Trim(LrText(jsqte).Text)
  592.                         .WglrGrid.TextMatrix(Int_GridRow, 23) = Trim(Lab_ItemMeasure)
  593.                     Else
  594.                         .WglrGrid.TextMatrix(Int_GridRow, 22) = ""
  595.                         .WglrGrid.TextMatrix(Int_GridRow, 23) = ""
  596.                     End If
  597.                 Case 12      '供应商
  598.                     .WglrGrid.TextMatrix(Int_GridRow, 25) = Trim(LrText(jsqte).Tag)
  599.                     .WglrGrid.TextMatrix(Int_GridRow, 26) = Trim(LrText(jsqte).Text)
  600.                 Case 13     '经办人
  601.                     .WglrGrid.TextMatrix(Int_GridRow, 24) = Trim(LrText(jsqte).Text)
  602.                 End Select
  603.             End If
  604.         Next jsqte
  605.     End With
  606.     
  607.     Bclrsj = True
  608.     
  609. End Function
  610. Private Sub BcCommand_Click()                                           '保 存
  611.     If Not Bclrsj Then
  612.         Exit Sub
  613.     End If
  614.     Unload Me
  615. End Sub
  616. Private Sub QxCommand_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)       '取消
  617.     '避免执行Click程序
  618.     Bln_Cancel = True
  619.     
  620.     Call Sub_Cancel
  621. End Sub
  622. Private Sub QxCommand_Click()                                                                         '取消
  623.     If Bln_Cancel Then
  624.         Bln_Cancel = False
  625.         Exit Sub
  626.     End If
  627.     
  628.     Call Sub_Cancel
  629. End Sub
  630. Private Sub Sub_Cancel()                                                                                  '取消
  631.     '文本框加锁
  632.     For jsqte = 0 To Max_Text_Index
  633.         TextValiJudgeLock(jsqte) = True
  634.     Next jsqte
  635.     Unload Me
  636. End Sub
  637. '************以下为文本框录入处理程序(固定不变部分)*************'
  638. Private Sub Wbklrwbcl(Index As Integer)    '文本框录入事后处理程序
  639.     
  640.     '以下为依据实际情况自定义部分[
  641.     
  642.     '在此填写文本框录入事后处理程序
  643.     
  644.     ']以上为依据实际情况自定义部分
  645. End Sub
  646. Private Sub LrText_Change(Index As Integer)
  647.     
  648.     '屏蔽程序改变控制
  649.     If TextChangeLock Then
  650.         Exit Sub
  651.     End If
  652.     
  653.     TextValiJudgeLock(Index) = False    '打开有效性判断锁
  654.     
  655.     '限制字段录入长度
  656.     
  657.     TextChangeLock = True  '加锁(防止执行Lrtext_Change)
  658.     Select Case Textint(Index, 1)
  659.     Case 8           '金额型
  660.         Call Sjgskz(LrText(Index), Xtjezws - Xtjexsws - 1, Xtjexsws)
  661.     Case 9           '数量型
  662.         Call Sjgskz(LrText(Index), Xtslzws - Xtslxsws - 1, Xtslxsws)
  663.     Case 10          '单价型
  664.         Call Sjgskz(LrText(Index), Xtdjzws - Xtdjxsws - 1, Xtdjxsws)
  665.     Case Else        '其他小数类型控制
  666.         If Textint(Index, 6) <> 0 Or Textint(Index, 7) <> 0 Then
  667.             Call Sjgskz(LrText(Index), Textint(Index, 6), Textint(Index, 7))
  668.         End If
  669.     End Select
  670.     TextChangeLock = False '解锁
  671. End Sub
  672. Private Sub LrText_GotFocus(Index As Integer)                                                 '文本框得到焦点,显示相应信息
  673.     Call TextShow(Index)
  674.     CurTextIndex = Index
  675.     LrText(Index).SelStart = Len(LrText(Index))
  676. End Sub
  677. Private Sub LrText_KeyDown(Index As Integer, KeyCode As Integer, Shift As Integer)            '字段按F2键提供帮助
  678.     Select Case KeyCode
  679.     Case vbKeyF2
  680.         Call Text_Help(Index)
  681.     End Select
  682. End Sub
  683. Private Sub LrText_KeyPress(Index As Integer, KeyAscii As Integer)                            '文本框录入事中控制
  684.     Call InputFieldLimit(LrText(Index), Textint(Index, 1), KeyAscii)
  685. End Sub
  686. Private Sub Ydcommand1_MouseDown(Index As Integer, Button As Integer, Shift As Integer, x As Single, y As Single)     '按钮提供帮助
  687.     
  688.     Call Text_Help(Index)
  689.     
  690. End Sub
  691. Private Sub Text_Help(Index As Integer)                                                       '录入字段帮助
  692.     If Not Textboolean(Index, 1) Then
  693.         Exit Sub
  694.     End If
  695.     TextValiJudgeLock(Index) = True
  696.     
  697.     '先进行有效性判断
  698.     If Not TextYxxpd(CurTextIndex) Then
  699.         Exit Sub
  700.     End If
  701.     
  702.     If Index = 10 Then        '核算项目特殊处理
  703.         Xtcdcs = Trim(LrText(Index).Text)
  704.         Xtcdcsfz = Lab_ItemClass.Tag
  705.         XT_ItemHelp.Show 1
  706.     Else
  707.         Call Drbmhelp(Textint(Index, 2), Textstr(Index, 4), Trim(LrText(Index).Text))
  708.     End If
  709.     If Len(Xtfhcs) <> 0 Then
  710.         If Textint(Index, 3) = 1 Then
  711.             LrText(Index).Text = Xtfhcsfz
  712.             LrText(Index).Tag = Xtfhcs
  713.         Else
  714.             LrText(Index).Text = Xtfhcs
  715.             LrText(Index).Tag = Xtfhcsfz
  716.         End If
  717.         
  718.     End If
  719.     TextValiJudgeLock(Index) = False
  720.     LrText(Index).SetFocus
  721. End Sub
  722. Private Sub TextShow(Index As Integer)        '文本框得到焦点,显示相应信息
  723.     
  724.     '填写文本框得到焦点,进行相应信息处理程序
  725.     
  726. End Sub
  727. Private Sub Wbkcsh()                          '录入文本框初始化
  728.     Dim jsqte As Integer
  729.     
  730.     '最大录入文本框索引值
  731.     Max_Text_Index = Textvar(1)
  732.     
  733.     ReDim TextValiJudgeLock(Max_Text_Index)
  734.     For jsqte = 0 To Max_Text_Index
  735.         
  736.         If Len(Trim(Textstr(jsqte, 1))) <> 0 Then
  737.             If Textboolean(jsqte, 1) Then
  738.                 If jsqte <> 0 And Not Textboolean(jsqte, 3) Then
  739.                     Load Ydcommand1(jsqte)
  740.                 End If
  741.                 Ydcommand1(jsqte).Visible = True
  742.                 Ydcommand1(jsqte).Move LrText(jsqte).Left + LrText(jsqte).Width, LrText(jsqte).Top
  743.             End If
  744.             TextChangeLock = True
  745.             LrText(jsqte).Text = ""
  746.             LrText(jsqte).Tag = ""
  747.             If Textint(jsqte, 5) <> 0 Then
  748.                 LrText(jsqte).MaxLength = Textint(jsqte, 5)
  749.             End If
  750.             TextChangeLock = False
  751.         End If
  752.         TextValiJudgeLock(jsqte) = True
  753.     Next jsqte
  754. End Sub
  755. Private Function TextYxxpd(Index As Integer) As Boolean           '文本框有效性判断
  756.     Dim Sqlstr As String
  757.     Dim Findrec As ADODB.Recordset
  758.     If TextValiJudgeLock(Index) Then    '文本框内容未曾改变不进行有效性判断
  759.         TextYxxpd = True
  760.         Exit Function
  761.     End If
  762.     If Trim(LrText(Index)) = "" Then
  763.         LrText(Index).Tag = ""
  764.         Call Wbklrwbcl(Index)
  765.         TextValiJudgeLock(Index) = True
  766.         TextYxxpd = True
  767.         Exit Function
  768.     End If
  769.     Select Case Textint(Index, 4)
  770.     Case 1      '编码型
  771.         Sqlstr = Trim(Textstr(Index, 5))
  772.         Sqlstr = Replace(Sqlstr, "@", "'" + Trim(LrText(Index).Text) + "'")
  773.         Set Findrec = Cw_DataEnvi.DataConnect.Execute(Sqlstr)
  774.         If Findrec.EOF Then
  775.             Call Xtxxts(Trim(Textstr(Index, 6)), 0, 1)
  776.             LrText(Index).SetFocus
  777.             Exit Function
  778.         Else
  779.             Select Case Textint(Index, 3)
  780.             Case 0
  781.                 If Len(Trim(Textstr(Index, 2))) <> 0 Then
  782.                     LrText(Index).Text = Trim(Findrec.Fields(Trim(Textstr(Index, 2))))
  783.                 End If
  784.                 If Len(Trim(Textstr(Index, 3) & "")) <> 0 Then
  785.                     LrText(Index).Tag = Trim(Findrec.Fields(Trim(Textstr(Index, 3))))
  786.                 End If
  787.             Case 1
  788.                 If Len(Trim(Textstr(Index, 3) & "")) <> 0 Then
  789.                     LrText(Index).Text = Trim(Findrec.Fields(Trim(Textstr(Index, 3))))
  790.                 End If
  791.                 If Len(Trim(Textstr(Index, 2))) <> 0 Then
  792.                     LrText(Index).Tag = Trim(Findrec.Fields(Trim(Textstr(Index, 2))))
  793.                 End If
  794.             End Select
  795.         End If
  796.     Case 2      '日期型
  797.         If IsDate(LrText(Index).Text) Then
  798.             LrText(Index).Text = Format(LrText(Index).Text, "yyyy-mm-dd")
  799.         Else
  800.             Tsxx = "非法公历日期!(格式:" + Format(Date, "yyyy-mm-dd") + ")"
  801.             Call Xtxxts(Tsxx, 0, 1)
  802.             LrText(Index).SetFocus
  803.             Exit Function
  804.         End If
  805.     Case 3      '其他类型
  806.         Select Case Index
  807.         Case 10                  '项目
  808.             Sqlstr = "select * from Cwzz_item where ItemClassCode='" & Lab_ItemClass.Tag & "' and (ItemCode='" & Trim(LrText(10).Text) & "' or ItemName='" & Trim(LrText(10).Text) & "')"
  809.             Set Findrec = Cw_DataEnvi.DataConnect.Execute(Sqlstr)
  810.             If Findrec.EOF Then
  811.                 Call Xtxxts(Trim(Textstr(Index, 6)), 0, 1)
  812.                 LrText(Index).SetFocus
  813.                 Exit Function
  814.             Else
  815.                 Select Case Textint(Index, 3)
  816.                 Case 0
  817.                     If Len(Trim(Textstr(Index, 2))) <> 0 Then
  818.                         LrText(Index).Text = Trim(Findrec.Fields(Trim(Textstr(Index, 2))))
  819.                     End If
  820.                     If Len(Trim(Textstr(Index, 3) & "")) <> 0 Then
  821.                         LrText(Index).Tag = Trim(Findrec.Fields(Trim(Textstr(Index, 3))))
  822.                     End If
  823.                 Case 1
  824.                     If Len(Trim(Textstr(Index, 3) & "")) <> 0 Then
  825.                         LrText(Index).Text = Trim(Findrec.Fields(Trim(Textstr(Index, 3))))
  826.                     End If
  827.                     If Len(Trim(Textstr(Index, 2))) <> 0 Then
  828.                         LrText(Index).Tag = Trim(Findrec.Fields(Trim(Textstr(Index, 2))))
  829.                     End If
  830.                 End Select
  831.                 If Findrec.Fields("QuantityFlag") Then   '数量核算显示单位
  832.                     Lab_ItemMeasure = Trim(Findrec.Fields("Measure"))
  833.                 Else
  834.                     LrText(11).Text = ""
  835.                     Lab_ItemMeasure = ""
  836.                 End If
  837.             End If
  838.         End Select
  839.     End Select
  840.     TextValiJudgeLock(Index) = True
  841.     TextYxxpd = True
  842. End Function