Rss & SiteMap

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

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

标题:求关联筛选代码

1楼
blackzhu 发表于:2008/12/1 17:04:00
  我有一个两个表:A和B表
表中都有[订单号]和[口岸]两个字段,我想在A表中筛选订单号和口岸时,在B表中也同时将此订单号和口岸筛选出来。这个代码怎么写.在易表中可以做到的?
2楼
狐狸爸爸 发表于:2008/12/1 17:06:00
自己设计按钮:

tables("表A").filter = 你的条件
tables("表B").filter =  tables("表B").filter
3楼
blackzhu 发表于:2008/12/1 17:46:00
以下是引用狐狸爸爸在2008-12-1 17:06:00的发言:
自己设计按钮:

tables("表A").filter = 你的条件
tables("表B").filter =  tables("表B").filter

  做不起来!我的意思是做一窗口,做两个文本输入框,一个是订单号,一个是口岸,输入订单号和口岸后,做一个筛选按钮,按筛选按钮后将A表的符合订单号和口岸条件的筛选起来,同时B表中的符合这两个条件的也同时被筛选。

4楼
blackzhu 发表于:2008/12/1 18:00:00
   关键是“=我的条件”不知道这么写?
5楼
blackzhu 发表于:2008/12/1 18:09:00
Dim Filter As String
With e.Form.Controls("cmbProduct")
    If .Value IsNot Nothing Then
        Filter = "IO = '" & .Value & "'"
    End If
End With
With e.Form.Controls("cmbCustomer")
    If .Value IsNot Nothing Then
        If Filter > "" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "口岸 = '" & .Value & "'"
    End If
End With
If Filter > "" Then
    Tables("装箱单").Filter = Filter
    tables("装箱统计").filter =  tables("装箱统计").filter
End If



  我的代码是这么写的。但筛选起来的结果不对:
 举个列子:我在A表中筛选EVG3397这个订单,口岸选择的是上海。但B表中选择出来的是ECG3397的天津口岸。(A表和B表全部有EVG3397这个订单,也全部有上海和天津这两个口岸)。

  这个代码有什么问题?
 
6楼
ybil 发表于:2008/12/1 18:25:00

注:"DDH","KA"分别为"订单号"和"口岸"的输入框名


'''
Dim Ls As String() = {"DDH","KA","订单号","口岸"}
Dim Ft,Tc As String

For n As Integer = 0 to 1
     Tc = e.form.Controls(Ls(n)).Value
     if Tc > "" then        
         Ft = Ft & " And " & Ls(n+2) & " = '" & Tc & "'"          
     End If
Next

If Ft > "" Then
    Tables("A").Filter = Ft.SubString(5)
    Tables("B").Filter = Tables("A").Filter
End If

7楼
blackzhu 发表于:2008/12/2 9:45:00
以下是引用ybil在2008-12-1 18:25:00的发言:

注:"DDH","KA"分别为"订单号"和"口岸"的输入框名


'''
Dim Ls As String() = {"DDH","KA","订单号","口岸"}
Dim Ft,Tc As String

For n As Integer = 0 to 1
     Tc = e.form.Controls(Ls(n)).Value
     if Tc > "" then        
         Ft = Ft & " And " & Ls(n+2) & " = '" & Tc & "'"          
     End If
Next

If Ft > "" Then
    Tables("A").Filter = Ft.SubString(5)
    Tables("B").Filter = Tables("A").Filter
End If

    谢谢!你的代码总是简单实用,虽说还是有一点看不太懂(老六的马马虎虎还行),但代码可以简化到这样,绝对值得我学习。希望可以有所收获。

8楼
狐狸爸爸 发表于:2008/12/2 10:22:00
以下是引用blackzhu在2008-12-2 9:45:00的发言:

    谢谢!你的代码总是简单实用,虽说还是有一点看不太懂(老六的马马虎虎还行),但代码可以简化到这样,绝对值得我学习。希望可以有所收获。


哈哈,因为我是常人,YBIL是超人。

9楼
ybil 发表于:2008/12/2 10:27:00
以下是引用狐狸爸爸在2008-12-2 10:22:00的发言:


哈哈,因为我是常人,YBIL是超人。

nnd,俺乃凡夫,何来超人!

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

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

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