Foxtable(狐表)用户栏目专家坐堂 → [求助]日期列查询问题


  共有3949人关注过本帖树形打印复制链接

主题:[求助]日期列查询问题

帅哥哟,离线,有人找我吗?
Cloud
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:156 积分:1328 威望:0 精华:0 注册:2016/6/21 12:27:00
[求助]日期列查询问题  发帖心情 Post By: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”的转换无效。
输入字符串的格式不正确。
    谢谢

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:109503 积分:557183 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/4/29 14:36:00 [只看该作者]

去掉这句if判断代码

If DataTables("订单主表").GetComboListString("下单日期") = True Then

 回到顶部
帅哥哟,离线,有人找我吗?
Cloud
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:156 积分:1328 威望:0 精华:0 注册:2016/6/21 12:27:00
  发帖心情 Post By:2022/4/29 14:40:00 [只看该作者]

这样查询没反应

 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:109503 积分:557183 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/4/29 14:50:00 [只看该作者]

没反应也和这句代码没有什么关系。

1楼代码完整吗?没有看到使用这个筛选条件的地方!

 回到顶部
帅哥哟,离线,有人找我吗?
Cloud
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:156 积分:1328 威望:0 精华:0 注册:2016/6/21 12:27:00
  发帖心情 Post By: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

 回到顶部
帅哥,在线噢!
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:109503 积分:557183 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/4/29 15:11:00 [只看该作者]

没有看到使用flt 这个筛选条件的地方!

 回到顶部
帅哥哟,离线,有人找我吗?
Cloud
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:156 积分:1328 威望:0 精华:0 注册:2016/6/21 12:27:00
  发帖心情 Post By:2022/4/29 16:37:00 [只看该作者]

大师:
    这个问题我不清楚,能不能帮我写一个例子给我看一下

 回到顶部
帅哥,在线噢!
有点蓝
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:109503 积分:557183 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/4/29 16:46:00 [只看该作者]


 回到顶部
帅哥哟,离线,有人找我吗?
Cloud
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:156 积分:1328 威望:0 精华:0 注册:2016/6/21 12:27:00
  发帖心情 Post By: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
代码怎么改

 回到顶部
帅哥哟,离线,有人找我吗?
有点酸
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1093 积分:6682 威望:0 精华:0 注册:2013/7/1 9:05:00
  发帖心情 Post By: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



 回到顶部