Foxtable(狐表)用户栏目专家坐堂 → 多表窗口查询


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

主题:多表窗口查询

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


加好友 发短信
等级:四尾狐 帖子:849 积分:5867 威望:0 精华:0 注册:2016/4/15 22:24:00
多表窗口查询  发帖心情 Post By:2022/2/17 17:19:00 [只看该作者]

现在想在一个窗口中,查询多表的内容,模糊查询,符合条件的显示在窗口表中,单个表中模糊查询代码如下:

Dim txt As String = e.Form.Controls("TextBox1").Text

Dim tbl As Table = Tables("A")

If txt = "" Then   '如果内容为空

    tbl.Filter = ""  '显示所有客户

Else   '否则根据输入内容进行模糊筛选

    txt = "'%" & txt & "%'"

    tbl.Filter = " 单位 Like " & txt & " Or 人员编号 Like " & txt & " Or 姓名 Like " & txt & " Or 手机号码 Like " & txt & " Or 身份证号码 Like " & txt

End If


比如我要在选定表中进行查找,请老师指导一下

 下载信息  [文件大小:   下载次数: ]
点击浏览该文件:多表窗口查询.foxdb


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


加好友 发短信
等级:四尾狐 帖子:849 积分:5867 威望:0 精华:0 注册:2016/4/15 22:24:00
查询按钮代码  发帖心情 Post By:2022/2/17 17:32:00 [只看该作者]

我在“查询按钮”写以下代码,还是不对

Dim txt As String = e.Form.Controls("输入查询内容").Text
Dim c1 As WinForm.ComboBox = e.Form.Controls("选择表")
Dim Filter As String
If txt = "" Then   '如果内容为空
    c1.Filter = ""  '显示所有客户
Else   '否则根据输入内容进行模糊筛选
    txt = "'%" & txt & "%'"
    c1.Filter = " 单位 Like " & txt & " Or 人员编号 Like " & txt & " Or 姓名 Like " & txt & " Or 手机号码 Like " & txt & " Or 身份证号码 Like " & txt
End If

If Filter > "" Then
    Tables("联表查询_table1").Filter = Filter
End If

 回到顶部
帅哥,在线噢!
有点蓝
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110803 积分:563953 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/2/17 17:35:00 [只看该作者]

可以使用fill:http://www.foxtable.com/webhelp/topics/2912.htm

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:多表窗口查询.zip



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


加好友 发短信
等级:四尾狐 帖子:849 积分:5867 威望:0 精华:0 注册:2016/4/15 22:24:00
  发帖心情 Post By:2022/2/18 11:05:00 [只看该作者]

老师,若是外部数据表,倒数第二行代码怎么修改


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


加好友 发短信
等级:四尾狐 帖子:849 积分:5867 威望:0 精华:0 注册:2016/4/15 22:24:00
代码修改  发帖心情 Post By:2022/2/22 15:25:00 [只看该作者]

老师,请教多表联查,外部数据表,倒数第二行

 下载信息  [文件大小:   下载次数: ]
点击浏览该文件:多表窗口查询1.foxdb


 回到顶部
帅哥,在线噢!
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110803 积分:563953 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/2/22 15:33:00 [只看该作者]

语法:

Fill(SelectString, IsQuery)

或者

Fill(SelectString, ConnectionName, IsQuery)

SelectString:  Select语句
ConnectionName:可选参数,指定数据源名称
IsQuery:       逻辑型,设为True,将生成SQLQuery型Table,否则生成SQLTable型Table。


    Tables("联表查询_table1").Fill("select * from {" & c1.text & "} where " & Filter,"xx数据源" ,True)


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


加好友 发短信
等级:四尾狐 帖子:849 积分:5867 威望:0 精华:0 注册:2016/4/15 22:24:00
还有问题  发帖心情 Post By:2022/2/22 17:05:00 [只看该作者]

蓝老师,我就是按照这个代码做的,代码没有问题,但还是不成功,提示“select语句执行错误,请检查语法及数据设置”。我仔细分析原因,可能是外部数据库名称问题,这个项目外部access数据库名称为“项目外部数据”,foxtale项目内外部数据源名称为“项目外部”,出错原因可能是这两个名称不一致,请问蓝老师,怎么修改。

 回到顶部
帅哥,在线噢!
有点蓝
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110803 积分:563953 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/2/22 17:13:00 [只看该作者]

和数据库的名称没有半点关系,使用数据源名称即可

Tables("联表查询_table1").Fill("select * from {" & c1.text & "} where " & Filter,"项目外部" ,True)

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


加好友 发短信
等级:四尾狐 帖子:849 积分:5867 威望:0 精华:0 注册:2016/4/15 22:24:00
出错  发帖心情 Post By:2022/2/22 17:19:00 [只看该作者]

提示“select语句执行错误,请检查语法及数据设置”

 回到顶部
帅哥,在线噢!
有点蓝
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110803 积分:563953 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/2/22 17:20:00 [只看该作者]

那是拼接的sql有问题

msgbox("select * from {" & c1.text & "} where " & Filter)

 回到顶部