以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]在自定义菜单功能区实现表的动态筛选条件如何实现  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=96124)

--  作者:ln8248
--  发布时间:2017/2/13 18:24:00
--  [求助]在自定义菜单功能区实现表的动态筛选条件如何实现

我现在想在功能区中实现  表的筛选功能,请问如何实现?

 

1)就是点击查询按钮的时候 可以 根据 文本框 中的条件 筛选出符合条件的 行

2)还有就是这个一个子表 和 父表 , 如何实现:A: 根据子表的列进行条件查询时,根据子表的查询结果显示相应父表内容  B: 根据父表的列进行条件查询时,如何根据父表的查询结果显示相应子表内容

 

 

 

 

请看附件中的照片阿。


图片点击可在新窗口打开查看此主题相关图片如下:qq截图20170213182214.jpg
图片点击可在新窗口打开查看
[此贴子已经被作者于2017/2/13 18:34:27编辑过]

--  作者:有点色
--  发布时间:2017/2/13 18:34:00
--  

 参考


http://www.foxtable.com/webhelp/scr/1137.htm


http://www.foxtable.com/webhelp/scr/1058.htm



--  作者:ln8248
--  发布时间:2017/2/14 11:34:00
--  

如果查询的条件里面有子表的列,怎么实现父表根据子表的查询结果进行显示


--  作者:有点色
--  发布时间:2017/2/14 11:59:00
--  

 比如

 

Dim str As String = DataTables("子表").GetComboListString("报价单号", "子表各种条件")
str = str.Replace("|", "\',\'")
Tables("父表").Filter = "报价单号 in (\'" & str & "\')"


--  作者:ln8248
--  发布时间:2017/2/14 12:06:00
--  

不太懂。 查询条件里面有子表 的列, 也有父表的列。

 

还有,请看以下代码哪里出错。

 

Dim Filter As String
With RibbonTabs("报价管理")("历史报价查询").Items("txt_报价单号")
    If .Value IsNot Nothing Then
        Filter = "{国内报价单表}.报价单号 = \'" & .Value & "\'"
    End If
End With
With RibbonTabs("报价管理")("历史报价查询").Items("txt_报价人")
    If .Value IsNot Nothing Then
        If Filter > "" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "报价人 = \'" & .Value & "\'"
    End If
End With
With RibbonTabs("报价管理")("历史报价查询").Items("txt_客户简称")
    If .Value IsNot Nothing Then
        If Filter >"" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "客户简称=\'" & .Value & "\'"
    End If
End With
With RibbonTabs("报价管理")("历史报价查询").Items("txt_报价日期1")
    If .Value IsNot Nothing Then
        If Filter >"" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "报价日期 >=#" & .Value & "#"
   End If
End With
With RibbonTabs("报价管理")("历史报价查询").Items("txt_报价日期2")
    If .Value IsNot Nothing Then
        If Filter >"" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "报价日期 <=#" & .Value & "#"
   End If
End With
With RibbonTabs("报价管理")("历史报价查询").Items("txt_材质")
    If .Value IsNot Nothing Then
        If Filter >"" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "{国内报价单明细表}.材质 = \'" & .Value & "\'"
    End If
End With
With RibbonTabs("报价管理")("历史报价查询").Items("txt_产品类型")
    If .Value IsNot Nothing Then
        If Filter >"" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "{国内报价单明细表}.产品类型 =\'" & .Value & "\'"
    End If
End With
With RibbonTabs("报价管理")("历史报价查询").Items("txt_产品")
    If .Value IsNot Nothing Then
        If Filter >"" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "{国内报价单明细表}.产品类型  Like \' & .Value & \'   "
    End If
End With

Tables("国内报价单表").Filter =Filter
Tables("国内报价单明细表").Filter =Filter


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

--  作者:有点色
--  发布时间:2017/2/14 13:04:00
--  

Dim Filter1 As String = "1=1"
Dim Filter2 As String = "1=1"
With RibbonTabs("报价管理")("历史报价查询").Items("txt_报价单号")
    If .Value IsNot Nothing Then
        Filter1 &= " and 报价单号 = \'" & .Value & "\'"
    End If
End With
With RibbonTabs("报价管理")("历史报价查询").Items("txt_报价人")
    If .Value IsNot Nothing Then
        Filter1 &= " and 报价人 = \'" & .Value & "\'"
    End If
End With
With RibbonTabs("报价管理")("历史报价查询").Items("txt_客户简称")
    If .Value IsNot Nothing Then
        Filter1 &= " and 客户简称=\'" & .Value & "\'"
    End If
End With
With RibbonTabs("报价管理")("历史报价查询").Items("txt_报价日期1")
    If .Value IsNot Nothing Then
        Filter1 &= " and 报价日期 >=#" & .Value & "#"
    End If
End With
With RibbonTabs("报价管理")("历史报价查询").Items("txt_报价日期2")
    If .Value IsNot Nothing Then
        Filter1 &= " and 报价日期 <=#" & .Value & "#"
    End If
End With
With RibbonTabs("报价管理")("历史报价查询").Items("txt_材质")
    If .Value IsNot Nothing Then
        Filter2 &= " and 材质 = \'" & .Value & "\'"
    End If
End With
With RibbonTabs("报价管理")("历史报价查询").Items("txt_产品类型")
    If .Value IsNot Nothing Then
        Filter2 &= "and 产品类型 =\'" & .Value & "\'"
    End If
End With
With RibbonTabs("报价管理")("历史报价查询").Items("txt_产品")
    If .Value IsNot Nothing Then
       
        Filter2 &= "and 产品类型  Like \'%" & .Value & "%\'"
    End If
End With
Dim str As String = DataTables("国内报价单明细表").GetComboListString("报价单号", filter2)
str = str.Replace("|", "\',\'")

Tables("国内报价单表").Filter = Filter1 & " and 报价单号 in (\'" & str & "\')"
str = DataTables("国内报价单表").GetComboListString("报价单号", Tables("国内报价单表").Filter)
str = str.Replace("|", "\',\'")
Tables("国内报价单明细表").Filter = Filter2 & " and 报价单号 in (\'" & str & "\')"


 


--  作者:ln8248
--  发布时间:2017/2/14 16:22:00
--  

运行的时候出错,不知道问题在哪里?

 


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

--  作者:有点色
--  发布时间:2017/2/14 18:30:00
--  
把.value,改成.Text