以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [求助]关于请教筛选加载的问题  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=110856)

--  作者:洮沙
--  发布时间:2017/12/11 10:22:00
--  [求助]关于请教筛选加载的问题

有客户表,通过输入字符,进行快速模糊查询加载,但是如果输入的字符未找到,出现以下错误提示,请老师帮帮忙解决一下。


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

 

 

窗口:

 


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

 

 

查询控件代码:

 


Dim txt As String = e.Form.Controls("TextBox1").Text
Dim tbl As Table = Tables("客户")
If txt = "" Then
    tbl.DataTable.loadPage = 0
    tbl.DataTable.loadFilter = ""
    tbl.DataTable.load
Else
    txt = "\'%" & txt & "%\'"
    Dim Filter As String
    Filter = "客户编码 Like " & txt & " Or 客户名称 Like " & txt & " Or 注册登记类型 Like " & txt & " Or 法定代表人_姓名 Like " & txt & " Or 营业执照号 Like " & txt & " Or 国税登记号 Like " & txt & " Or 联系人 Like " & txt & " Or 客户名称首字母 Like " & txt
    If  Filter Is Nothing Then
        MessageBox.Show("无符号条件客户,请重新输入!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
    Else
        tbl.DataTable.loadFilter = Filter
        tbl.DataTable.loadPage = 0
        tbl.DataTable.load
    End If
End If

 

我也知道是需要加一个条件判断,但是一直不对,不知哪里出错了?请老师帮一下,谢谢!


--  作者:有点甜
--  发布时间:2017/12/11 10:25:00
--  

应该是你currentChanged事件的代码有问题。在事件最前面加上代码

 

If e.Table.Current Is Nothing Then Return


--  作者:洮沙
--  发布时间:2017/12/11 10:29:00
--  回复:(有点甜)应该是你currentChanged事件的代码有...

甜老师,我加到客户表currentChanged事件中,不起作用啊!!

 

 


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

 

是通过此控件进行输入筛选的啊!

[此贴子已经被作者于2017/12/11 10:34:04编辑过]

--  作者:有点甜
--  发布时间:2017/12/11 10:38:00
--  

1、删除对应表currentChanged、afterLoad等事件的代码后,测试有没有问题。

 

2、如果还有问题,实例发上来测试。


--  作者:洮沙
--  发布时间:2017/12/11 10:45:00
--  回复:(有点甜)1、删除对应表currentChanged、after...

甜老师,以下代码运行时:

文本框中输入的字符如果满足筛选条件的话,正常运行;

如果找不到文本框中的客户信息,才出现“上图中的运行错误信息”。

 

我的意思是如何将以下代码进行判断一下,就是如果没有符合条件的,将不加载:

 

Dim txt As String = e.Form.Controls("TextBox1").Text
Dim tbl As Table = Tables("客户")
If txt = "" Then
    tbl.DataTable.loadPage = 0
    tbl.DataTable.loadFilter = ""
    tbl.DataTable.load
Else
    txt = "\'%" & txt & "%\'"
    tbl.DataTable.loadFilter = "客户编码 Like " & txt & " Or 客户名称 Like " & txt & " Or 注册登记类型 Like " & txt & " Or 法定代表人_姓名 Like " & txt & " Or 营业执照号 Like " & txt & " Or 国税登记号 Like " & txt & " Or 联系人 Like " & txt & " Or 客户名称首字母 Like " & txt
     tbl.DataTable.loadPage = 0
     tbl.DataTable.load
End If

[此贴子已经被作者于2017/12/11 10:50:54编辑过]

--  作者:有点甜
--  发布时间:2017/12/11 11:02:00
--  
代码没问题。认认真真看4楼。
--  作者:洮沙
--  发布时间:2017/12/11 11:47:00
--  回复:(有点甜)代码没问题。认认真真看4楼。
合适了,谢谢!在全局表中修改了一下!