Foxtable(狐表)用户栏目专家坐堂 → 这段筛选代码为什么会报错?


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

主题:这段筛选代码为什么会报错?

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


加好友 发短信
等级:三尾狐 帖子:645 积分:4583 威望:0 精华:0 注册:2012/11/12 14:27:00
这段筛选代码为什么会报错?  发帖心情 Post By:2012/12/19 12:59:00 [只看该作者]

请专家指点,下面代码能正常输入,但执行时报错,如何修改

Dim qu As WinForm.ComboBox = e.Form.Controls("区")
Dim zxx As WinForm.ComboBox = e.Form.Controls("中小学")
Dim xx As WinForm.ComboBox = e.Form.Controls("学校")
Dim xm As WinForm.ComboBox = e.Form.Controls("项目")
Tables("报名表").Filter="区= '" & qu.Text & "'And 中小学like '*" & zxx.Text & "*'and 学校 like '*" & xx.Text & "*'and参赛项目like '*" & xm.Text & "*'"

 

只选择“区”提示:Syntax error: Missing operand after ''**'' operator.

选择“区”,“中小学”提示:Syntax error: Missing operand after ''*小学组*'' operator.


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


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2012/12/19 13:06:00 [只看该作者]

注意And和Like前后都要有空格的。
 
 Dim qu As WinForm.ComboBox = e.Form.Controls("区")
Dim zxx As WinForm.ComboBox = e.Form.Controls("中小学")
Dim xx As WinForm.ComboBox = e.Form.Controls("学校")
Dim xm As WinForm.ComboBox = e.Form.Controls("项目")
Tables("报名表").Filter="区= '" & qu.Text & "' And 中小学 like '*" & zxx.Text & "*' and 学校 like '*" & xx.Text & "*' and 参赛项目 like '*" & xm.Text & "*'"
 
如果还是不行,就用messagebox.show显示一下合成的条件表达式,看看是什么:
 
Dim qu As WinForm.ComboBox = e.Form.Controls("区")
Dim zxx As WinForm.ComboBox = e.Form.Controls("中小学")
Dim xx As WinForm.ComboBox = e.Form.Controls("学校")
Dim xm As WinForm.ComboBox = e.Form.Controls("项目")
Dim flt As String = "区= '" & qu.Text & "' And 中小学 like '*" & zxx.Text & "*' and 学校 like '*" & xx.Text & "*' and 参赛项目 like '*" & xm.Text & "*'"
MessageBox.Show(flt)
Tables("报名表").Filter= flt


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


加好友 发短信
等级:三尾狐 帖子:645 积分:4583 威望:0 精华:0 注册:2012/11/12 14:27:00
  发帖心情 Post By:2012/12/19 13:14:00 [只看该作者]

谢谢指教!

现在主表可以查询,但是窗口显示的表没有被驱动。

窗口绑定表是用代码生成的:

Tables(e.Form.Name & "_Table1").DataSource = DataTables("报名表")


Dim rgd As WinForm.RecordGrid = e.Form.Controls("RecordGrid1")
rgd.Table = Tables(e.Form.Name & "_Table1")
rgd.Columns = "编号|区|中小学|学校|姓名|参赛项目|设备频率|辅导教师"
rgd.Build()

[此贴子已经被作者于2012-12-19 13:29:13编辑过]

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


加好友 发短信
等级:狐神 帖子:6708 积分:34304 威望:0 精华:11 注册:2012/8/18 23:10:00
  发帖心情 Post By:2012/12/19 14:07:00 [只看该作者]

 因为这个是副本。你这样设置一下。

Tables(e.Form.Name & "_Table1").DataSource = DataTables("报名表")
Tables(e.Form.Name & "_Table1").Filter = Tables("报名表").Filter

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


加好友 发短信
等级:三尾狐 帖子:645 积分:4583 威望:0 精华:0 注册:2012/11/12 14:27:00
  发帖心情 Post By:2012/12/20 8:59:00 [只看该作者]

谢谢

!!!


 回到顶部