以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]筛选后如没有数据会提示错误  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=50064)

--  作者:花开的声音
--  发布时间:2014/4/28 20:15:00
--  [求助]筛选后如没有数据会提示错误
筛选后如没有数据会提示下图所示错误,怎么表示筛选的记录为0,以便把错误屏蔽掉。

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


代码如下:
Dim cs As WinForm.Button = e.Form.Controls("查询")
Dim sfzh As WinForm.TextBox = e.Form.Controls("TextBox10")
Dim xm As WinForm.TextBox = e.Form.Controls("TextBox11")
Dim zyzh As WinForm.TextBox = e.Form.Controls("TextBox20")

Tables("法律服务执业办理_基层法律服务人员信息表").Filter = "身份证号码 like \'*" & sfzh.Value & "*\' And 姓名 Like \'*" & xm.Value & "*\'and 执业证号码 like \'*" & zyzh.Value & "*\'"


--  作者:有点甜
--  发布时间:2014/4/28 20:18:00
--  

不应该是这段代码的错误。根据提示是currentchanged事件的错才对。

 

你贴出相关的代码。

 

大部分是因为 Tables("xxx").Current 的错误,你加入一个判断。

 

If Tables("xxx").Current IsNot Nothing Then

 

End If


--  作者:花开的声音
--  发布时间:2014/4/28 20:39:00
--  
以下是currentchanged事件的代码:

For Each cl As Col In CurrentTable.Cols
    If e.Form.Controls.Contains(cl.name) Then
     e.Form.Controls(cl.name).value=CurrentTable.Current(cl.name)
    End If
Next

--  作者:有点甜
--  发布时间:2014/4/28 20:41:00
--  

 呃,加一个判断。

 


For Each cl As Col In CurrentTable.Cols
    If e.Form.Controls.Contains(cl.name) AndAlso CurrentTable.Current IsNot Nothing Then
     e.Form.Controls(cl.name).value=CurrentTable.Current(cl.name)
    End If
Next

--  作者:有点甜
--  发布时间:2014/4/28 20:42:00
--  

 4楼代码要这样改

 

If CurrentTable.Current IsNot Nothing Then

For Each cl As Col In CurrentTable.Cols
    If e.Form.Controls.Contains(cl.name) Then
     e.Form.Controls(cl.name).value=CurrentTable.Current(cl.name)
    End If
Next
End If

--  作者:花开的声音
--  发布时间:2014/4/28 20:51:00
--  
谢谢,的确正确了。