以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]无法在 System.DateTime 和 System.String 上执行“>=”操作。  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=43539)

--  作者:wodewo
--  发布时间:2013/12/9 21:41:00
--  [求助]无法在 System.DateTime 和 System.String 上执行“>=”操作。

请老师指教

无法在 System.DateTime 和 System.String 上执行“>=”操作。

是怎么回事?

Dim k As WinForm.DateTimePicker = e.Form.Controls("开始时间")
Dim s As WinForm.DateTimePicker = e.Form.Controls("结束时间")
Tables("刑侦大队支出表").Filter = "日期 >= #" & k.Value & "# and 日期 <= #" & s.Value & "# and 账目类型 Like \'*"


--  作者:有点甜
--  发布时间:2013/12/9 21:45:00
--  
 是不是因为你的 日期列 设置成了文本,而不是设置成 日期时间 类型?
--  作者:wodewo
--  发布时间:2013/12/9 22:27:00
--  
不是啊,我的日期是用内置输入器输入的啊,请老师再指教指教,研究一整天了,文化低真可怕啊
--  作者:wodewo
--  发布时间:2013/12/9 22:34:00
--  

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

--  作者:程兴刚
--  发布时间:2013/12/9 22:39:00
--  

这里多余:and 账目类型 Like \'*"

 

这样即可:

Tables("刑侦大队支出表").Filter = "日期 >= #" & k.Value & "# and 日期 <= #" & s.Value & "#”

要问为什么,通配符和单引号之间至少有一个值。


--  作者:有点甜
--  发布时间:2013/12/9 22:40:00
--  
 呃,直接写 k.value 和 s.value 啊
--  作者:wodewo
--  发布时间:2013/12/9 23:18:00
--  

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

--  作者:wodewo
--  发布时间:2013/12/9 23:23:00
--  
是不是日期输入控件的空值判断出了问题呢?
--  作者:wodewo
--  发布时间:2013/12/9 23:24:00
--  
Dim lx As WinForm.ComboBox = e.Form.Controls("项目类型")
Dim dw As WinForm.ComboBox = e.Form.Controls("单位名称")
Dim mj As WinForm.ComboBox = e.Form.Controls("民警")
Dim k As WinForm.DateTimePicker = e.Form.Controls("开始时间")
Dim s As WinForm.DateTimePicker = e.Form.Controls("结束时间")
If s.Value <> Nothing Then
Tables("支出表").Filter = "日期 >= #" & k.Value & "# and 日期 <= #" & s.Value & "#"
Dim jg As  Integer = DataTables("支出表").Compute("Sum(金额)","[账目类型] like \'*" & lx.Text & "*\' and 所属单位 like \'*" & dw.Text & "*\'and 经手人 like \'*" &mj.Text & "*\'")
Dim zh As  Integer = Math.Abs(jg)
MessageBox.show("" & dw.Text & " " & mj.Text & " " & lx.Text & "  共计: " & zh & " 元")
Else
Tables("支出表").Filter = "账目类型 like \'*" & lx.Text & "*\' and 所属单位 like \'*" & dw.Text & "*\'and 经手人 like \'*" &mj.Text & "*\'"
Dim jg As  Integer = DataTables("刑侦大队支出表").Compute("Sum(金额)","[账目类型] like \'*" & lx.Text & "*\' and 所属单位 like \'*" & dw.Text & "*\'and 经手人 like \'*" &mj.Text & "*\'")
Dim zh As  Integer = Math.Abs(jg)
MessageBox.show("" & dw.Text & " " & mj.Text & " " & lx.Text & "  共发生: " & zh & " 元")
End If
[此贴子已经被作者于2013-12-9 23:24:33编辑过]

--  作者:程兴刚
--  发布时间:2013/12/9 23:34:00
--  

If s.Value <> Nothing Then ‘改为

If s.Value <> Nothing  and k.Value <> nothing Then