Rss & SiteMap

Foxtable(狐表) http://www.foxtable.com

新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!
共23 条记录, 每页显示 10 条, 页签: [1][2] [3]
[浏览完整版]

标题:RelationTable控件哪去了

21楼
don 发表于:2009/3/22 22:27:00
以下是引用czy在2009-3-22 9:35:00的发言:
应该算恐怖吧,下面这样看起来就好多了。

e.Form.Controls("RelationTable1").Visible = True
Dim s1 As String =e.Form.Controls("TextBox1").Value
Dim s2 As String s2 = s1.SubString(0,4)
If s2 = "6001" Then
    e.Form.Controls("RelationTable2").Visible = True
    e.Form.Controls("RelationTable14").Visible = True
    e.Form.Controls("RelationTable20").Visible = True
    e.Form.Controls("RelationTable23").Visible = True
    e.Form.Controls("RelationTable26").Visible = True
ElseIf s2 = "6002" Then
    e.Form.Controls("RelationTable3").Visible = True
    e.Form.Controls("RelationTable15").Visible = True
    e.Form.Controls("RelationTable22").Visible = True
    e.Form.Controls("RelationTable24").Visible = True
    e.Form.Controls("RelationTable27").Visible = True
ElseIf s2 = "6003" OrElse s2 = "6004" Then
    e.Form.Controls("RelationTable3").Visible = True
    e.Form.Controls("RelationTable15").Visible = True
    e.Form.Controls("RelationTable22").Visible = True
    e.Form.Controls("RelationTable24").Visible = True
    e.Form.Controls("RelationTable27").Visible = True
    e.Form.Controls("RelationTable21").Visible = True
ElseIf s2 = "6005" OrElse s2 = "6006" Then
    e.Form.Controls("RelationTable4").Visible = True
    e.Form.Controls("RelationTable9").Visible = True
    e.Form.Controls("RelationTable28").Visible = True
    e.Form.Controls("RelationTable24").Visible = True
    e.Form.Controls("RelationTable27").Visible = True
ElseIf s2 = "6007" OrElse s2 = "6008" OrElse s2 = "6009" OrElse s2 = "6010" OrElse s2 = "6011" OrElse s2 = "6012" OrElse s2 = "6017" Then
    e.Form.Controls("RelationTable5").Visible = True
    e.Form.Controls("RelationTable11").Visible = True
    e.Form.Controls("RelationTable17").Visible = True
    e.Form.Controls("RelationTable8").Visible = True
    e.Form.Controls("RelationTable25").Visible = True
ElseIf s2 = "6013" OrElse s2 = "6014" OrElse s2 = "6015" OrElse s2 = "6016" OrElse s2 = "6018" OrElse s2 = "6019" OrElse s2 = "6020"  Then
    e.Form.Controls("RelationTable5").Visible = True
    e.Form.Controls("RelationTable11").Visible = True
    e.Form.Controls("RelationTable19").Visible = True
    e.Form.Controls("RelationTable8").Visible = True
    e.Form.Controls("RelationTable25").Visible = True
ElseIf s2 = "6100" OrElse s2 = "6101" OrElse s2 = "6102" OrElse s2 = "6103" OrElse s2 = "6104" OrElse s2 = "6105" OrElse s2 = "6106" OrElse s2 = "6107" Then
    e.Form.Controls("RelationTable6").Visible = True
    e.Form.Controls("RelationTable12").Visible = True
    e.Form.Controls("RelationTable29").Visible = True
    e.Form.Controls("RelationTable31").Visible = True
    e.Form.Controls("RelationTable33").Visible = True
ElseIf s2 = "6121" OrElse s2 = "6022" OrElse s2 = "6023" OrElse s2 = "6024" OrElse s2 = "6025" OrElse s2 = "6026" OrElse s2 = "6027" OrElse s2 = "6028" Then
    e.Form.Controls("RelationTable7").Visible = True
    e.Form.Controls("RelationTable13").Visible = True
    e.Form.Controls("RelationTable30").Visible = True
    e.Form.Controls("RelationTable32").Visible = True
    e.Form.Controls("RelationTable34").Visible = True
End If

 
還是恐怖,改為這樣應該可以的,沒測試:

 

Dim s,T,Tz() As String
e.Form.Controls("RelationTable1").Visible = True
s = e.Form.Controls("TextBox1").Value


Select Case Val(s.SubString(0,4))
    Case 6001
        T = "2,14,20,23,26"
    Case 6002
        T = "3,15,22,24,27"
    Case 6003,6004
        T = "3,15,21,22,24,27"
    Case 6005,6006
        T = "4,9,24,27,28"
    Case 6007 to 6012,6017
        T = "5,8,11,17,28"
    Case 6013 to 6016,6018 to 6020
        T = "5,8,11,19,25"
    Case 6100 to 6107
        T = "6,12,29,31,33"
    Case 6121,6022 to 6028
        T = "7,13,30,32,34"
End Select


Tz = T.split(",")
if Tz.length > 1 then
    for  n As Integer = 0 to Tz.length-1
        e.Form.Controls("RelationTable" & Tz(n)).Visible = True
    Next
end if

[此贴子已经被作者于2009-3-23 15:22:41编辑过]
22楼
gaoqr 发表于:2009/3/23 7:14:00
大师的代码精简!
23楼
lkqing 发表于:2009/3/23 20:17:00
非常感谢21楼 don 精简了代码。
共23 条记录, 每页显示 10 条, 页签: [1][2] [3]

Copyright © 2000 - 2018 foxtable.com Tel: 4000-810-820 粤ICP备11091905号

Powered By Dvbbs Version 8.3.0
Processed in .01953 s, 2 queries.