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

企业管理

开发平台:

Visual Basic

  1. VERSION 5.00
  2. Begin VB.Form Tjfx_DiffCond 
  3.    BorderStyle     =   1  'Fixed Single
  4.    Caption         =   "差异分摊条件"
  5.    ClientHeight    =   4005
  6.    ClientLeft      =   45
  7.    ClientTop       =   330
  8.    ClientWidth     =   7095
  9.    HelpContextID   =   130605
  10.    Icon            =   "统计分析_差异分摊条件.frx":0000
  11.    KeyPreview      =   -1  'True
  12.    LinkTopic       =   "Form1"
  13.    MaxButton       =   0   'False
  14.    MinButton       =   0   'False
  15.    ScaleHeight     =   4005
  16.    ScaleWidth      =   7095
  17.    StartUpPosition =   2  'CenterScreen
  18.    Begin VB.CommandButton Cmd_Clear 
  19.       Caption         =   "全清(&L)"
  20.       Height          =   300
  21.       Left            =   120
  22.       TabIndex        =   22
  23.       Top             =   3600
  24.       Width           =   1120
  25.    End
  26.    Begin VB.Frame Frame2 
  27.       Caption         =   "仓库列表"
  28.       Height          =   3375
  29.       Left            =   90
  30.       TabIndex        =   19
  31.       Top             =   90
  32.       Width           =   3045
  33.       Begin VB.CommandButton QxuCommand 
  34.          Caption         =   "全选"
  35.          Height          =   300
  36.          Left            =   1740
  37.          TabIndex        =   21
  38.          Top             =   2940
  39.          Width           =   1120
  40.       End
  41.       Begin VB.CommandButton QcCommand 
  42.          Caption         =   "全消"
  43.          Height          =   300
  44.          Left            =   510
  45.          TabIndex        =   20
  46.          Top             =   2940
  47.          Width           =   1120
  48.       End
  49.       Begin VB.ListBox Lst_WareHouse 
  50.          Height          =   2310
  51.          Left            =   150
  52.          Style           =   1  'Checkbox
  53.          TabIndex        =   0
  54.          Top             =   300
  55.          Width           =   2745
  56.       End
  57.    End
  58.    Begin VB.CommandButton QxCommand 
  59.       Cancel          =   -1  'True
  60.       Caption         =   "取消(&C)"
  61.       Height          =   300
  62.       Left            =   5880
  63.       TabIndex        =   17
  64.       Top             =   3600
  65.       Width           =   1120
  66.    End
  67.    Begin VB.CommandButton QdCommand 
  68.       Caption         =   "确定(&O)"
  69.       Height          =   300
  70.       Left            =   4665
  71.       TabIndex        =   6
  72.       Top             =   3600
  73.       Width           =   1120
  74.    End
  75.    Begin VB.Frame Frame1 
  76.       Height          =   3375
  77.       Left            =   3240
  78.       TabIndex        =   7
  79.       Top             =   90
  80.       Width           =   3765
  81.       Begin VB.ComboBox Com_FtCond 
  82.          Height          =   300
  83.          Left            =   1065
  84.          Style           =   2  'Dropdown List
  85.          TabIndex        =   5
  86.          Top             =   2070
  87.          Width           =   2520
  88.       End
  89.       Begin VB.TextBox LrText 
  90.          Height          =   300
  91.          Index           =   1
  92.          Left            =   1065
  93.          TabIndex        =   3
  94.          Text            =   "1"
  95.          Top             =   1365
  96.          Width           =   2250
  97.       End
  98.       Begin VB.TextBox LrText 
  99.          Height          =   300
  100.          Index           =   0
  101.          Left            =   1065
  102.          TabIndex        =   2
  103.          Text            =   "0"
  104.          Top             =   1005
  105.          Width           =   2250
  106.       End
  107.       Begin VB.CommandButton YDCommand1 
  108.          Height          =   300
  109.          Index           =   1
  110.          Left            =   3300
  111.          Picture         =   "统计分析_差异分摊条件.frx":1042
  112.          Style           =   1  'Graphical
  113.          TabIndex        =   10
  114.          Top             =   1365
  115.          Visible         =   0   'False
  116.          Width           =   300
  117.       End
  118.       Begin VB.CommandButton YDCommand1 
  119.          Height          =   300
  120.          Index           =   0
  121.          Left            =   3300
  122.          Picture         =   "统计分析_差异分摊条件.frx":13CC
  123.          Style           =   1  'Graphical
  124.          TabIndex        =   9
  125.          Top             =   1005
  126.          Visible         =   0   'False
  127.          Width           =   300
  128.       End
  129.       Begin VB.TextBox LrText 
  130.          Height          =   300
  131.          Index           =   2
  132.          Left            =   1065
  133.          TabIndex        =   4
  134.          Text            =   "2"
  135.          Top             =   1710
  136.          Width           =   2250
  137.       End
  138.       Begin VB.CommandButton YDCommand1 
  139.          Height          =   300
  140.          Index           =   2
  141.          Left            =   3300
  142.          Picture         =   "统计分析_差异分摊条件.frx":1756
  143.          Style           =   1  'Graphical
  144.          TabIndex        =   8
  145.          Top             =   1725
  146.          Visible         =   0   'False
  147.          Width           =   300
  148.       End
  149.       Begin VB.ComboBox Com_Mon 
  150.          Height          =   315
  151.          Left            =   1065
  152.          Style           =   2  'Dropdown List
  153.          TabIndex        =   1
  154.          Top             =   645
  155.          Width           =   2520
  156.       End
  157.       Begin VB.Label Lbl_Year 
  158.          BackColor       =   &H8000000E&
  159.          BorderStyle     =   1  'Fixed Single
  160.          Caption         =   "Year"
  161.          Height          =   300
  162.          Left            =   1065
  163.          TabIndex        =   16
  164.          Top             =   300
  165.          Width           =   2520
  166.       End
  167.       Begin VB.Label Label1 
  168.          AutoSize        =   -1  'True
  169.          Caption         =   "年度:"
  170.          Height          =   180
  171.          Index           =   5
  172.          Left            =   180
  173.          TabIndex        =   15
  174.          Top             =   345
  175.          Width           =   450
  176.       End
  177.       Begin VB.Label Label1 
  178.          AutoSize        =   -1  'True
  179.          Caption         =   "存货分类:"
  180.          Height          =   195
  181.          Index           =   4
  182.          Left            =   180
  183.          TabIndex        =   14
  184.          Top             =   1065
  185.          Width           =   765
  186.       End
  187.       Begin VB.Label Label1 
  188.          AutoSize        =   -1  'True
  189.          Caption         =   "分摊条件:"
  190.          Height          =   195
  191.          Index           =   1
  192.          Left            =   180
  193.          TabIndex        =   13
  194.          Top             =   2130
  195.          Width           =   765
  196.       End
  197.       Begin VB.Label Label1 
  198.          AutoSize        =   -1  'True
  199.          Caption         =   "存货编码:"
  200.          Height          =   195
  201.          Index           =   8
  202.          Left            =   180
  203.          TabIndex        =   12
  204.          Top             =   1425
  205.          Width           =   765
  206.       End
  207.       Begin VB.Line Line6 
  208.          X1              =   780
  209.          X2              =   1020
  210.          Y1              =   1860
  211.          Y2              =   1860
  212.       End
  213.       Begin VB.Label Label1 
  214.          AutoSize        =   -1  'True
  215.          Caption         =   "月份:"
  216.          Height          =   180
  217.          Index           =   9
  218.          Left            =   180
  219.          TabIndex        =   11
  220.          Top             =   735
  221.          Width           =   450
  222.       End
  223.    End
  224.    Begin VB.CheckBox UnloadCheck 
  225.       Caption         =   "卸载窗体"
  226.       Height          =   375
  227.       Left            =   3540
  228.       TabIndex        =   18
  229.       Top             =   690
  230.       Width           =   1065
  231.    End
  232. End
  233. Attribute VB_Name = "Tjfx_DiffCond"
  234. Attribute VB_GlobalNameSpace = False
  235. Attribute VB_Creatable = False
  236. Attribute VB_PredeclaredId = True
  237. Attribute VB_Exposed = False
  238. '******************************************************************
  239. '*    模 块 名 称 :差异分摊查询条件
  240. '*    功 能 描 述 :
  241. '*    程序员姓名  :白凤英
  242. '*    最后修改人  :白凤英
  243. '*    最后修改时间:2001/12/18
  244. '*    备        注:程序中所有依实际情况自定义部分均用[>>  <<]括起
  245. '******************************************************************
  246. Dim Tsxx As String                       '系统信息提示
  247. Dim mWhcode() As String                  '仓库编码
  248. Dim mWhcodeStr As String
  249. '以下为固定使用变量(文本框)
  250. Dim Textvar() As Variant                 '存储变体型文本框信息
  251. Dim Textboolean() As Boolean             '存储布尔型文本框信息
  252. Dim Textint() As Integer                 '存储整型文本框信息
  253. Dim Textstr() As String                  '存储字符型文本框信息
  254. Dim Max_Text_Index As Integer            '最大录入文本框索引值
  255. Dim TextGroupCode As String              '文本框录入分组编码
  256. Dim TextValiLock As Boolean              '文本框失去焦点是否进行有效性控制判断
  257. Dim TextValiJudgeLock() As Boolean       '文本框录入有效性判断控制锁
  258. Dim CurTextIndex As Integer              '当前文本框索引值
  259. Dim TextChangeLock As Boolean            '文本框内容变换控制锁
  260. Dim Bln_Cancel As Boolean                '取消按钮信息传递
  261. Private Sub Cmd_Clear_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
  262.     '清除文本框(Fixed)
  263.     For Jsqte = 0 To Max_Text_Index
  264.         LrText(Jsqte).Tag = ""
  265.         LrText(Jsqte).Text = ""
  266.     Next Jsqte
  267. End Sub
  268. Private Sub Form_KeyPress(KeyAscii As Integer)   '控 制 焦 点 转 移(Fixed)
  269.     Dim jdzygs As Integer                         '控件焦点转移个数
  270.     jdzygs = 30
  271.     Select Case KeyAscii
  272.         Case vbKeyReturn
  273.             If Kjjdzy(jdzygs) Then
  274.                 KeyAscii = 0
  275.             End If
  276.         Case 39           '屏蔽"'"
  277.             KeyAscii = 0
  278.     End Select
  279. End Sub
  280. Private Sub Form_Load()
  281. Dim Rectemp As Recordset
  282. Dim mYear As Integer
  283. Dim mPeriod As Integer
  284.    
  285.     '以下为文本框处理程序(Fixed)
  286.     TextGroupCode = "Chhs_DiffCond"
  287.     Call Drwbkxx(TextGroupCode, Textvar(), Textboolean(), Textint(), Textstr())  '读入文本框录入信息
  288.     Call Wbkcsh
  289.    
  290.     '[>>初始化查询条件默认值
  291.     mYear = Xtyear
  292.     Lbl_Year = CStr(mYear) + "年"
  293.     
  294.     '月份
  295.     Set Rectemp = Cw_DataEnvi.DataConnect.Execute("Select Period From GY_Kjrlb Where Kjyear='" & mYear & "' AND chhsjzbz=0 Order by Period")
  296.     If Not Rectemp.EOF Then
  297.         mPeriod = Rectemp.Fields("Period")
  298.     Else
  299.         Set Rectemp = Cw_DataEnvi.DataConnect.Execute("Select Period From GY_Kjrlb Where Kjyear='" & mYear & "' AND chhsjzbz=1 Order by Period desc")
  300.         mPeriod = Rectemp.Fields("Period")
  301.     End If
  302.     
  303.     For Jsqte = StartMon To mPeriod
  304.         Com_Mon.AddItem CStr(mYear) + "." + CStr(Jsqte)
  305.         Com_Mon.ItemData(Com_Mon.NewIndex) = Jsqte
  306.     Next Jsqte
  307.     If Com_Mon.ListCount > 0 Then Com_Mon.ListIndex = 0
  308.     
  309.     '仓库列表
  310.     Set Rectemp = Cw_DataEnvi.DataConnect.Execute("SELECT  Gy_Warehouse.* FROM Gy_Warehouse " & _
  311.            " LEFT OUTER JOIN  Gy_Whlimit ON Gy_Warehouse.WhCode = Gy_Whlimit.WhCode " & _
  312.            " WHERE Gy_Whlimit.Czybm = '" & Xtczybm & "' and Gy_Warehouse.chhsuseflag=1 " & _
  313.            " and pricemode='计划价法' order by Gy_Warehouse.Whcode")
  314.     
  315.     If Not Rectemp.EOF Then
  316.         
  317.         ReDim mWhcode(Rectemp.RecordCount)
  318.         
  319.         For Jsqte = 0 To Rectemp.RecordCount - 1
  320.             Lst_WareHouse.AddItem Trim(Rectemp.Fields("whname")) + "(" + Trim(Rectemp.Fields("whcode")) + ") "
  321.             Lst_WareHouse.Selected(Lst_WareHouse.NewIndex) = True
  322.             mWhcode(Lst_WareHouse.NewIndex) = Trim(Rectemp.Fields("whcode"))
  323.             Rectemp.MoveNext
  324.         Next
  325.     End If
  326.     
  327.     '分摊条件
  328.     Call FillCombo(Com_FtCond, "Chhs_Diff", "", 0)
  329.     If Com_FtCond.ListCount > 0 Then Com_FtCond.ListIndex = 0
  330.     
  331.     '<<]
  332.     Set Rectemp = Nothing
  333.     
  334. End Sub
  335. Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)          '查询条件窗体卸载
  336.     '查询条件窗体卸载时判断是否因为结果窗体卸载,如是则卸载,否则隐藏
  337.     If UnloadCheck.Value <> 1 Then
  338.         Cancel = 1
  339.         Me.Hide
  340.     End If
  341.     
  342. End Sub
  343. Private Sub QcCommand_Click()           '全消
  344.     For Jsqte = 0 To Lst_WareHouse.ListCount - 1
  345.         Lst_WareHouse.Selected(Jsqte) = False
  346.     Next
  347. End Sub
  348. Private Sub QdCommand_Click()                                   '确 定
  349. Dim Rectemp As Recordset
  350. Dim Str As String
  351.     '录入条件有效性判断(Fixed)
  352.     If Not Lrtjyxxpd Then
  353.         Exit Sub
  354.     End If
  355.     Me.Hide
  356.     
  357.     '选中仓库
  358.     Str = ""
  359.     For Jsqte = 0 To Lst_WareHouse.ListCount - 1
  360.         If Lst_WareHouse.Selected(Jsqte) = True Then
  361.             If Str = "" Then
  362.                 Str = "'" & mWhcode(Jsqte) & "'"
  363.             Else
  364.                 Str = Str + ",'" & mWhcode(Jsqte) & "'"
  365.             End If
  366.         End If
  367.     Next Jsqte
  368.     Me.WhCode = "a.whcode in (" + Str + ")"
  369.         
  370.     '[>>激活查询过程结果窗体
  371.     With Tjfx_Diff
  372.         .Timer1.Enabled = True
  373.         .SetFocus
  374.         .Lbl_TitleText(0) = Com_Mon.Text
  375.         .Lbl_TitleMess(0) = Com_FtCond.Text
  376.     End With
  377.     '<<]
  378. End Sub
  379. Private Sub QxCommand_Click()                                    '取消(Fixed)
  380.     Me.Hide
  381. End Sub
  382. Private Function Lrtjyxxpd() As Boolean                          '用户录入条件有效性判断
  383.     Dim Jsqte As Integer
  384.     Lrtjyxxpd = False
  385.  
  386.     '一.============先对单据内容进行有效性判断==============='
  387.   
  388.     '先进行字段不能为空或不能为零有效性判断(Fixed)
  389.     For Jsqte = 0 To Max_Text_Index
  390.         If Textint(Jsqte, 8) = 1 Then     '字段不能为空
  391.             If Len(Trim(LrText(Jsqte).Text)) = 0 Then
  392.                 Tsxx = Textstr(Jsqte, 7) & "不能为空!"
  393.                 Call Xtxxts(Tsxx, 0, 1)
  394.                 LrText(Jsqte).SetFocus
  395.                 Exit Function
  396.             End If
  397.         End If
  398.     Next Jsqte
  399.     
  400.     '对需要进行事后判断的文本框录入内容进行有效性判断 (Fixed)
  401.     For Jsqte = 0 To Max_Text_Index
  402.         If Textint(Jsqte, 9) = 0 Or Textint(Jsqte, 9) = 2 Then
  403.             If Not TextYxxpd(Jsqte) Then
  404.                 Exit Function
  405.             End If
  406.         End If
  407.     Next Jsqte
  408.    
  409.     '[>>以下为依据实际情况自定义部分
  410.  
  411.     '至少选中一个仓库
  412.     If Lst_WareHouse.SelCount = 0 Then
  413.         Tsxx = "至少选中一个仓库!"
  414.         Call Xtxxts(Tsxx, 0, 4)
  415.         Lst_WareHouse.SetFocus
  416.         Exit Function
  417.     End If
  418.     
  419.     '查询存货编码范围应由小到大
  420.     If LrText(1).Text > LrText(2).Text And Trim(LrText(2).Text) <> "" Then
  421.         Tsxx = "查询存货编码范围应由小到大!"
  422.         Call Xtxxts(Tsxx, 0, 4)
  423.         LrText(1).SetFocus
  424.         Exit Function
  425.     End If
  426.   
  427.     '<<]以上为依据实际情况自定义部分
  428.  
  429.     Lrtjyxxpd = True
  430. End Function
  431. '*************以下为文本框录入处理程序(固定不变部分)*************'
  432. Private Sub Wbklrwbcl(Index As Integer)    '文本框录入事后处理程序
  433.   
  434.     '以下为依据实际情况自定义部分[
  435.     '在此填写文本框录入事后处理程序
  436.     ']以上为依据实际情况自定义部分
  437.   
  438. End Sub
  439. Private Sub LrText_Change(Index As Integer)
  440.    
  441.     '屏蔽程序改变控制
  442.     If TextChangeLock Then
  443.         Exit Sub
  444.     End If
  445.     
  446.     TextValiJudgeLock(Index) = False    '打开有效性判断锁
  447.     
  448.     '限制字段录入长度
  449.           
  450.     TextChangeLock = True  '加锁(防止执行Lrtext_Change)
  451.         
  452.     Select Case Textint(Index, 1)
  453.         Case 8, 11      '金额型
  454.             Call Sjgskz(LrText(Index), Xtjezws - Xtjexsws - 1, Xtjexsws)
  455.         Case 9, 12      '数量型
  456.             Call Sjgskz(LrText(Index), Xtslzws - Xtslxsws - 1, Xtslxsws)
  457.         Case 10          '单价型
  458.             Call Sjgskz(LrText(Index), Xtdjzws - Xtdjxsws - 1, Xtdjxsws)
  459.         Case Else        '其他小数类型控制
  460.             If Textint(Index, 6) <> 0 Or Textint(Index, 7) <> 0 Then
  461.                 Call Sjgskz(LrText(Index), Textint(Index, 6), Textint(Index, 7))
  462.             End If
  463.     End Select
  464.         
  465.     TextChangeLock = False '解锁
  466. End Sub
  467. Private Sub LrText_GotFocus(Index As Integer)                                                 '文本框得到焦点,显示相应信息
  468.     Call TextShow(Index)
  469.     CurTextIndex = Index
  470.     LrText(Index).SelStart = Len(LrText(Index))
  471. End Sub
  472. Private Sub LrText_KeyDown(Index As Integer, KeyCode As Integer, Shift As Integer)            '字段按F2键提供帮助
  473.     
  474.     Select Case KeyCode
  475.         Case vbKeyF2
  476.             Call Text_Help(Index)
  477.     End Select
  478. End Sub
  479. Private Sub LrText_KeyPress(Index As Integer, KeyAscii As Integer)                            '文本框录入事中控制
  480.     Call InputFieldLimit(LrText(Index), Textint(Index, 1), KeyAscii)
  481. End Sub
  482. Private Sub LrText_LostFocus(Index As Integer)                                                '文本框失去焦点
  483.     '显示相应信息但不能进行有效性判断
  484.   
  485. End Sub
  486. Private Sub QxuCommand_Click()          '全选
  487.     For Jsqte = 0 To Lst_WareHouse.ListCount - 1
  488.         Lst_WareHouse.Selected(Jsqte) = True
  489.     Next
  490. End Sub
  491. Private Sub Ydcommand1_MouseDown(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single)     '按钮提供帮助
  492.     Call Text_Help(Index)
  493. End Sub
  494. Private Sub Text_Help(Index As Integer)                                                       '录入字段帮助
  495.     If Not Textboolean(Index, 1) Then
  496.         Exit Sub
  497.     End If
  498.      
  499.     '调用帮助
  500.     Call Drbmhelp(Textint(Index, 2), Textstr(Index, 4), Trim(LrText(Index).Text))
  501.   
  502.     '根据设置选择显示编码和名称,并进行存储
  503.     If Len(Xtfhcs) <> 0 Then
  504.         If Textint(Index, 3) = 1 Then
  505.             LrText(Index).Text = Xtfhcsfz
  506.             LrText(Index).Tag = Xtfhcs
  507.         Else
  508.             LrText(Index).Text = Xtfhcs
  509.             LrText(Index).Tag = Xtfhcsfz
  510.         End If
  511.     End If
  512.    
  513.     LrText(Index).SetFocus
  514. End Sub
  515. Private Sub TextShow(Index As Integer)        '文本框得到焦点,显示相应信息
  516.     '填写文本框得到焦点,进行相应信息处理程序
  517.    
  518. End Sub
  519. Private Sub Wbkcsh()                          '录入文本框初始化
  520.     
  521.     Dim Jsqte As Integer
  522.   
  523.     '最大录入文本框索引值
  524.     Max_Text_Index = Textvar(1)
  525.   
  526.     ReDim TextValiJudgeLock(Max_Text_Index)
  527.     For Jsqte = 0 To Max_Text_Index
  528.         If Len(Trim(Textstr(Jsqte, 1))) <> 0 Then
  529.             If Textboolean(Jsqte, 1) Then
  530.                 If Jsqte <> 0 And Not Textboolean(Jsqte, 3) Then
  531.                     Load YDCommand1(Jsqte)
  532.                 End If
  533.                 YDCommand1(Jsqte).Visible = True
  534.                 YDCommand1(Jsqte).Move LrText(Jsqte).Left + LrText(Jsqte).Width, LrText(Jsqte).Top
  535.             End If
  536.             TextChangeLock = True
  537.             LrText(Jsqte).Text = ""
  538.             LrText(Jsqte).Tag = ""
  539.             If Textint(Jsqte, 5) <> 0 Then
  540.                 LrText(Jsqte).MaxLength = Textint(Jsqte, 5)
  541.             End If
  542.             TextChangeLock = False
  543.         End If
  544.         TextValiJudgeLock(Jsqte) = True
  545.     Next Jsqte
  546. End Sub
  547. Private Function TextYxxpd(Index As Integer) As Boolean           '文本框有效性判断
  548.     
  549.     Dim SqlStr As String
  550.     Dim Findrec As ADODB.Recordset
  551.   
  552.     '文本框内容未曾改变不进行有效性判断
  553.     If TextValiJudgeLock(Index) Then
  554.         TextYxxpd = True
  555.         Exit Function
  556.     End If
  557.   
  558.     '文本框内容为空认为有效,并清空其Tag值
  559.     If Trim(LrText(Index)) = "" Then
  560.         LrText(Index).Tag = ""
  561.         Call Wbklrwbcl(Index)
  562.         TextValiJudgeLock(Index) = True
  563.         TextYxxpd = True
  564.         Exit Function
  565.     End If
  566.   
  567.     '可在此加入不做有效性判断的理由
  568.   
  569.     Select Case Textint(Index, 4)
  570.         Case 1      '编码型
  571.             SqlStr = Trim(Textstr(Index, 5))
  572.             SqlStr = Replace(SqlStr, "@", "'" + Trim(LrText(Index).Text) + "'")
  573.             SqlStr = Replace(SqlStr, "$$", "'" + Xtczybm + "'")
  574.             Set Findrec = Cw_DataEnvi.DataConnect.Execute(SqlStr)
  575.             If Findrec.EOF Then
  576.                 Call Xtxxts(Trim(Textstr(Index, 6)), 0, 1)
  577.                 LrText(Index).SetFocus
  578.                 Exit Function
  579.             Else
  580.                 Select Case Textint(Index, 3)
  581.                     Case 0
  582.                         If Len(Trim(Textstr(Index, 2))) <> 0 Then
  583.                             LrText(Index).Text = Trim(Findrec.Fields(Trim(Textstr(Index, 2))))
  584.                         End If
  585.                         If Len(Trim(Textstr(Index, 3) & "")) <> 0 Then
  586.                             LrText(Index).Tag = Trim(Findrec.Fields(Trim(Textstr(Index, 3))))
  587.                         End If
  588.                     Case 1
  589.                         If Len(Trim(Textstr(Index, 3) & "")) <> 0 Then
  590.                             LrText(Index).Text = Trim(Findrec.Fields(Trim(Textstr(Index, 3))))
  591.                         End If
  592.                         If Len(Trim(Textstr(Index, 2))) <> 0 Then
  593.                             LrText(Index).Tag = Trim(Findrec.Fields(Trim(Textstr(Index, 2))))
  594.                         End If
  595.                 End Select
  596.             End If
  597.         Case 2      '日期型
  598.             If IsDate(LrText(Index).Text) Then
  599.                 LrText(Index).Text = Format(LrText(Index).Text, "yyyy-mm-dd")
  600.                 If Val(Mid(LrText(Index), 1, 4)) < 1900 Then
  601.                     LrText(Index).Text = "1900" + Mid(LrText(Index), 5, 6)
  602.                 End If
  603.             Else
  604.                 Tsxx = "非法公历日期!(格式:" + Format(Date, "yyyy-mm-dd") + ")"
  605.                 Call Xtxxts(Tsxx, 0, 1)
  606.                 LrText(Index).SetFocus
  607.                 Exit Function
  608.             End If
  609.         Case 3      '其他类型
  610.     End Select
  611.     
  612.     '如果有效则加锁,用户不改变内容则不再进行有效性判断
  613.     TextValiJudgeLock(Index) = True
  614.     '调用文本框事后处理程序
  615.     Call Wbklrwbcl(Index)
  616.    
  617.     '有效性判断通过则返回True
  618.     TextYxxpd = True
  619.    
  620. End Function
  621. Public Property Get WhCode() As Variant
  622.     WhCode = mWhcodeStr
  623. End Property
  624. Public Property Let WhCode(ByVal vNewValue As Variant)
  625.     mWhcodeStr = vNewValue
  626. End Property