Foxtable(狐表)用户栏目专家坐堂 → 搜索明细表,列出对应关系


  共有2204人关注过本帖树形打印复制链接

主题:搜索明细表,列出对应关系

帅哥哟,离线,有人找我吗?
yetle
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:858 积分:6381 威望:0 精华:0 注册:2017/2/13 9:04:00
搜索明细表,列出对应关系  发帖心情 Post By:2019/4/24 10:23:00 [只看该作者]

窗口表table1和table2,需求:查找出table2包含输入框文字的物供号,table1和table2保持到货单据号对应,怎么写?


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

TextChanged

Dim txt As Integer = Forms("到货物检").Controls("TextBox1").Text
Dim tbl As Table = Tables("到货物检_Table2")
If txt = "" Then
    tbl.Filter = ""
Else
    txt = "'%" & txt & "%'"
    tbl.Filter = "物供号 Like " & txt
End If

CurrentChanged

If Forms("到货物检").Opened()
    Dim t As Table = Tables("到货物检_table2")
    Dim d As Table = Tables("到货物检_table1")    
        If d.Current Is Nothing Then
            t.Filter = "False"
        Else
            t.Filter = "到货单据号 = '" & d.Current("到货单据号") & "'                        
        End If
End If

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/4/24 12:31:00 [只看该作者]

这个意思?

 

    Dim d As Table = Tables("到货物检_table1") 

    txt = "'%" & txt & "%'"
    tbl.Filter = "到货单据号 = '" & d.Current("到货单据号") & "' and 物供号 Like " & txt

 回到顶部
帅哥哟,离线,有人找我吗?
yetle
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:858 积分:6381 威望:0 精华:0 注册:2017/2/13 9:04:00
  发帖心情 Post By:2019/4/24 15:55:00 [只看该作者]

这样写不行,意思应该是,搜索出table2中包含文本输入框中包含物供号的数据,任然保持着CurrentChanged中的约束条件代码,
比如table1的数据有三行:
到货物检单号 
0001
0002
0003

table2的数据为
到货物检单号  物供号
0001          1001
0001          1002
0002          1001
0002          1003
0003          1003

假如搜索1001
table1列出的数据应该是:
0001
0002
table2列出的数据应该是:
0001          1001
0001          1002
0002          1001
0002          1003
这样的意思该怎么写?

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/4/24 16:16:00 [只看该作者]

1、CurrentChanged 事件的代码不能写。

 

2、参考代码

 

Dim t As Table = Tables("到货物检_table2")
Dim str = t.DataTable.GetComboListString("到货物检单号", "物供号='1001'")
str = str.replace("|", "','")
t.Filter = "到货物检单号 in ('" & str & "')"

 

 


 回到顶部
帅哥哟,离线,有人找我吗?
yetle
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:858 积分:6381 威望:0 精华:0 注册:2017/2/13 9:04:00
  发帖心情 Post By:2019/4/25 9:11:00 [只看该作者]

参考了老师的代码,模糊搜索物供号/适用款号/采购单号代码如下:
Dim txt As String = Forms("到货物检").Controls("TextBox1").Text
Dim tbl As Table = Tables("到货物检_Table2")
Dim tbl1 As Table = Tables("到货物检_Table1")
If txt = "" Then
    tbl.Filter = ""
Else
    txt = "'%" & txt & "%'"
Dim str = tbl.DataTable.GetComboListString("到货物检单号", "适用款号 Like " & txt & " or convert(物供号, 'System.String') Like " & txt & "  or 采购单号 Like " & txt)
str = str.replace("|", "','")
tbl.Filter = "到货物检单号 in ('" & str & "')"
End If
但在输入框输入任何内容都没反应
[此贴子已经被作者于2019/4/25 9:36:02编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/4/25 9:37:00 [只看该作者]

具体实例发上来测试。

 回到顶部
帅哥哟,离线,有人找我吗?
yetle
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:858 积分:6381 威望:0 精华:0 注册:2017/2/13 9:04:00
  发帖心情 Post By:2019/4/25 11:41:00 [只看该作者]

TextBox2     TextChanged


[此贴子已经被作者于2019/4/25 17:49:05编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/4/25 13:19:00 [只看该作者]

Dim txt As String = Forms("到货物检").Controls("TextBox2").Text
Dim tbl As Table = Tables("到货物检_Table2")
Dim tbl1 As Table = Tables("到货物检_Table1")
If txt = "" Then
    tbl.Filter = ""
Else
    txt = "'%" & txt & "%'"
    Dim str = tbl.DataTable.GetComboListString("到货单据号", "适用款号 Like " & txt & " or convert(物供号, 'System.String') Like " & txt & "  or 采购单号 Like " & txt)
    str = str.replace("|", "','")
    tbl.Filter = "到货单据号 in ('" & str & "')"
End If

 回到顶部