以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  这段筛选代码为什么会报错?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=26988)

--  作者:wsxdwh
--  发布时间: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.


--  作者:狐狸爸爸
--  发布时间: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
--  发布时间: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
--  发布时间:2012/12/19 14:07:00
--  
 因为这个是副本。你这样设置一下。

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

--  作者:wsxdwh
--  发布时间:2012/12/20 8:59:00
--  

谢谢

!!!