以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]日期列查询问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=176879) |
-- 作者:Cloud -- 发布时间:2022/4/29 14:29:00 -- [求助]日期列查询问题 求大师指点: 我有两个日期查询框,上框输入的是表中列“下单日期”,下框输入的也是表中列“下单日期”,查询代码如下: Dim rq1 As WinForm.DateTimePicker = e.Form.Controls("下单日期1") Dim rq2 As WinForm.DateTimePicker = e.Form.Controls("下单日期2") Dim flt As String If DataTables("订单主表").GetComboListString("下单日期") = True Then If rq1.Value IsNot Nothing Then If flt >"" Then flt = flt & " and 下单日期 >= \'" & rq1.Value & "\' " Else flt = " 下单日期 >= \'" & rq1.Value & "\' " End If End If If rq2.Value IsNot Nothing Then If flt >"" Then flt = flt & " and 下单日期 <= \'" & rq2.Value & "\' " Else flt = " 下单日期 <= \'" & rq2.Value & "\' " End If End If End If 会报错:从字符串“2022-04-25 00:00:00”到类型“Boolean”的转换无效。 .NET Framework 版本:4.0.30319.42000 Foxtable 版本:2020.5.29.8 错误所在事件:窗口,销售订单,Button14,Click 详细错误信息: 从字符串“2022-04-25 00:00:00”到类型“Boolean”的转换无效。 输入字符串的格式不正确。 谢谢 |
-- 作者:有点蓝 -- 发布时间:2022/4/29 14:36:00 -- 去掉这句if判断代码 If DataTables("订单主表").GetComboListString("下单日期") = True Then
|
-- 作者:Cloud -- 发布时间:2022/4/29 14:40:00 -- 这样查询没反应 |
-- 作者:有点蓝 -- 发布时间:2022/4/29 14:50:00 -- 没反应也和这句代码没有什么关系。 1楼代码完整吗?没有看到使用这个筛选条件的地方!
|
-- 作者:Cloud -- 发布时间:2022/4/29 15:05:00 -- 代码就是这样写的,不知道那里的问题 Dim rq1 As WinForm.DateTimePicker = e.Form.Controls("下单日期1") Dim rq2 As WinForm.DateTimePicker = e.Form.Controls("下单日期2") Dim flt As String If DataTables("订单主表").sqlGetComboListString("下单日期") = True Then If rq1.Value IsNot Nothing Then If flt >"" Then flt = flt & " and 下单日期 >= \'" & rq1.Value & "\' " Else flt = " 下单日期 >= \'" & rq1.Value & "\' " End If End If If rq2.Value IsNot Nothing Then If flt >"" Then flt = flt & " and 下单日期 <= \'" & rq2.Value & "\' " Else flt = " 下单日期 <= \'" & rq2.Value & "\' " End If End If End If |
-- 作者:有点蓝 -- 发布时间:2022/4/29 15:11:00 -- 没有看到使用flt 这个筛选条件的地方! |
-- 作者:Cloud -- 发布时间:2022/4/29 16:37:00 -- 大师: 这个问题我不清楚,能不能帮我写一个例子给我看一下
|
-- 作者:有点蓝 -- 发布时间:2022/4/29 16:46:00 -- 这个帮助好好看看:http://www.foxtable.com/webhelp/topics/1058.htm |
-- 作者:Cloud -- 发布时间:2022/4/29 17:46:00 -- 这个可以从后台筛选吗? Dim Filter As String With e.Form.Controls("下单日期1") If .Value IsNot Nothing Then If Filter >"" Then Filter = Filter & " And " End If Filter = Filter & "下单日期 >= #" & .Value & "#" End If End With With e.Form.Controls("下单日期2") If .Value IsNot Nothing Then If Filter >"" Then Filter = Filter & " And " End If Filter = Filter & "下单日期 <= #" & .Value & "#" End If End With If Filter > "" Then Tables("订单主表").Filter = Filter End If 代码怎么改 |
-- 作者:有点酸 -- 发布时间:2022/4/30 5:49:00 -- 可以: Dim Filter As String With e.Form.Controls("下单日期1") If .Value IsNot Nothing Then If Filter >"" Then Filter = Filter & " And " End If Filter = Filter & "下单日期 >= #" & .Value & "#" End If End With With e.Form.Controls("下单日期2") If .Value IsNot Nothing Then If Filter >"" Then Filter = Filter & " And " End If Filter = Filter & "下单日期 <= #" & .Value & "#" End If End With If Filter > "" Then DataTables("订单主表").LoadFilter = Filter DataTables("订单主表").Load End If |