Rss & SiteMap

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

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

标题:Find Filter 条件 问题

1楼
mr725 发表于:2009/9/14 10:37:00
科目名称 列(内容样式): 银行存款_招商银行

在不分列的情况下

Dim dr As DataRow
dr = DataTables("test").Find("'" & dr("科目名称").split("_")(0) & "' = '银行存款' And ''" & dr("科目名称").split("_")(1) & "' = '招商银行' ")

Tables("test").Filter ="[科目名称]1 = '" & Value(0) & "' And [科目名称]2 = '" & Value(1) & "'"

代码中标有底色的部分,'" & dr("科目名称").split("_")(0) & "'可以这么用吗?[科目名称]1又应怎样表达? 

【说明】:
[科目名称]1 = 银行存款   和 [科目名称]2 =招商银行  】
【Value(0) 和 Value(1) 是目录树级次上的[科目名称]1 和[科目名称]2】


不知道我说的清楚没有?
 
[此贴子已经被作者于2009-9-14 10:37:52编辑过]
2楼
狐狸爸爸 发表于:2009/9/14 11:06:00
比较的时候必须是列名和常量的比较,你的Split计算出来的是一个常量,常量和常量的比较,对于任何行都一样。
不能用find,只能用for each,逐行比较。
3楼
mr725 发表于:2009/9/14 11:42:00

        Select Case e.Node.Level
            Case 0
                Dim Val() As String
                for each s as datarow in datatables("test").datarows
                    Val = s("科目名称").Split("_")
                    if Val(0)= " & Value(0) & " then
                        Tables("test").Filter ="Val(0) = '" & Value(0) & "'"
                        exit for
                    end if
                next
            Case 1
                Dim Val() As String
                for each s as datarow in datatables("test").datarows
                    Val = s("科目名称").Split("_")
                    if Val(1)= " & Value(1) & " then
                        Tables("test").Filter ="Val(0) = '" & Value(0) & "' And Val(1) = '" & Value(1) & "'"
                        exit for
                    end if
                next
        End Select       


这样?

[此贴子已经被作者于2009-9-14 11:41:42编辑过]
4楼
mr725 发表于:2009/9/14 11:55:00
还是不行,又是常量比较啦,难道非要把 科目名称 列 进行分列后,再取 分列名 来比较? 
要知道: 科目 可能有五极,难道我要再分五列?就算内部表,每年也有几万条记录啊~

不分列真的不可以吗?
5楼
chenwuwenyu 发表于:2009/9/14 13:00:00

Dim dr As DataRow
dr = DataTables("test").Find(" 科目名称= '" & dr("科目名称").split("_")(0)&"_招商银行"& "' )
不知道这样的行不行呀?

[此贴子已经被作者于2009-9-14 13:01:17编辑过]
6楼
czy 发表于:2009/9/14 14:38:00

为何不用Like ?

7楼
czy 发表于:2009/9/14 14:49:00
这样行吗?

Dim Value() As String = e.Node.FullPath.Split("\")
Select Case e.Node.Level
    Case 0
        Tables("test").Filter = "科目名称 Like  '" & e.Node.Text & "*'"
    Case 1
        Tables("test").Filter = "科目名称 Like '" & Value(0) & "_"  & Value(1) & "*'"
End Select
8楼
mr725 发表于:2009/9/14 18:59:00
以下是引用czy在2009-9-14 14:49:00的发言:
这样行吗?

Dim Value() As String = e.Node.FullPath.Split("\")
Select Case e.Node.Level
    Case 0
        Tables("test").Filter = "科目名称 Like  '" & e.Node.Text & "*'"
    Case 1
        Tables("test").Filter = "科目名称 Like '" & Value(0) & "_"  & Value(1) & "*'"
End Select

谢谢c版,很好用~  【下午有空时一直在琢磨不分列怎么来生成目录树,没成功(用其他方式替代了),所以刚刚才试了试您的代码,非常理想】

共8 条记录, 每页显示 10 条, 页签: [1]

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

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