以文本方式查看主题
- Foxtable(狐表) (http://foxtable.com/bbs/index.asp)
-- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2)
---- [求助]无法在 System.DateTime 和 System.String 上执行“>=”操作。 (http://foxtable.com/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
|