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

企业管理

开发平台:

Visual Basic

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