以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  求助关于主子表查询的思路,例子已传,在8楼  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=31195)

--  作者:晕了快扶我
--  发布时间:2013/4/11 15:45:00
--  求助关于主子表查询的思路,例子已传,在8楼

Dim khddcx As String = e.Form.Controls("客户订单查询").text
If khddcx = "" Then
    MessageBox.show("请输入客户名称或者客户订单号码!","提示")
    Return
Else
    DataTables("客户订单主表").LoadFilter = "客户名称 Like \'%" & khddcx & "%\' or 订单号码 Like \'%" & khddcx & "%\'"
    DataTables("客户订单主表").Load()
    If DataTables("客户订单主表").DataRows.Count = 0 Then
        MessageBox.show("没有查找到相关客户订单!","提示")
        Return
    Else
        Dim ids As String
        For Each dr As DataRow In DataTables("客户订单主表").DataRows
            ids = ids & ",\'" & dr("客户订单编号") & "\'"
            ids= ids.Trim(",")
            DataTables("客户订单子表").LoadFilter = "客户订单编号 In (" & ids & ")"
        Next
    End If
End If
DataTables("客户订单子表").LoadTop = ""
DataTables("客户订单子表").Load()

============================================以上是查询客户订单主表字段的代码

如果通过一键查询子表字段的,要如何设计呢?就是在同一个查询按钮下,查询子表的字段,然后加载主表相应的数据


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

如图查询框

[此贴子已经被作者于2013-4-11 16:40:09编辑过]

--  作者:Bin
--  发布时间:2013/4/11 15:51:00
--  
查询某个表的字段.
For Each str As DataCol In DataTables("客户订单").DataCols
MessageBox.Show(str.Name)
Next

--  作者:晕了快扶我
--  发布时间:2013/4/11 15:54:00
--  
以下是引用Bin在2013-4-11 15:51:00的发言:
查询某个表的字段.
For Each str As DataCol In DataTables("客户订单").DataCols
MessageBox.Show(str.Name)
Next

图片点击可在新窗口打开查看你没明白我的意思


--  作者:Bin
--  发布时间:2013/4/11 15:56:00
--  
说清楚一点呗,我比较笨- -
--  作者:晕了快扶我
--  发布时间:2013/4/11 16:01:00
--  
以下是引用Bin在2013-4-11 15:56:00的发言:
说清楚一点呗,我比较笨- -

一楼我补图了,如果我用loadfilter做后台查询的话,只能在固定一张表的数据

比如在实际操作当中,我们查客户订单,要查主表表头的数据,比如客户名称,订单号码等等,更多的需要是查子表中某个规格的数据,如果在窗口中单独再为子表做一个查询控件的话,就太累赘了,有没有办法一个查询窗体根据需要来查2个表的数据呢?

像一楼的图里我只能查主表的数据,对于子表里的规格,品名,我就无法查询了


--  作者:Bin
--  发布时间:2013/4/11 16:06:00
--  
以下是引用晕了快扶我在2013-4-11 16:01:00的发言:

一楼我补图了,如果我用loadfilter做后台查询的话,只能在固定一张表的数据

比如在实际操作当中,我们查客户订单,要查主表表头的数据,比如客户名称,订单号码等等,更多的需要是查子表中某个规格的数据,如果在窗口中单独再为子表做一个查询控件的话,就太累赘了,有没有办法一个查询窗体根据需要来查2个表的数据呢?

像一楼的图里我只能查主表的数据,对于子表里的规格,品名,我就无法查询了

Datatables("表A").Filter= "XX=\'XX\'" 
Datatables("表B").Filter= "XX=\'XX\'" 不就行了么?

--  作者:晕了快扶我
--  发布时间:2013/4/11 16:10:00
--  
以下是引用Bin在2013-4-11 16:06:00的发言:

Datatables("表A").Filter= "XX=\'XX\'" 
Datatables("表B").Filter= "XX=\'XX\'" 不就行了么?

我试试吧,主要是后面的代码很难处理


--  作者:晕了快扶我
--  发布时间:2013/4/11 16:40:00
--  

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目3.foxdb

窗口里做测试

现在输入品名或者规格后,相应的主表无法显示,求指点!


--  作者:Bin
--  发布时间:2013/4/11 16:45:00
--  
我测试了.2个表都可以正常搜索啊. 怎么个无法显示呢?
--  作者:晕了快扶我
--  发布时间:2013/4/11 16:47:00
--  
以下是引用Bin在2013-4-11 16:45:00的发言:
我测试了.2个表都可以正常搜索啊. 怎么个无法显示呢?

你搜索锤子,只显示子表的,没有显示相应的主表啊