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

企业管理

开发平台:

Visual Basic

  1. VERSION 5.00
  2. Object = "{831FDD16-0C5C-11D2-A9FC-0000F8754DA1}#2.0#0"; "MSCOMCTL.OCX"
  3. Begin VB.Form YF_FrmItemC 
  4.    BorderStyle     =   1  'Fixed Single
  5.    Caption         =   "预算分析查询条件"
  6.    ClientHeight    =   2445
  7.    ClientLeft      =   45
  8.    ClientTop       =   330
  9.    ClientWidth     =   4740
  10.    Icon            =   "预算分析_项目查询条件.frx":0000
  11.    KeyPreview      =   -1  'True
  12.    LinkTopic       =   "Form2"
  13.    MaxButton       =   0   'False
  14.    MinButton       =   0   'False
  15.    ScaleHeight     =   2445
  16.    ScaleWidth      =   4740
  17.    StartUpPosition =   2  '屏幕中心
  18.    Begin VB.Frame Frame1 
  19.       Height          =   1845
  20.       Left            =   60
  21.       TabIndex        =   10
  22.       Top             =   0
  23.       Width           =   4605
  24.       Begin VB.TextBox LrText 
  25.          Height          =   300
  26.          Index           =   0
  27.          Left            =   990
  28.          TabIndex        =   1
  29.          Text            =   "0"
  30.          Top             =   615
  31.          Width           =   3135
  32.       End
  33.       Begin VB.CommandButton Ydcommand1 
  34.          Height          =   300
  35.          Index           =   0
  36.          Left            =   4125
  37.          Picture         =   "预算分析_项目查询条件.frx":1042
  38.          Style           =   1  'Graphical
  39.          TabIndex        =   11
  40.          Top             =   615
  41.          Visible         =   0   'False
  42.          Width           =   300
  43.       End
  44.       Begin VB.ComboBox Combo_CompDate 
  45.          Height          =   300
  46.          Left            =   2400
  47.          Style           =   2  'Dropdown List
  48.          TabIndex        =   5
  49.          Top             =   1380
  50.          Width           =   2025
  51.       End
  52.       Begin VB.ComboBox Combo_SelYear 
  53.          Height          =   300
  54.          Left            =   990
  55.          Style           =   2  'Dropdown List
  56.          TabIndex        =   4
  57.          Top             =   1380
  58.          Width           =   1395
  59.       End
  60.       Begin VB.ComboBox Combo_BaseDate 
  61.          Height          =   300
  62.          Left            =   2400
  63.          Style           =   2  'Dropdown List
  64.          TabIndex        =   3
  65.          Top             =   1005
  66.          Width           =   2025
  67.       End
  68.       Begin VB.ComboBox Combo_Type 
  69.          Height          =   300
  70.          Left            =   990
  71.          Style           =   2  'Dropdown List
  72.          TabIndex        =   2
  73.          Top             =   1005
  74.          Width           =   1395
  75.       End
  76.       Begin MSComctlLib.ImageCombo Imgebo_ItemClass 
  77.          Height          =   315
  78.          Left            =   990
  79.          TabIndex        =   0
  80.          Top             =   240
  81.          Width           =   3435
  82.          _ExtentX        =   6059
  83.          _ExtentY        =   556
  84.          _Version        =   393216
  85.          ForeColor       =   -2147483640
  86.          BackColor       =   -2147483643
  87.          Locked          =   -1  'True
  88.       End
  89.       Begin VB.Label Label1 
  90.          AutoSize        =   -1  'True
  91.          Caption         =   "项目:"
  92.          Height          =   180
  93.          Index           =   1
  94.          Left            =   150
  95.          TabIndex        =   15
  96.          Top             =   675
  97.          Width           =   450
  98.       End
  99.       Begin VB.Label Label1 
  100.          AutoSize        =   -1  'True
  101.          Caption         =   "项目大类:"
  102.          Height          =   180
  103.          Index           =   12
  104.          Left            =   150
  105.          TabIndex        =   14
  106.          Top             =   300
  107.          Width           =   810
  108.       End
  109.       Begin VB.Label Label1 
  110.          AutoSize        =   -1  'True
  111.          Caption         =   "分析期间:"
  112.          Height          =   180
  113.          Index           =   0
  114.          Left            =   150
  115.          TabIndex        =   13
  116.          Top             =   1065
  117.          Width           =   810
  118.       End
  119.       Begin VB.Label Label1 
  120.          AutoSize        =   -1  'True
  121.          Caption         =   "比较期间:"
  122.          Height          =   180
  123.          Index           =   2
  124.          Left            =   150
  125.          TabIndex        =   12
  126.          Top             =   1440
  127.          Width           =   810
  128.       End
  129.    End
  130.    Begin VB.CommandButton QdCommand 
  131.       Caption         =   "确定(&O)"
  132.       Height          =   300
  133.       Left            =   2250
  134.       TabIndex        =   6
  135.       Top             =   2070
  136.       Width           =   1120
  137.    End
  138.    Begin VB.CommandButton QxCommand 
  139.       Caption         =   "取消(&C)"
  140.       Height          =   300
  141.       Left            =   3450
  142.       TabIndex        =   7
  143.       Top             =   2070
  144.       Width           =   1120
  145.    End
  146.    Begin VB.CheckBox UnloadCheck 
  147.       Caption         =   "卸载窗体"
  148.       Height          =   615
  149.       Left            =   4860
  150.       TabIndex        =   8
  151.       Top             =   1680
  152.       Visible         =   0   'False
  153.       Width           =   825
  154.    End
  155.    Begin VB.Label Lbl_Comment 
  156.       Height          =   525
  157.       Left            =   300
  158.       TabIndex        =   9
  159.       Top             =   2310
  160.       Visible         =   0   'False
  161.       Width           =   1245
  162.    End
  163. End
  164. Attribute VB_Name = "YF_FrmItemC"
  165. Attribute VB_GlobalNameSpace = False
  166. Attribute VB_Creatable = False
  167. Attribute VB_PredeclaredId = True
  168. Attribute VB_Exposed = False
  169. '****************************************************************
  170. '*    模 块 名 称 :预算分析项目查询条件
  171. '*    功 能 描 述 :
  172. '*    程序员姓名  :魏永生
  173. '*    最后修改人  :
  174. '*    最后修改时间:2002/01/21
  175. '*    备        注:程序中所有依实际情况自定义部分均用[>>  <<]括起
  176. '****************************************************************
  177. Dim Int_Curr_year As Integer            '分析期年
  178. Dim Int_Curr_month1 As Integer          '分析期开始月
  179. Dim Int_Curr_month2 As Integer          '分析期结束月
  180. Dim Int_Comp_year As Integer            '比较期年
  181. Dim Int_Comp_month1 As Integer          '比较期开始月
  182. Dim Int_Comp_month2 As Integer          '比较期结束月
  183. Dim Tsxx As String                      '系统信息提示
  184. Private UsedYear() As String            '已使用年数据,如:UsedYear(0)="1999",UsedYear(1)="2000"
  185. Private iHowManyYears As Integer        '已使用的年数
  186. Private iMaxMonth As Integer            '最大使用月份
  187. '以下为固定使用变量(文本框)
  188. Dim Textvar() As Variant                 '存储变体型文本框信息
  189. Dim Textboolean() As Boolean             '存储布尔型文本框信息
  190. Dim Textint() As Integer                 '存储整型文本框信息
  191. Dim Textstr() As String                  '存储字符型文本框信息
  192. Dim Max_Text_Index As Integer            '最大录入文本框索引值
  193. Dim TextGroupCode As String              '文本框录入分组编码
  194. Dim TextValiLock As Boolean              '文本框失去焦点是否进行有效性控制判断
  195. Dim TextValiJudgeLock() As Boolean       '文本框录入有效性判断控制锁
  196. Dim CurTextIndex As Integer              '当前文本框索引值
  197. Dim TextChangeLock As Boolean            '文本框内容变换控制锁
  198. Dim Bln_Cancel As Boolean                '取消按钮信息传递
  199. Private Sub Form_KeyPress(KeyAscii As Integer)       '控 制 焦 点 转 移
  200.     Dim jdzygs As Integer                            '控件焦点转移个数
  201.     jdzygs = 8
  202.     Select Case KeyAscii
  203.     Case vbKeyReturn
  204.         If Kjjdzy(jdzygs) Then
  205.             KeyAscii = 0
  206.         End If
  207.     Case 39                                  '屏蔽"'"
  208.         KeyAscii = 0
  209.     End Select
  210. End Sub
  211. Private Sub Form_Load()
  212.     Set Frm_AnalysisC = YF_FrmItemC
  213.     Call GetUsedYear
  214.     Call GetUsedMonth
  215.     '填充
  216.     Call FillCombo(Combo_Type, "cwfx_AccountC", "", 0)
  217.     Call FillMonth(Combo_BaseDate, Xtyear)
  218.     Call FillYear(Combo_SelYear)
  219.     If Combo_SelYear.ListIndex <> -1 Then
  220.         Combo_CompDate.Enabled = True
  221.         Call FillMonth(Combo_CompDate, Combo_SelYear.Text)
  222.     End If
  223.     
  224.     '填充项目分类列表
  225.     Call FillImageCombo(Imgebo_ItemClass, "Cwzz_ItemClass", 0)
  226.     If Imgebo_ItemClass.ComboItems.count > 0 Then
  227.         Imgebo_ItemClass.ComboItems.Item(1).Selected = True
  228.     End If
  229.     
  230.     '以下为文本框处理程序
  231.     TextGroupCode = "cwfx_ItemBudgetC"
  232.     Call Drwbkxx(TextGroupCode, Textvar(), Textboolean(), Textint(), Textstr())  '读入文本框录入信息
  233.     Call Wbkcsh
  234.     
  235.     Ydcommand1(0).Enabled = True
  236.     
  237. End Sub
  238. Private Sub Imgebo_ItemClass_Click()                                            '用户点击项目分类列表
  239.     If Trim(Imgebo_ItemClass.Text) = "" Then
  240.         lrText(0).Text = ""
  241.         Call Textwx(lrText(0))
  242.         Ydcommand1(0).Enabled = False
  243.     Else
  244.         lrText(0).Text = ""
  245.         Call Textyx(lrText(0))
  246.         Ydcommand1(0).Enabled = True
  247.     End If
  248. End Sub
  249.                                      
  250. Private Sub FillThisYear(PastComb As ComboBox)
  251.     With PastComb
  252.         .Clear
  253.         .AddItem Xtyear
  254.         .Text = Xtyear
  255.     End With
  256. End Sub
  257. Private Sub FillYear(PastComb As ComboBox)
  258.     Dim i As Integer
  259.     With PastComb
  260.         .Clear
  261.         .AddItem ""
  262.         For i = 0 To iHowManyYears
  263.             .AddItem UsedYear(i)
  264.         Next
  265.         .Text = Xtyear
  266.     End With
  267. End Sub
  268. Private Sub FillMonth(PastComb As ComboBox, ByVal PastYear As String)
  269.     Dim i As Integer
  270.     With PastComb
  271.         .Clear
  272.         If iMaxMonth < 1 Then Exit Sub
  273.        .AddItem ""
  274.         For i = 1 To iMaxMonth
  275.             .AddItem PastYear & "." & Format(i, "00")
  276.         Next
  277.         .Text = Xtyear & "." & Format(Xtmm, "00")
  278.     End With
  279. End Sub
  280. Private Sub FillThreeMonth(PastComb As ComboBox, ByVal PastYear As String)
  281.     Dim i As Integer
  282.     With PastComb
  283.         .Clear
  284.         If iMaxMonth < 1 Then Exit Sub
  285.        .AddItem ""
  286.         For i = 1 To 4
  287.             .AddItem PastYear & "." & Format(((i - 1) * 3 + 1), "00") & "-" & PastYear & "." & Format((i * 3), "00")
  288.         Next
  289.     End With
  290. End Sub
  291. Private Sub GetUsedYear()
  292.     '由Form_Load 调用,得到此帐套已使用的年度,存于UsedYear()数据中
  293.     Dim temRs As New ADODB.Recordset
  294.     Dim strSql As String
  295.     Dim i As Integer
  296.     strSql = "SELECT DISTINCT kjyear AS cYear FROM gy_kjrlb"
  297.     Set temRs = Cw_DataEnvi.DataConnect.Execute(strSql)
  298.     iHowManyYears = temRs.RecordCount - 1
  299.     ReDim UsedYear(iHowManyYears)
  300.     With temRs
  301.         Do Until .EOF
  302.             UsedYear(i) = !cYear
  303.             i = i + 1
  304.             .MoveNext
  305.         Loop
  306.     End With
  307.     If temRs.State = adStateOpen Then temRs.Close
  308.     Set temRs = Nothing
  309. End Sub
  310. Private Sub GetUsedMonth()
  311.     '由Form_Load 调用,得到此帐套已使用的最大月份,存于iMaxMonth数据中
  312.     
  313.     Dim temRs As New ADODB.Recordset
  314.     Dim strSql As String
  315.     Dim i As Integer
  316.     strSql = "SELECT Max(period) AS cMonth FROM gy_kjrlb"
  317.     Set temRs = Cw_DataEnvi.DataConnect.Execute(strSql)
  318.     With temRs
  319.         If Not (.EOF And .BOF) Then
  320.             iMaxMonth = !cMonth
  321.         End If
  322.     End With
  323.     If temRs.State = adStateOpen Then temRs.Close
  324.     Set temRs = Nothing
  325. End Sub
  326. Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
  327.     If UnloadCheck.Value <> 1 Then
  328.         Cancel = 1
  329.         Me.Hide
  330.     End If
  331.     
  332. End Sub
  333. Private Sub QdCommand_Click()                                   '确 定
  334.     '录入条件有效性判断
  335.     If Not Lrtjyxxpd Then
  336.         Exit Sub
  337.     End If
  338.     Me.Hide
  339.     
  340.     Set Frm_AnalysisC = YF_FrmItemC
  341.     
  342.     Str_ReportSubTitle = "项目"
  343.     Str_Title = "项目"
  344.     
  345.     Str_ItemClassCode = GetComboKey(Imgebo_ItemClass, 0)
  346.     Str_ItemClassName = Imgebo_ItemClass.Text
  347.     
  348.     Str_ItemCode = lrText(0).Tag
  349.     Str_ItemName = lrText(0).Text
  350.     
  351.     str_BudgetProc = "Cwfx_Sp_ItemBudget '" & Str_ItemClassCode & "','" & Str_ItemCode & "',"
  352.     
  353.     Lbl_Comment.Caption = "项目大类:" & Imgebo_ItemClass.Text & "    项目:" & lrText(0).Text & "      分析期间:" & Combo_BaseDate.Text & "      比较期间:" & _
  354.     IIf(Len(Combo_CompDate.Text) <> 0, Combo_CompDate.Text, Combo_SelYear.Text)
  355.     
  356.     '激活查询过程
  357.     YF_FrmAnalysis.Timer1.Enabled = True
  358.     YF_FrmAnalysis.SetFocus
  359.     
  360. End Sub
  361. Private Sub QxCommand_Click()                                    '取消
  362.     Me.Hide
  363. End Sub
  364. Private Function Lrtjyxxpd() As Boolean                          '用户录入条件有效性判断
  365.     
  366.     Dim Jsqte As Integer
  367.     Lrtjyxxpd = False
  368.     
  369.     '查询部门不能为空
  370.     If Trim(lrText(0).Text) = "" Then
  371.         Tsxx = "查询项目不能为空!"
  372.         Call Xtxxts(Tsxx, 0, 1)
  373.         Imgebo_ItemClass.SetFocus
  374.         Exit Function
  375.     End If
  376.     
  377.     '对需要进行事后判断的文本框录入内容进行有效性判断 (固定不变)
  378.     For Jsqte = 0 To Max_Text_Index
  379.         If Textint(Jsqte, 9) = 0 Or Textint(Jsqte, 9) = 2 Then
  380.             If Not TextYxxpd(Jsqte) Then
  381.                 Exit Function
  382.             End If
  383.         End If
  384.     Next Jsqte
  385.     
  386.     '[>>以下为依据实际情况自定义部分
  387.     
  388.     
  389.     
  390.     '[>>以下为依据实际情况自定义部分
  391.     If Combo_BaseDate.ListIndex < 1 Then
  392.         Xtxxts "请选择分析期间!", 0, 1
  393.         Lrtjyxxpd = False
  394.         Combo_BaseDate.SetFocus
  395.         Exit Function
  396.     End If
  397.     
  398.     If Combo_SelYear.ListIndex > 0 And Combo_Type.ListIndex <> 2 Then
  399.         If Combo_CompDate.ListIndex < 1 Then
  400.             Xtxxts "请选择比较期间!", 0, 1
  401.             Lrtjyxxpd = False
  402.             Combo_CompDate.SetFocus
  403.             Exit Function
  404.         End If
  405.     End If
  406.     '<<]以上为依据实际情况自定义部分
  407.     
  408.     Lrtjyxxpd = True
  409. End Function
  410. Private Sub Combo_SelYear_Click()
  411.     If Combo_SelYear.ListIndex = 0 Then
  412.         Combo_CompDate.Enabled = False
  413.         Combo_CompDate.Clear
  414.         Exit Sub
  415.     End If
  416.     Select Case Combo_Type.ListIndex
  417.     Case 0
  418.         Combo_CompDate.Enabled = True
  419.         Call FillMonth(Combo_CompDate, Combo_SelYear.Text)
  420.     Case 1
  421.         Combo_CompDate.Enabled = True
  422.         Call FillThreeMonth(Combo_CompDate, Combo_SelYear.Text)
  423.     Case 2
  424.         Combo_CompDate.Enabled = False
  425.     End Select
  426. End Sub
  427. Private Sub Combo_Type_Click()
  428.     Select Case Combo_Type.ListIndex
  429.     Case 0
  430.         Call FillMonth(Combo_BaseDate, Xtyear)
  431.         If Combo_SelYear.ListIndex <> -1 Then
  432.             Combo_CompDate.Enabled = True
  433.             Call FillMonth(Combo_CompDate, Combo_SelYear.Text)
  434.         End If
  435.     Case 1
  436.         Call FillThreeMonth(Combo_BaseDate, Xtyear)
  437.         If Combo_SelYear.ListIndex <> -1 Then
  438.             Combo_CompDate.Enabled = True
  439.             Call FillThreeMonth(Combo_CompDate, Combo_SelYear.Text)
  440.         End If
  441.     Case 2
  442.         Call FillThisYear(Combo_BaseDate)
  443.         Combo_CompDate.Clear
  444.         Combo_CompDate.Enabled = False
  445.     End Select
  446. End Sub
  447. Private Sub Wbklrwbcl(Index As Integer)    '文本框录入事后处理程序
  448.     
  449.     '以下为依据实际情况自定义部分[
  450.     
  451.     '在此填写文本框录入事后处理程序
  452.     
  453.     ']以上为依据实际情况自定义部分
  454. End Sub
  455. Private Sub LrText_Change(Index As Integer)
  456.     
  457.     '屏蔽程序改变控制
  458.     If TextChangeLock Then
  459.         Exit Sub
  460.     End If
  461.     
  462.     TextValiJudgeLock(Index) = False    '打开有效性判断锁
  463.     
  464.     '限制字段录入长度
  465.     
  466.     TextChangeLock = True  '加锁(防止执行Lrtext_Change)
  467.     Select Case Textint(Index, 1)
  468.     Case 8           '金额型
  469.         Call Sjgskz(lrText(Index), Xtjezws - Xtjexsws - 1, Xtjexsws)
  470.     Case 9           '数量型
  471.         Call Sjgskz(lrText(Index), Xtslzws - Xtslxsws - 1, Xtslxsws)
  472.     Case 10          '单价型
  473.         Call Sjgskz(lrText(Index), Xtdjzws - Xtdjxsws - 1, Xtdjxsws)
  474.     Case Else        '其他小数类型控制
  475.         If Textint(Index, 6) <> 0 Or Textint(Index, 7) <> 0 Then
  476.             Call Sjgskz(lrText(Index), Textint(Index, 6), Textint(Index, 7))
  477.         End If
  478.     End Select
  479.     TextChangeLock = False '解锁
  480. End Sub
  481. Private Sub LrText_GotFocus(Index As Integer)                                                 '文本框得到焦点,显示相应信息
  482.     Call TextShow(Index)
  483.     CurTextIndex = Index
  484.     lrText(Index).SelStart = Len(lrText(Index))
  485. End Sub
  486. Private Sub LrText_KeyDown(Index As Integer, KeyCode As Integer, Shift As Integer)            '字段按F2键提供帮助
  487.     Select Case KeyCode
  488.     Case vbKeyF2
  489.         Call Text_Help(Index)
  490.     End Select
  491. End Sub
  492. Private Sub LrText_KeyPress(Index As Integer, KeyAscii As Integer)                            '文本框录入事中控制
  493.     Call InputFieldLimit(lrText(Index), Textint(Index, 1), KeyAscii)
  494. End Sub
  495. Private Sub LrText_LostFocus(Index As Integer)                                                '文本框失去焦点进行有效性判断及相应处理
  496.     If Textint(Index, 9) = 0 Or Textint(Index, 9) = 1 Then '事中判断
  497.         Call TextYxxpd(Index)
  498.     End If
  499. End Sub
  500. Private Sub Ydcommand1_MouseDown(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single)     '按钮提供帮助
  501.     If Imgebo_ItemClass.ComboItems.count = 0 Then
  502.         Exit Sub
  503.     End If
  504.     Call Text_Help(Index)
  505. End Sub
  506. Private Sub Text_Help(Index As Integer)                                                       '录入字段帮助
  507.     If Not Textboolean(Index, 1) Then
  508.         Exit Sub
  509.     End If
  510.     TextValiJudgeLock(Index) = True
  511.     
  512.     '先进行有效性判断
  513.     If Not TextYxxpd(CurTextIndex) Then
  514.         Exit Sub
  515.     End If
  516.     If Index = 0 Then        '核算项目特殊处理
  517.         Xtcdcs = Trim(lrText(Index).Text)
  518.         Xtcdcsfz = GetComboKey(Imgebo_ItemClass, 0)
  519.         XT_ItemHelp.Show 1
  520.     Else
  521.         Call Drbmhelp(Textint(Index, 2), Textstr(Index, 4), Trim(lrText(Index).Text))
  522.     End If
  523.     
  524.     If Len(Xtfhcs) <> 0 Then
  525.         If Textint(Index, 3) = 1 Then
  526.             lrText(Index).Text = Xtfhcsfz
  527.             lrText(Index).Tag = Xtfhcs
  528.         Else
  529.             lrText(Index).Text = Xtfhcs
  530.             lrText(Index).Tag = Xtfhcsfz
  531.         End If
  532.         
  533.     End If
  534.     TextValiJudgeLock(Index) = False
  535.     lrText(Index).SetFocus
  536. End Sub
  537. Private Sub TextShow(Index As Integer)        '文本框得到焦点,显示相应信息
  538.     
  539.     '填写文本框得到焦点,进行相应信息处理程序
  540.     
  541. End Sub
  542. Private Sub Wbkcsh()                          '录入文本框初始化
  543.     Dim Jsqte As Integer
  544.     
  545.     '最大录入文本框索引值
  546.     Max_Text_Index = Textvar(1)
  547.     
  548.     ReDim TextValiJudgeLock(Max_Text_Index)
  549.     For Jsqte = 0 To Max_Text_Index
  550.         
  551.         If Len(Trim(Textstr(Jsqte, 1))) <> 0 Then
  552.             If Textboolean(Jsqte, 1) Then
  553.                 If Jsqte <> 0 And Not Textboolean(Jsqte, 3) Then
  554.                     Load Ydcommand1(Jsqte)
  555.                 End If
  556.                 Ydcommand1(Jsqte).Visible = True
  557.                 Ydcommand1(Jsqte).Move lrText(Jsqte).Left + lrText(Jsqte).Width, lrText(Jsqte).Top
  558.             End If
  559.             TextChangeLock = True
  560.             lrText(Jsqte).Text = ""
  561.             lrText(Jsqte).Tag = ""
  562.             If Textint(Jsqte, 5) <> 0 Then
  563.                 lrText(Jsqte).MaxLength = Textint(Jsqte, 5)
  564.             End If
  565.             
  566.             TextChangeLock = False
  567.         End If
  568.         TextValiJudgeLock(Jsqte) = True
  569.     Next Jsqte
  570. End Sub
  571. Private Function TextYxxpd(Index As Integer) As Boolean           '文本框有效性判断
  572.     Dim SqlStr As String
  573.     Dim Findrec As ADODB.Recordset
  574.     If TextValiJudgeLock(Index) Then    '文本框内容未曾改变不进行有效性判断
  575.         TextYxxpd = True
  576.         Exit Function
  577.     End If
  578.     If Trim(lrText(Index)) = "" Then
  579.         lrText(Index).Tag = ""
  580.         Call Wbklrwbcl(Index)
  581.         TextValiJudgeLock(Index) = True
  582.         TextYxxpd = True
  583.         Exit Function
  584.     End If
  585.     Select Case Textint(Index, 4)
  586.     Case 1      '编码型
  587.         SqlStr = Trim(Textstr(Index, 5))
  588.         SqlStr = Replace(SqlStr, "@", "'" + Trim(lrText(Index).Text) + "'")
  589.         Set Findrec = Cw_DataEnvi.DataConnect.Execute(SqlStr)
  590.         If Findrec.EOF Then
  591.             Call Xtxxts(Trim(Textstr(Index, 6)), 0, 1)
  592.             lrText(Index).SetFocus
  593.             Exit Function
  594.         Else
  595.             Select Case Textint(Index, 3)
  596.             Case 0
  597.                 If Len(Trim(Textstr(Index, 2))) <> 0 Then
  598.                     lrText(Index).Text = Trim(Findrec.Fields(Trim(Textstr(Index, 2))))
  599.                 End If
  600.                 If Len(Trim(Textstr(Index, 3) & "")) <> 0 Then
  601.                     lrText(Index).Tag = Trim(Findrec.Fields(Trim(Textstr(Index, 3))))
  602.                 End If
  603.             Case 1
  604.                 If Len(Trim(Textstr(Index, 3) & "")) <> 0 Then
  605.                     lrText(Index).Text = Trim(Findrec.Fields(Trim(Textstr(Index, 3))))
  606.                 End If
  607.                 If Len(Trim(Textstr(Index, 2))) <> 0 Then
  608.                     lrText(Index).Tag = Trim(Findrec.Fields(Trim(Textstr(Index, 2))))
  609.                 End If
  610.             End Select
  611.         End If
  612.     Case 2      '日期型
  613.         If IsDate(lrText(Index).Text) Then
  614.             lrText(Index).Text = Format(lrText(Index).Text, "yyyy-mm-dd")
  615.         Else
  616.             Tsxx = "非法公历日期!(格式:" + Format(Date, "yyyy-mm-dd") + ")"
  617.             Call Xtxxts(Tsxx, 0, 1)
  618.             lrText(Index).SetFocus
  619.             Exit Function
  620.         End If
  621.     Case 3      '其他类型
  622.         '[>>开始
  623.         Select Case Index
  624.         Case 0                  '项目
  625.             SqlStr = "select * from Cwzz_item where ItemClassCode='" & GetComboKey(Imgebo_ItemClass, 0) & "' and (ItemCode='" & Trim(lrText(0).Text) & "' or ItemName='" & Trim(lrText(0).Text) & "')"
  626.             Set Findrec = Cw_DataEnvi.DataConnect.Execute(SqlStr)
  627.             If Findrec.EOF Then
  628.                 Call Xtxxts(Trim(Textstr(Index, 6)), 0, 1)
  629.                 lrText(Index).SetFocus
  630.                 Exit Function
  631.             Else
  632.                 Select Case Textint(Index, 3)
  633.                 Case 0
  634.                     If Len(Trim(Textstr(Index, 2))) <> 0 Then
  635.                         lrText(Index).Text = Trim(Findrec.Fields(Trim(Textstr(Index, 2))))
  636.                     End If
  637.                     If Len(Trim(Textstr(Index, 3) & "")) <> 0 Then
  638.                         lrText(Index).Tag = Trim(Findrec.Fields(Trim(Textstr(Index, 3))))
  639.                     End If
  640.                 Case 1
  641.                     If Len(Trim(Textstr(Index, 3) & "")) <> 0 Then
  642.                         lrText(Index).Text = Trim(Findrec.Fields(Trim(Textstr(Index, 3))))
  643.                     End If
  644.                     If Len(Trim(Textstr(Index, 2))) <> 0 Then
  645.                         lrText(Index).Tag = Trim(Findrec.Fields(Trim(Textstr(Index, 2))))
  646.                     End If
  647.                 End Select
  648.             End If
  649.         End Select
  650.         '完毕<<]
  651.     End Select
  652.     TextValiJudgeLock(Index) = True
  653.     TextYxxpd = True
  654. End Function