以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]按日期筛选的代码如何修改?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=86080)

--  作者:scofields
--  发布时间:2016/6/9 20:24:00
--  [求助]按日期筛选的代码如何修改?
红袍老师,我写的这段代码,发现筛选效果没有用?怎么修改啊?
Dim stade As WinForm.DateTimePicker = e.Form.Controls("DateTimePicker1")
Dim Endde As WinForm.DateTimePicker = e.Form.Controls("DateTimePicker2")
Dim dt As DataTable=DataTables("FAJHB")
Dim filter As String
If User.Group <>"销售开票" AndAlso User.Group <>"发运地磅"  Then
If stade.text >"" Then
    filter="发运日期>=\'" & stade.text & "\'"
    filter="市场部 = \'" & User.Group & "\'"
Else
    MessageBox.show("请选择起始日期!")
filter="发运日期>=\'" & stade.text & "\'"

    Return
End If
End If

If User.Group <>"销售开票" AndAlso User.Group <>"发运地磅"  Then
If  Endde.text>"" Then
    filter=filter & "and 发运日期<=\'" & Endde.text & "\'"
    filter="市场部 = \'" & User.Group & "\'"
Else
    MessageBox.show("请选择结束日期!")
Return
End If
End If
dt.LoadFilter=filter
dt.Load()


刷选当日:
If User.Group <> "销售开票" AndAlso User.Group<>"发运地磅" Then
Tables("FAJHB").Filter="[发运日期]=#" & Date.Today & "#"
Tables("FAJHB").Filter="[市场部] = \'& User.group & \' "
Else If User.Group = "销售开票" AndAlso User.Group="发运地磅" 
Tables("FAJHB").Filter="[发运日期]=#" & Date.Today & "#"
Tables("FAJHB").Filter="[市场部] = \'\' "
End If
[此贴子已经被作者于2016/6/9 20:38:55编辑过]

--  作者:大红袍
--  发布时间:2016/6/10 19:08:00
--  

筛选当日

 

If User.Group <> "销售开票" AndAlso User.Group<>"发运地磅" Then
    Tables("FAJHB").Filter="[发运日期]=#" & Date.Today & "# and [市场部] = \'" & User.group & "\'"
Else If User.Group = "销售开票" AndAlso User.Group="发运地磅"
    Tables("FAJHB").Filter="[发运日期]=#" & Date.Today & "#"
End If


--  作者:大红袍
--  发布时间:2016/6/10 19:11:00
--  

参考代码

 

Dim stade As WinForm.DateTimePicker = e.Form.Controls("DateTimePicker1")
Dim Endde As WinForm.DateTimePicker = e.Form.Controls("DateTimePicker2")
Dim dt As DataTable=DataTables("FAJHB")
Dim filter As String = "1=1"
If User.Group <>"销售开票" AndAlso User.Group <>"发运地磅"  Then
    filter=" and 市场部 = \'" & User.Group & "\'"
End If
If stade.text >"" Then
    filter=" and 发运日期>=#" & stade.text & "#"
Else
    MessageBox.show("请选择起始日期!")
    Return
End If


If  Endde.text>"" Then
    filter=filter & "and 发运日期<=#" & Endde.text & "#"
Else
    MessageBox.show("请选择结束日期!")
    Return
End If

dt.LoadFilter=filter
dt.Load()


--  作者:scofields
--  发布时间:2016/6/11 21:21:00
--  
红袍老师,弹出“.and附件语法错误‘,这怎么解决?
Dim stade As WinForm.DateTimePicker = e.Form.Controls("DateTimePicker2")
Dim Endde As WinForm.DateTimePicker = e.Form.Controls("DateTimePicker3")
Dim dt As DataTable=DataTables("船运计划2")
Dim filter As String = "1=1"
If stade.text >"" Then
    filter=" and 计划日期>=#" & stade.text & "#"
Else
    MessageBox.show("请选择起始日期!")
    Return
End If

If  Endde.text>"" Then
    filter=filter & "and 计划日期<=#" & Endde.text & "#"
Else
    MessageBox.show("请选择结束日期!")
    Return
End If
dt.LoadFilter=filter
dt.Load()

--  作者:大红袍
--  发布时间:2016/6/12 0:50:00
--  
你的数据库是sqlserver还是Access?
 
Dim stade As WinForm.DateTimePicker = e.Form.Controls("DateTimePicker2")
Dim Endde As WinForm.DateTimePicker = e.Form.Controls("DateTimePicker3")
Dim dt As DataTable=DataTables("船运计划2")
Dim filter As String = "1=1"
If stade.text >"" Then
    filter=" and 计划日期>=#" & stade.text & "#"
Else
    MessageBox.show("请选择起始日期!")
    Return
End If

If  Endde.text>"" Then
    filter=filter & " and 计划日期<=#" & Endde.text & "#"
Else
    MessageBox.show("请选择结束日期!")
    Return
End If
dt.LoadFilter=filter
dt.Load()

--  作者:scofields
--  发布时间:2016/6/12 22:49:00
--  
我的是SQL SERVER,我也把#改成了‘,但还是提示错误的。
--  作者:大红袍
--  发布时间:2016/6/12 23:41:00
--  

这样写

 

Dim stade As WinForm.DateTimePicker = e.Form.Controls("DateTimePicker2")
Dim Endde As WinForm.DateTimePicker = e.Form.Controls("DateTimePicker3")
Dim dt As DataTable=DataTables("船运计划2")
Dim filter As String = "1=1"
If stade.text >"" Then
    filter=filter & " And 计划日期>=\'" & stade.text & "\'"
Else
    MessageBox.show("请选择起始日期!")
    Return
End If


If  Endde.text>"" Then
    filter=filter & " and 计划日期<=\'" & Endde.text & "\'"
Else
    MessageBox.show("请选择结束日期!")
    Return
End If
dt.LoadFilter=filter
dt.Load()


--  作者:scofields
--  发布时间:2016/6/12 23:43:00
--  
感谢红袍老师,我刚自己调试成功了!