以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  多表窗口查询  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=175050)

--  作者:jhxb8821
--  发布时间: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
--  发布时间: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

--  作者:有点蓝
--  发布时间:2022/2/17 17:35:00
--  
可以使用fill:http://www.foxtable.com/webhelp/topics/2912.htm

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



--  作者:jhxb8821
--  发布时间:2022/2/18 11:05:00
--  已

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


--  作者:jhxb8821
--  发布时间:2022/2/22 15:25:00
--  代码修改

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

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


--  作者:有点蓝
--  发布时间: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
--  发布时间:2022/2/22 17:05:00
--  还有问题
蓝老师,我就是按照这个代码做的,代码没有问题,但还是不成功,提示“select语句执行错误,请检查语法及数据设置”。我仔细分析原因,可能是外部数据库名称问题,这个项目外部access数据库名称为“项目外部数据”,foxtale项目内外部数据源名称为“项目外部”,出错原因可能是这两个名称不一致,请问蓝老师,怎么修改。
--  作者:有点蓝
--  发布时间:2022/2/22 17:13:00
--  
和数据库的名称没有半点关系,使用数据源名称即可

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

--  作者:jhxb8821
--  发布时间:2022/2/22 17:19:00
--  出错
提示“select语句执行错误,请检查语法及数据设置”
--  作者:有点蓝
--  发布时间:2022/2/22 17:20:00
--  
那是拼接的sql有问题

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