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

企业管理

开发平台:

Visual Basic

  1. VERSION 5.00
  2. Begin VB.Form JC_FrmBaseAcc 
  3.    Appearance      =   0  'Flat
  4.    Caption         =   "基本科目设置"
  5.    ClientHeight    =   3225
  6.    ClientLeft      =   60
  7.    ClientTop       =   345
  8.    ClientWidth     =   7065
  9.    HelpContextID   =   2001
  10.    Icon            =   "基础设置_基本科目设置.frx":0000
  11.    KeyPreview      =   -1  'True
  12.    LinkTopic       =   "Form2"
  13.    MaxButton       =   0   'False
  14.    MinButton       =   0   'False
  15.    ScaleHeight     =   3225
  16.    ScaleWidth      =   7065
  17.    StartUpPosition =   2  '屏幕中心
  18.    Begin VB.CommandButton QxCommand 
  19.       Cancel          =   -1  'True
  20.       Caption         =   "取消(&C)"
  21.       Height          =   300
  22.       Left            =   5730
  23.       TabIndex        =   11
  24.       Top             =   2730
  25.       Width           =   1120
  26.    End
  27.    Begin VB.CommandButton BcCommand 
  28.       Caption         =   "保存(&S)"
  29.       Height          =   300
  30.       Left            =   4530
  31.       TabIndex        =   10
  32.       Top             =   2730
  33.       Width           =   1120
  34.    End
  35.    Begin VB.Frame Frame1 
  36.       Height          =   3150
  37.       Left            =   60
  38.       TabIndex        =   12
  39.       Top             =   30
  40.       Width           =   6945
  41.       Begin VB.CommandButton Ydcommand1 
  42.          Height          =   300
  43.          Index           =   9
  44.          Left            =   6510
  45.          Picture         =   "基础设置_基本科目设置.frx":1042
  46.          Style           =   1  'Graphical
  47.          TabIndex        =   32
  48.          Top             =   2175
  49.          Visible         =   0   'False
  50.          Width           =   300
  51.       End
  52.       Begin VB.CommandButton Ydcommand1 
  53.          Height          =   300
  54.          Index           =   8
  55.          Left            =   6510
  56.          Picture         =   "基础设置_基本科目设置.frx":13CC
  57.          Style           =   1  'Graphical
  58.          TabIndex        =   31
  59.          Top             =   1680
  60.          Visible         =   0   'False
  61.          Width           =   300
  62.       End
  63.       Begin VB.CommandButton Ydcommand1 
  64.          Height          =   300
  65.          Index           =   7
  66.          Left            =   6510
  67.          Picture         =   "基础设置_基本科目设置.frx":1756
  68.          Style           =   1  'Graphical
  69.          TabIndex        =   30
  70.          Top             =   1200
  71.          Visible         =   0   'False
  72.          Width           =   300
  73.       End
  74.       Begin VB.CommandButton Ydcommand1 
  75.          Height          =   300
  76.          Index           =   6
  77.          Left            =   6510
  78.          Picture         =   "基础设置_基本科目设置.frx":1AE0
  79.          Style           =   1  'Graphical
  80.          TabIndex        =   29
  81.          Top             =   690
  82.          Visible         =   0   'False
  83.          Width           =   300
  84.       End
  85.       Begin VB.CommandButton Ydcommand1 
  86.          Height          =   300
  87.          Index           =   5
  88.          Left            =   6510
  89.          Picture         =   "基础设置_基本科目设置.frx":1E6A
  90.          Style           =   1  'Graphical
  91.          TabIndex        =   28
  92.          Top             =   210
  93.          Visible         =   0   'False
  94.          Width           =   300
  95.       End
  96.       Begin VB.CommandButton Ydcommand1 
  97.          Height          =   300
  98.          Index           =   4
  99.          Left            =   3030
  100.          Picture         =   "基础设置_基本科目设置.frx":21F4
  101.          Style           =   1  'Graphical
  102.          TabIndex        =   27
  103.          Top             =   2175
  104.          Visible         =   0   'False
  105.          Width           =   300
  106.       End
  107.       Begin VB.CommandButton Ydcommand1 
  108.          Height          =   300
  109.          Index           =   3
  110.          Left            =   3030
  111.          Picture         =   "基础设置_基本科目设置.frx":257E
  112.          Style           =   1  'Graphical
  113.          TabIndex        =   26
  114.          Top             =   1680
  115.          Visible         =   0   'False
  116.          Width           =   300
  117.       End
  118.       Begin VB.CommandButton Ydcommand1 
  119.          Height          =   300
  120.          Index           =   2
  121.          Left            =   3030
  122.          Picture         =   "基础设置_基本科目设置.frx":2908
  123.          Style           =   1  'Graphical
  124.          TabIndex        =   25
  125.          Top             =   1200
  126.          Visible         =   0   'False
  127.          Width           =   300
  128.       End
  129.       Begin VB.CommandButton Ydcommand1 
  130.          Height          =   300
  131.          Index           =   1
  132.          Left            =   3030
  133.          Picture         =   "基础设置_基本科目设置.frx":2C92
  134.          Style           =   1  'Graphical
  135.          TabIndex        =   24
  136.          Top             =   690
  137.          Visible         =   0   'False
  138.          Width           =   300
  139.       End
  140.       Begin VB.TextBox LrText 
  141.          Height          =   300
  142.          Index           =   9
  143.          Left            =   4860
  144.          TabIndex        =   9
  145.          Text            =   "9"
  146.          Top             =   2175
  147.          Width           =   1650
  148.       End
  149.       Begin VB.TextBox LrText 
  150.          Height          =   300
  151.          Index           =   8
  152.          Left            =   4860
  153.          TabIndex        =   8
  154.          Text            =   "8"
  155.          Top             =   1680
  156.          Width           =   1650
  157.       End
  158.       Begin VB.TextBox LrText 
  159.          Height          =   300
  160.          Index           =   7
  161.          Left            =   4860
  162.          TabIndex        =   7
  163.          Text            =   "7"
  164.          Top             =   1200
  165.          Width           =   1650
  166.       End
  167.       Begin VB.TextBox LrText 
  168.          Height          =   300
  169.          Index           =   6
  170.          Left            =   4860
  171.          TabIndex        =   6
  172.          Text            =   "6"
  173.          Top             =   690
  174.          Width           =   1650
  175.       End
  176.       Begin VB.TextBox LrText 
  177.          Height          =   300
  178.          Index           =   5
  179.          Left            =   4860
  180.          TabIndex        =   5
  181.          Text            =   "5"
  182.          Top             =   210
  183.          Width           =   1650
  184.       End
  185.       Begin VB.TextBox LrText 
  186.          Height          =   300
  187.          Index           =   4
  188.          Left            =   1380
  189.          TabIndex        =   4
  190.          Text            =   "4"
  191.          Top             =   2175
  192.          Width           =   1650
  193.       End
  194.       Begin VB.TextBox LrText 
  195.          Height          =   300
  196.          Index           =   3
  197.          Left            =   1380
  198.          TabIndex        =   3
  199.          Text            =   "3"
  200.          Top             =   1680
  201.          Width           =   1650
  202.       End
  203.       Begin VB.TextBox LrText 
  204.          Height          =   300
  205.          Index           =   2
  206.          Left            =   1380
  207.          TabIndex        =   2
  208.          Text            =   "2"
  209.          Top             =   1200
  210.          Width           =   1650
  211.       End
  212.       Begin VB.TextBox LrText 
  213.          Height          =   300
  214.          Index           =   0
  215.          Left            =   1380
  216.          TabIndex        =   0
  217.          Text            =   "0"
  218.          Top             =   210
  219.          Width           =   1650
  220.       End
  221.       Begin VB.TextBox LrText 
  222.          Height          =   300
  223.          Index           =   1
  224.          Left            =   1380
  225.          TabIndex        =   1
  226.          Text            =   "1"
  227.          Top             =   690
  228.          Width           =   1650
  229.       End
  230.       Begin VB.CommandButton Ydcommand1 
  231.          Height          =   300
  232.          Index           =   0
  233.          Left            =   3030
  234.          Picture         =   "基础设置_基本科目设置.frx":301C
  235.          Style           =   1  'Graphical
  236.          TabIndex        =   13
  237.          Top             =   210
  238.          Visible         =   0   'False
  239.          Width           =   300
  240.       End
  241.       Begin VB.Label TsLabel 
  242.          Caption         =   "应付票据科目(银行承兑):"
  243.          Height          =   345
  244.          Index           =   9
  245.          Left            =   3630
  246.          TabIndex        =   23
  247.          Tag             =   "AP_BankNoteAccCode"
  248.          Top             =   2190
  249.          Width           =   1215
  250.       End
  251.       Begin VB.Label TsLabel 
  252.          Caption         =   "应付票据科目(商业承兑):"
  253.          Height          =   420
  254.          Index           =   8
  255.          Left            =   3630
  256.          TabIndex        =   22
  257.          Tag             =   "AP_CommNoteAccCode"
  258.          Top             =   1695
  259.          Width           =   1095
  260.       End
  261.       Begin VB.Label TsLabel 
  262.          AutoSize        =   -1  'True
  263.          Caption         =   "票据费用科目:"
  264.          Height          =   180
  265.          Index           =   7
  266.          Left            =   3630
  267.          TabIndex        =   21
  268.          Tag             =   "AP_NoteFareAccCode"
  269.          Top             =   1260
  270.          Width           =   1170
  271.       End
  272.       Begin VB.Label TsLabel 
  273.          AutoSize        =   -1  'True
  274.          Caption         =   "票据利息科目:"
  275.          Height          =   180
  276.          Index           =   6
  277.          Left            =   3630
  278.          TabIndex        =   20
  279.          Tag             =   "AP_NoteIntAccCode"
  280.          Top             =   750
  281.          Width           =   1170
  282.       End
  283.       Begin VB.Label TsLabel 
  284.          AutoSize        =   -1  'True
  285.          Caption         =   "现金折扣科目:"
  286.          Height          =   180
  287.          Index           =   5
  288.          Left            =   3630
  289.          TabIndex        =   19
  290.          Tag             =   "AP_CashDisAccCode"
  291.          Top             =   270
  292.          Width           =   1170
  293.       End
  294.       Begin VB.Label TsLabel 
  295.          AutoSize        =   -1  'True
  296.          Caption         =   "采购税金科目:"
  297.          Height          =   180
  298.          Index           =   4
  299.          Left            =   150
  300.          TabIndex        =   18
  301.          Tag             =   "AP_PurTaxAccCode"
  302.          Top             =   2235
  303.          Width           =   1170
  304.       End
  305.       Begin VB.Label TsLabel 
  306.          AutoSize        =   -1  'True
  307.          Caption         =   "采购科目:"
  308.          Height          =   180
  309.          Index           =   3
  310.          Left            =   150
  311.          TabIndex        =   17
  312.          Tag             =   "AP_PurAccCode"
  313.          Top             =   1740
  314.          Width           =   810
  315.       End
  316.       Begin VB.Label TsLabel 
  317.          AutoSize        =   -1  'True
  318.          Caption         =   "预付帐款科目:"
  319.          Height          =   180
  320.          Index           =   2
  321.          Left            =   150
  322.          TabIndex        =   16
  323.          Tag             =   "AP_PpAccCode"
  324.          Top             =   1260
  325.          Width           =   1170
  326.       End
  327.       Begin VB.Label TsLabel 
  328.          AutoSize        =   -1  'True
  329.          Caption         =   "常用付款科目:"
  330.          Height          =   180
  331.          Index           =   0
  332.          Left            =   150
  333.          TabIndex        =   15
  334.          Tag             =   "AP_PayAccCode"
  335.          Top             =   270
  336.          Width           =   1170
  337.       End
  338.       Begin VB.Label TsLabel 
  339.          AutoSize        =   -1  'True
  340.          Caption         =   "应付帐款科目:"
  341.          Height          =   180
  342.          Index           =   1
  343.          Left            =   150
  344.          TabIndex        =   14
  345.          Tag             =   "AP_ApAccCode"
  346.          Top             =   750
  347.          Width           =   1170
  348.       End
  349.    End
  350. End
  351. Attribute VB_Name = "JC_FrmBaseAcc"
  352. Attribute VB_GlobalNameSpace = False
  353. Attribute VB_Creatable = False
  354. Attribute VB_PredeclaredId = True
  355. Attribute VB_Exposed = False
  356. '*************************************************************
  357. '*    模 块 名 称 :基本科目设置
  358. '*    功 能 描 述 :基本科目是在核算应付款项时经常用到的科目,可以
  359. '*                 在此处设置常用科目。所录入科目必须是最明细科目。
  360. '*    程序员姓名  : 张建忠
  361. '*    最后修改人  : 张建忠
  362. '*    最后修改时间:2001/12/26
  363. '*    备        注:
  364. '*************************************************************
  365. Dim jdzygs As Integer                    '控件焦点转移个数
  366. Dim Tsxx As String                       '系统提示信息
  367. '以下为固定使用变量(文本框)
  368. Dim Textvar() As Variant                 '存储变体型文本框信息
  369. Dim Textboolean() As Boolean             '存储布尔型文本框信息
  370. Dim Textint() As Integer                 '存储整型文本框信息
  371. Dim Textstr() As String                  '存储字符型文本框信息
  372. Dim Max_Text_Index As Integer            '最大录入文本框索引值
  373. Dim TextGroupCode As String              '文本框录入分组编码
  374. Dim TextValiLock As Boolean              '文本框失去焦点是否进行有效性控制判断
  375. Dim TextValiJudgeLock() As Boolean       '文本框录入有效性判断控制锁
  376. Dim CurTextIndex As Integer              '当前文本框索引值
  377. Dim TextChangeLock As Boolean            '文本框内容变换控制锁
  378. Dim Bln_Cancel As Boolean                '取消按钮信息传递
  379. Private Sub Form_KeyPress(KeyAscii As Integer)   '控 制 焦 点 转 移
  380.     
  381.     jdzygs = 12
  382.     
  383.     Select Case KeyAscii
  384.     Case vbKeyReturn
  385.         If Kjjdzy(jdzygs) Then
  386.             KeyAscii = 0
  387.         End If
  388.     Case 39           '屏蔽"'"
  389.         KeyAscii = 0
  390.     End Select
  391.     
  392. End Sub
  393. Private Sub Form_Load()
  394.     
  395.     '以下为文本框处理程序
  396.     
  397.     TextGroupCode = "Ap_BaseAcc"
  398.     Call Drwbkxx(TextGroupCode, Textvar(), Textboolean(), Textint(), Textstr())  '读入文本框录入信息
  399.     Call Wbkcsh
  400.     
  401.     '填充各项内容
  402.     Call Cxnrtcwg
  403.     
  404.     '判断用户是否有此功能执行权限,如有则写上机日志(进入)
  405.     If Not Security_Log("Ap_BaseAcc_Edit", Xtczybm, 1, True, False) Then
  406.         BcCommand.Enabled = False
  407.     End If
  408.     
  409. End Sub
  410. Private Sub Cxnrtcwg()                               '填充各项内容
  411.     Dim Sqlstr As String      '临时查询字符串
  412.     Dim RecTemp As ADODB.Recordset
  413.     Dim jsqte As Integer
  414.     
  415.     For jsqte = 0 To Max_Text_Index
  416.         If Len(Trim(Textstr(jsqte, 1))) <> 0 Then
  417.             TextChangeLock = True
  418.             Sqlstr = "Select Ccode From RP_InputCode Where ItemCode='" & TsLabel(jsqte).Tag & "'"
  419.             Set RecTemp = Cw_DataEnvi.DataConnect.Execute(Sqlstr)
  420.             If Not RecTemp.EOF Then
  421.                 LrText(jsqte).Text = Trim(RecTemp.Fields("Ccode") & "")
  422.             End If
  423.             TextChangeLock = False
  424.         End If
  425.     Next jsqte
  426. End Sub
  427. Private Function Bclrsj() As Boolean                   '判断录入数据有效性,并保存数据
  428.     
  429.     Dim jsqte As Integer
  430.     
  431.     '对文本框录入内容进行为零和为空判断(固定不变)
  432.     With Rec_CodeSet
  433.         For jsqte = 0 To Max_Text_Index
  434.             If Textint(jsqte, 8) = 1 Then     '字段不能为空
  435.                 If Len(Trim(LrText(jsqte).Text)) = 0 Then
  436.                     Tsxx = Textstr(jsqte, 7) & "不能为空!"
  437.                     Call Xtxxts(Tsxx, 0, 1)
  438.                     LrText(jsqte).SetFocus
  439.                     Bclrsj = False
  440.                     Exit Function
  441.                 End If
  442.             Else
  443.                 If Textint(jsqte, 8) = 2 Then   '字段不能为零
  444.                     If Val(Trim(LrText(jsqte).Text)) = 0 Then
  445.                         Tsxx = Textstr(jsqte, 7) & "不能为零!"
  446.                         Call Xtxxts(Tsxx, 0, 1)
  447.                         LrText(jsqte).SetFocus
  448.                         Bclrsj = False
  449.                         Exit Function
  450.                     End If
  451.                 End If
  452.             End If
  453.         Next jsqte
  454.         
  455.         '对需要进行事后判断的文本框录入内容进行有效性判断 (固定不变)
  456.         For jsqte = 0 To Max_Text_Index
  457.             If Textint(jsqte, 9) = 0 Or Textint(jsqte, 9) = 2 Then
  458.                 If Not TextYxxpd(jsqte) Then
  459.                     Exit Function
  460.                 End If
  461.             End If
  462.         Next jsqte
  463.         
  464.         '判断记录内容无误后,将记录内容写入数据表
  465.         On Error GoTo Swcwcl
  466.         
  467.         Cw_DataEnvi.DataConnect.BeginTrans
  468.         
  469.         For jsqte = 0 To Max_Text_Index
  470.             If Trim(LrText(jsqte).Text) <> "" Then
  471.                 Sqlstr = "Update RP_InputCode Set Ccode='" & Trim(LrText(jsqte).Text) & "' Where ItemCode='" & Trim(TsLabel(jsqte).Tag) & "'"
  472.                 Cw_DataEnvi.DataConnect.Execute (Sqlstr)
  473.             End If
  474.         Next jsqte
  475.         
  476.         Cw_DataEnvi.DataConnect.CommitTrans
  477.         
  478.         '保存记录成功,函数返回真值
  479.         Bclrsj = True
  480.         Exit Function
  481.         
  482.     End With
  483.     
  484. Swcwcl:
  485.     
  486.     Cw_DataEnvi.DataConnect.RollbackTrans
  487.     
  488.     Tsxx = "存盘过程中出现错误,程序自动恢复保存前状态!"
  489.     Call Xtxxts(Tsxx, 0, 1)
  490.     
  491.     Exit Function
  492.     
  493. End Function
  494. Private Sub BcCommand_Click()                           '确定
  495.     If Bclrsj Then
  496.         Unload Me
  497.     End If
  498. End Sub
  499. Private Sub QxCommand_Click()                           '取消
  500.     Unload Me
  501. End Sub
  502. '************以下为文本框录入处理程序(固定不变部分)*************'
  503. Private Sub Wbklrwbcl(Index As Integer)    '文本框录入事后处理程序
  504.     
  505.     '以下为依据实际情况自定义部分[
  506.     
  507.     '在此填写文本框录入事后处理程序
  508.     
  509.     ']以上为依据实际情况自定义部分
  510.     
  511. End Sub
  512. Private Sub LrText_Change(Index As Integer)
  513.     
  514.     '屏蔽程序改变控制
  515.     If TextChangeLock Then
  516.         Exit Sub
  517.     End If
  518.     
  519.     TextValiJudgeLock(Index) = False    '打开有效性判断锁
  520.     
  521.     '限制字段录入长度
  522.     
  523.     TextChangeLock = True  '加锁(防止执行Lrtext_Change)
  524.     
  525.     Call TextChangeLimit(LrText(Index), Textint(Index, 1))  '去掉无效字符
  526.     
  527.     Select Case Textint(Index, 1)
  528.     Case 8, 11       '金额型
  529.         Call Sjgskz(LrText(Index), Xtjezws - Xtjexsws - 1, Xtjexsws)
  530.     Case 9, 12       '数量型
  531.         Call Sjgskz(LrText(Index), Xtslzws - Xtslxsws - 1, Xtslxsws)
  532.     Case 10          '单价型
  533.         Call Sjgskz(LrText(Index), Xtdjzws - Xtdjxsws - 1, Xtdjxsws)
  534.     Case Else        '其他小数类型控制
  535.         If Textint(Index, 6) <> 0 Or Textint(Index, 7) <> 0 Then
  536.             Call Sjgskz(LrText(Index), Textint(Index, 6), Textint(Index, 7))
  537.         End If
  538.     End Select
  539.     
  540.     TextChangeLock = False '解锁
  541.     
  542. End Sub
  543. Private Sub LrText_GotFocus(Index As Integer)                                                 '文本框得到焦点,显示相应信息
  544.     
  545.     Call TextShow(Index)
  546.     CurTextIndex = Index
  547.     LrText(Index).SelStart = Len(LrText(Index))
  548.     
  549. End Sub
  550. Private Sub LrText_KeyDown(Index As Integer, KeyCode As Integer, Shift As Integer)            '字段按F2键提供帮助
  551.     
  552.     Select Case KeyCode
  553.     Case vbKeyF2
  554.         Call Text_Help(Index)
  555.     End Select
  556.     
  557. End Sub
  558. Private Sub LrText_KeyPress(Index As Integer, KeyAscii As Integer)                            '文本框录入事中控制
  559.     
  560.     Call InputFieldLimit(LrText(Index), Textint(Index, 1), KeyAscii)
  561.     
  562. End Sub
  563. Private Sub LrText_LostFocus(Index As Integer)                                                '文本框失去焦点
  564.     
  565.     '显示相应信息但不能进行有效性判断
  566.     
  567. End Sub
  568. Private Sub Ydcommand1_MouseDown(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single)     '按钮提供帮助
  569.     
  570.     Call Text_Help(Index)
  571.     
  572. End Sub
  573. Private Sub Text_Help(Index As Integer)                                                       '录入字段帮助
  574.     
  575.     If Not Textboolean(Index, 1) Then
  576.         Exit Sub
  577.     End If
  578.     
  579.     '调用帮助
  580.     Call Drbmhelp(Textint(Index, 2), Textstr(Index, 4), Trim(LrText(Index).Text))
  581.     
  582.     '根据设置选择显示编码和名称,并进行存储
  583.     If Len(Xtfhcs) <> 0 Then
  584.         If Textint(Index, 3) = 1 Then
  585.             LrText(Index).Text = Xtfhcsfz
  586.             LrText(Index).Tag = Xtfhcs
  587.         Else
  588.             LrText(Index).Text = Xtfhcs
  589.             LrText(Index).Tag = Xtfhcsfz
  590.         End If
  591.     End If
  592.     
  593.     LrText(Index).SetFocus
  594.     
  595. End Sub
  596. Private Sub TextShow(Index As Integer)        '文本框得到焦点,显示相应信息
  597.     
  598.     '填写文本框得到焦点,进行相应信息处理程序
  599.     
  600. End Sub
  601. Private Sub Wbkcsh()                          '录入文本框初始化
  602.     
  603.     Dim jsqte As Integer
  604.     
  605.     '最大录入文本框索引值
  606.     Max_Text_Index = Textvar(1)
  607.     
  608.     ReDim TextValiJudgeLock(Max_Text_Index)
  609.     
  610.     For jsqte = 0 To Max_Text_Index
  611.         If Len(Trim(Textstr(jsqte, 1))) <> 0 Then
  612.             If Textboolean(jsqte, 1) Then
  613.                 If jsqte <> 0 And Not Textboolean(jsqte, 3) Then
  614.                     Load Ydcommand1(jsqte)
  615.                 End If
  616.                 Ydcommand1(jsqte).Visible = True
  617.                 Ydcommand1(jsqte).Move LrText(jsqte).Left + LrText(jsqte).Width, LrText(jsqte).Top
  618.             End If
  619.             
  620.             TextChangeLock = True
  621.             LrText(jsqte).Text = ""
  622.             LrText(jsqte).Tag = ""
  623.             
  624.             If Textint(jsqte, 5) <> 0 Then
  625.                 LrText(jsqte).MaxLength = Textint(jsqte, 5)
  626.             End If
  627.             
  628.             TextChangeLock = False
  629.         End If
  630.         
  631.         TextValiJudgeLock(jsqte) = True
  632.     Next jsqte
  633.     
  634. End Sub
  635. Private Function TextYxxpd(Index As Integer) As Boolean           '文本框有效性判断
  636.     
  637.     Dim Sqlstr As String
  638.     Dim Findrec As ADODB.Recordset
  639.     
  640.     '文本框内容未曾改变不进行有效性判断
  641.     If TextValiJudgeLock(Index) Then
  642.         TextYxxpd = True
  643.         Exit Function
  644.     End If
  645.     
  646.     '文本框内容为空认为有效,并清空其Tag值
  647.     If Trim(LrText(Index)) = "" Then
  648.         LrText(Index).Tag = ""
  649.         Call Wbklrwbcl(Index)
  650.         TextValiJudgeLock(Index) = True
  651.         TextYxxpd = True
  652.         Exit Function
  653.     End If
  654.     
  655.     '可在此加入不做有效性判断的理由
  656.     Select Case Textint(Index, 4)
  657.     Case 1      '编码型
  658.         Sqlstr = Trim(Textstr(Index, 5))
  659.         Sqlstr = Replace(Sqlstr, "@", "'" + Trim(LrText(Index).Text) + "'")
  660.         Set Findrec = Cw_DataEnvi.DataConnect.Execute(Sqlstr)
  661.         
  662.         If Findrec.EOF Then
  663.             Call Xtxxts(Trim(Textstr(Index, 6)), 0, 1)
  664.             LrText(Index).SetFocus
  665.             Exit Function
  666.         Else
  667.             Select Case Textint(Index, 3)
  668.             Case 0
  669.                 
  670.                 If Len(Trim(Textstr(Index, 2))) <> 0 Then
  671.                     LrText(Index).Text = Trim(Findrec.Fields(Trim(Textstr(Index, 2))))
  672.                 End If
  673.                 
  674.                 If Len(Trim(Textstr(Index, 3) & "")) <> 0 Then
  675.                     LrText(Index).Tag = Trim(Findrec.Fields(Trim(Textstr(Index, 3))))
  676.                 End If
  677.                 
  678.             Case 1
  679.                 
  680.                 If Len(Trim(Textstr(Index, 3) & "")) <> 0 Then
  681.                     LrText(Index).Text = Trim(Findrec.Fields(Trim(Textstr(Index, 3))))
  682.                 End If
  683.                 
  684.                 If Len(Trim(Textstr(Index, 2))) <> 0 Then
  685.                     LrText(Index).Tag = Trim(Findrec.Fields(Trim(Textstr(Index, 2))))
  686.                 End If
  687.             End Select
  688.         End If
  689.         
  690.     Case 2      '日期型
  691.         If IsDate(LrText(Index).Text) Then
  692.             LrText(Index).Text = Format(LrText(Index).Text, "yyyy-mm-dd")
  693.             If Val(Mid(LrText(Index), 1, 4)) < 1900 Then
  694.                 LrText(Index).Text = "1900" + Mid(LrText(Index), 5, 6)
  695.             End If
  696.         Else
  697.             Tsxx = "非法公历日期!(格式:" + Format(Date, "yyyy-mm-dd") + ")"
  698.             Call Xtxxts(Tsxx, 0, 1)
  699.             LrText(Index).SetFocus
  700.             Exit Function
  701.         End If
  702.         
  703.     Case 3      '其他类型
  704.         
  705.     End Select
  706.     
  707.     '如果有效则加锁,用户不改变内容则不再进行有效性判断
  708.     TextValiJudgeLock(Index) = True
  709.     
  710.     '调用文本框事后处理程序
  711.     Call Wbklrwbcl(Index)
  712.     
  713.     '有效性判断通过则返回True
  714.     TextYxxpd = True
  715.     
  716. End Function