以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]老师看下代码错在哪? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=62288) |
-- 作者:huangfanzi -- 发布时间:2014/12/29 13:57:00 -- [求助]老师看下代码错在哪? e.Form.Controls("DateTimePicker_日期").Text = Nothing ‘这一句有错误 e.Form.Controls("ComboBox_审核").Text = Nothing ‘这一句没有错误 错误提示: .NET Framework 版本:2.0.50727.6421 Foxtable 版本:2014.10.23.1 错误所在事件: 详细错误信息: 无法在 System.DateTime 和 System.String 上执行“=”操作。 [此贴子已经被作者于2014-12-29 13:58:25编辑过]
|
-- 作者:Bin -- 发布时间:2014/12/29 14:00:00 -- e.Form.Controls("DateTimePicker_日期").Value= Nothing ‘这 |
-- 作者:有点甜 -- 发布时间:2014/12/29 14:00:00 -- e.Form.Controls("DateTimePicker_日期").Value = Nothing |
-- 作者:huangfanzi -- 发布时间:2014/12/29 14:06:00 -- 还是错的,我感觉错误的代码是在另一段造成的,我把详细详细情况说下: 窗口中有一清除筛选按钮,代码如下: e.Form.Controls("DateTimePicker_日期").Value = Nothing e.Form.Controls("ComboBox_卷号").value = Nothing e.Form.Controls("ComboBox_审核").Text = Nothing Tables("生产记录表").Filter = "" 有一日期输入框,ValueChanged 的代码如下: If e.Form.Controls("CheckBox_联动筛选").Checked = True Then Dim rq As WinForm.DateTimePicker = e.Form.Controls("DateTimePicker_日期") Dim jh As WinForm.ComboBox = e.Form.Controls("ComboBox_卷号") Dim sh As WinForm.ComboBox = e.Form.Controls("ComboBox_审核") jh.ComboList = DataTables("生产记录表").GetComboListString("卷号","日期= \'" & rq.value & "\'" ) Tables("生产记录表").Filter="[日期] = \'" & e.Sender.Value & "\'" Else e.Form.Controls("ComboBox_卷号").Value = Nothing e.Form.Controls("ComboBox_审核").Value = Nothing Tables("生产记录表").Filter="[日期] = \'" & e.Sender.Value & "\'" End If |
-- 作者:Bin -- 发布时间:2014/12/29 14:12:00 -- ables("生产记录表").Filter="[日期] = #" & e.Sender.Value & "#" |
-- 作者:有点甜 -- 发布时间:2014/12/29 14:16:00 -- 日期都要用#号包裹 |
-- 作者:huangfanzi -- 发布时间:2014/12/29 14:20:00 -- 原方法可以按日期进行筛选的,只是点了清除筛选才会出错,按老师的方法改,依旧是点了清除筛选后出错,但出现了不同的错误提示。 If e.Form.Controls("CheckBox_联动筛选").Checked = True Then Dim rq As WinForm.DateTimePicker = e.Form.Controls("DateTimePicker_日期") Dim jh As WinForm.ComboBox = e.Form.Controls("ComboBox_卷号") Dim sh As WinForm.ComboBox = e.Form.Controls("ComboBox_审核") jh.ComboList = DataTables("生产记录表").GetComboListString("卷号","日期= \'" & rq.value & "\'" ) Tables("生产记录表").Filter="[日期] = #" & e.Sender.Value & "#" Else e.Form.Controls("ComboBox_卷号").Value = Nothing e.Form.Controls("ComboBox_审核").Value = Nothing Tables("生产记录表").Filter="[日期] = #" & e.Sender.Value & "#" End If .NET Framework 版本:2.0.50727.6421 Foxtable 版本:2014.10.23.1 错误所在事件: 详细错误信息: 表达式包含无效的日期常量“##”。 |
-- 作者:有点甜 -- 发布时间:2014/12/29 14:21:00 -- If e.Sender.Text <> Nothing Then If e.Form.Controls("CheckBox_联动筛选").Checked = True Then Dim rq As WinForm.DateTimePicker = e.Form.Controls("DateTimePicker_日期") Dim jh As WinForm.ComboBox = e.Form.Controls("ComboBox_卷号") Dim sh As WinForm.ComboBox = e.Form.Controls("ComboBox_审核") jh.ComboList = DataTables("生产记录表").GetComboListString("卷号","日期=#" & rq.value & "#") Tables("生产记录表").Filter="[日期] = #" & e.Sender.Text & "#" Else e.Form.Controls("ComboBox_卷号").Value = Nothing e.Form.Controls("ComboBox_审核").Value = Nothing Tables("生产记录表").Filter="[日期] = #" & e.Sender.Text & "#" End If End If
|
-- 作者:huangfanzi -- 发布时间:2014/12/29 14:26:00 -- 搞定了,但我感觉原来错误的地方是由老师新加的第一个IF判断解决的,’ 改成 # 并不是主要原因,因为我尝试了下,用以下代码一样能正确执行,老师看看这是为什么? If e.Sender.Text <> Nothing Then If e.Form.Controls("CheckBox_联动筛选").Checked = True Then Dim rq As WinForm.DateTimePicker = e.Form.Controls("DateTimePicker_日期") Dim jh As WinForm.ComboBox = e.Form.Controls("ComboBox_卷号") Dim sh As WinForm.ComboBox = e.Form.Controls("ComboBox_审核") jh.ComboList = DataTables("生产记录表").GetComboListString("卷号","日期=\'" & rq.value & "\'") Tables("生产记录表").Filter="[日期] = \'" & e.Sender.Text & "\'" Else e.Form.Controls("ComboBox_卷号").Value = Nothing e.Form.Controls("ComboBox_审核").Value = Nothing Tables("生产记录表").Filter="[日期] = \'" & e.Sender.Text & "\'" End If End If |
-- 作者:有点甜 -- 发布时间:2014/12/29 14:27:00 -- 不应该,能执行就好。 |