以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  如何实现表单元格的查询?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=169231)

--  作者:lin98
--  发布时间:2021/6/8 7:29:00
--  如何实现表单元格的查询?
窗口上,放着“表A”和"表B",如何实现“表A”的"产品编号"做查询条件,查询到"表B"与其相对应的所有记录?
下面代码是以“表A”的"产品编号",定位到"表B",如何改成“表A”的"产品编号",查询到"表B"与其相对应的所有记录?

Dim wz As Integer
Dim dr As DataRow
dr = DataTables("表B").Find("[产品编号] = \'" & e.Table.Current("产品编号") & "\'")
If dr IsNot Nothing Then
    wz = Tables("表B").FindRow(dr)
    If wz >= 0 Then
        Tables("表B").Position = wz
    End If
End If



--  作者:有点蓝
--  发布时间:2021/6/8 8:47:00
--  
Tables("表B").filter = "[产品编号] = \'" & e.Table.Current("产品编号") & "\'"
--  作者:lin98
--  发布时间:2021/6/9 0:30:00
--  
Dim wz As Integer
\'Dim dr As DataRow
\'dr = DataTables("订单").Find("[产品编号] = \'" & e.Table.Current("产品编号") & "\'")
\'dr = Tables("订单").filter = "[产品编号] = \'" & e.Table.Current("产品编号") & "\'"
Dim dr As Row = Tables("订单").filter = "[产品编号] = \'" & e.Table.Current("产品编号") & "\'"


If dr IsNot Nothing Then
    wz = Tables("订单").FindRow(dr)

    If wz >= 0 Then
        Tables("订单").Position = wz
    End If
End If


图片点击可在新窗口打开查看此主题相关图片如下:查询问题.jpg
图片点击可在新窗口打开查看


--  作者:有点蓝
--  发布时间:2021/6/9 8:30:00
--  
理解有问题,定位只能定位到其中一条记录。如果是多条记录,建议使用筛选,显示符合条件的所有记录
--  作者:lin98
--  发布时间:2021/6/9 10:54:00
--  
使用筛选

\'Tables("表A").RelationFilter("产品编号", "表B", "产品编号", True)
用上面代码,没报错,单击执行就退出系统
如何实现选中窗口"表A"筛选出"表B"与其对应"产品编号"的记录数据?

--  作者:有点蓝
--  发布时间:2021/6/9 11:01:00
--  
表A,currentchanged
if e.table.current isnot nothing then
Tables("表B").filter = "[产品编号] = \'" & e.Table.Current("产品编号") & "\'"
end if

--  作者:lin98
--  发布时间:2021/6/9 11:13:00
--  
老师,执行没反应
--  作者:有点蓝
--  发布时间:2021/6/9 11:18:00
--  
选择表A不同行才会触发,或者手工触发:http://www.foxtable.com/webhelp/topics/2367.htm