Foxtable(狐表)用户栏目专家坐堂 → 我在窗口学习编写以下代码,提示错误


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

主题:我在窗口学习编写以下代码,提示错误

美女呀,离线,留言给我吧!
mxy8898
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:51 积分:448 威望:0 精华:0 注册:2018/2/3 11:13:00
我在窗口学习编写以下代码,提示错误  发帖心情 Post By:2018/3/19 22:57:00 [只看该作者]

错误1:输入第02 列内容后提示以下错误,表达式错误,如果第02列不输入不提示错误

.NET Framework 版本:2.0.50727.8669
Foxtable 版本:2018.3.9.1
错误所在事件:
详细错误信息:
表达式中有语法错误。

 

错误2:日期我搜索的是2017-01-01 到 2017-03-01来搜索,智能搜索到2017-01-01数据,无法搜索到02、03月数据,数据库中有02、03月

 

 

Dim nms() As String = {"ComboBox1","ComboBox2","ComboBox3","DateTimePicker1","DateTimePicker1"} '所有输入口使用STRING表示
Dim sps() As String = {"',","'","'","#","#"} '输入框使用'表示,日期使用#表示,双引号引用,逗号分开
Dim bjf() As String = {"=","=","=",">=","<="} '定义每个输入口搜索范围
Dim fds() As String = {"第02","第06","第05","年份日期","年份日期"}
Dim filter As String
For i As Integer = 0 To nms.Length -1
    If e.Form.Controls(nms(i)).Value IsNot Nothing Then
        If filter > "" Then
            filter = filter & " and "
        End If
        filter = filter & fds(i) & bjf(i) & sps(i) & e.Form.Controls(nms(i)).Value & sps(i)
    End If
Next
 ' 后面代码验证以上内容是否正确 = MessageBox.show(filter) '以上搜索按钮内容
Tables("水质检测原始数据").filter = filter

e.form.controls("DateTimePicker1").Select() '返回输入口


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


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/3/19 23:05:00 [只看该作者]

MessageBox.show(filter)显示的完整表达式是什么内容?

 回到顶部
美女呀,离线,留言给我吧!
mxy8898
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:51 积分:448 威望:0 精华:0 注册:2018/2/3 11:13:00
  发帖心情 Post By:2018/3/19 23:22:00 [只看该作者]

这行代码用 '了,是不删除,留着检查以上内容是否有错。是有影响吗

试过:删除  ' 后面代码验证以上内容是否正确 = MessageBox.show(filter) '以上搜索按钮内容也不行,提示表达式错误

[此贴子已经被作者于2018/3/19 23:33:58编辑过]

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


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

改成这样

 

Dim nms() As String = {"ComboBox1","ComboBox2","ComboBox3","DateTimePicker1","DateTimePicker2"} '所有输入口使用STRING表示
Dim sps() As String = {"'","'","'","#","#"} '输入框使用'表示,日期使用#表示,双引号引用,逗号分开
Dim bjf() As String = {"=","=","=",">=","<="} '定义每个输入口搜索范围
Dim fds() As String = {"第02","第06","第05","年份日期","年份日期"}
Dim filter As String
For i As Integer = 0 To nms.Length -1
    If e.Form.Controls(nms(i)).Value IsNot Nothing Then
        If filter > "" Then
            filter = filter & " and "
        End If
        filter = filter & fds(i) & bjf(i) & sps(i) & e.Form.Controls(nms(i)).Value & sps(i)
    End If
Next
MessageBox.show(filter)
Tables("水质检测原始数据").filter = filter

e.form.controls("DateTimePicker1").Select() '返回输入口


 回到顶部
美女呀,离线,留言给我吧!
mxy8898
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:51 积分:448 威望:0 精华:0 注册:2018/2/3 11:13:00
  发帖心情 Post By:2018/3/20 12:43:00 [只看该作者]

图片点击可在新窗口打开查看强大。

 回到顶部