以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  正常筛选怎么会报错  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=122535)

--  作者:yetle
--  发布时间:2018/7/27 15:24:00
--  正常筛选怎么会报错

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

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

筛选按钮代码如下,有时候会有下面两个报错

Dim stade As WinForm.DateTimePicker = e.Form.Controls("DateTimePicker1")
Dim Endde As WinForm.DateTimePicker = e.Form.Controls("DateTimePicker2")
Dim pd01 As WinForm.ComboBox = e.Form.Controls("ComboBox3")
Dim cs01 As WinForm.ComboBox = e.Form.Controls("ComboBox1")
Dim kh01 As WinForm.ComboBox = e.Form.Controls("ComboBox4")


Dim dt As DataTable=DataTables("报价单")
Dim dts As DataTable=DataTables("报价申请")
Dim filter As String = "1=1"
Dim filter2 As String = "1=1"

If stade.text >"" Then

     filter= filter & " and 日期>=\'" & stade.text & "\'"
     filter2= filter2 & " and 业务部_申请日期>=\'" & stade.text & "\'"

End If

If  Endde.text>"" Then
    filter=filter & "and 日期<=\'" & Endde.text & "\'"
    filter2= filter2 & " and 业务部_申请日期<=\'" & stade.text & "\'"
\' Else
\'     MessageBox.show("请选择结束日期!")
\' Return
End If
dt.LoadFilter=filter
dt.Load()
dts.LoadFilter=filter2
dts.Load()




With e.Form.Controls("ComboBox1")
If .Value IsNot Nothing Then
    If cs01.text>"" Then
      Filter = Filter & " And "
      Filter2 = Filter2 & " And "
    End If
       filter=filter & "[系列] like \'" & cs01.text & "\'"
       filter2=filter2 & "[业务部_系列] like \'%" & cs01.text & "%\'"  
End If
End  With




With e.Form.Controls("ComboBox3")
If .Value IsNot Nothing Then
    If pd01.text>"" Then
      Filter = Filter & " And "
      Filter2 = Filter2 & " And "
    End If
       filter=filter & "[款号] like \'%" & pd01.text & "%\'" 
       filter2=filter2 & "[业务部_款号] like \'%" & pd01.text & "%\'"  

End If
End  With

With e.Form.Controls("ComboBox4")
If .Value IsNot Nothing Then
    If kh01.text>"" Then
      Filter = Filter & " And "
      Filter2 = Filter2 & " And "
    End If
       filter=filter & "[客户名称] like \'%" & kh01.text & "%\'" 
       filter2=filter2 & "[业务部_客户] like \'%" & kh01.text & "%\'"  

End If
End  With


If Filter > "" Then

    Tables("报价单").Filter=filter
    Tables("报价申请").Filter=filter2

End If


[此贴子已经被作者于2018/7/27 15:24:52编辑过]

--  作者:有点甜
--  发布时间:2018/7/27 15:29:00
--  
看看是不是你currentChanged等表事件写了什么影响的代码?
--  作者:yetle
--  发布时间:2018/7/27 15:40:00
--  
这个都窗体内的表都没有用副本,是不是要检查DataColChanged
--  作者:有点甜
--  发布时间:2018/7/27 15:59:00
--  
检测表属性currentchanged、afterLoad等事件,看是不是有影响代码,删除后测试。