Foxtable(狐表)用户栏目专家坐堂 → [求助]老师看下代码错在哪?


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

主题:[求助]老师看下代码错在哪?

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


加好友 发短信
等级:五尾狐 帖子:1105 积分:8967 威望:0 精华:0 注册:2014/10/25 11:24:00
[求助]老师看下代码错在哪?  发帖心情 Post By: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
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/12/29 14:00:00 [只看该作者]

e.Form.Controls("DateTimePicker_日期").Value= Nothing  ‘这

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/12/29 14:00:00 [只看该作者]

e.Form.Controls("DateTimePicker_日期").Value = Nothing

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


加好友 发短信
等级:五尾狐 帖子:1105 积分:8967 威望:0 精华:0 注册:2014/10/25 11:24:00
  发帖心情 Post By: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
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/12/29 14:12:00 [只看该作者]

ables("生产记录表").Filter="[日期] = #" & e.Sender.Value & "#"

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/12/29 14:16:00 [只看该作者]

 日期都要用#号包裹

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


加好友 发短信
等级:五尾狐 帖子:1105 积分:8967 威望:0 精华:0 注册:2014/10/25 11:24:00
  发帖心情 Post By: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
错误所在事件:
详细错误信息:
表达式包含无效的日期常量“##”。


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By: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
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1105 积分:8967 威望:0 精华:0 注册:2014/10/25 11:24:00
  发帖心情 Post By: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

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/12/29 14:27:00 [只看该作者]

 不应该,能执行就好。

 回到顶部
总数 12 1 2 下一页