以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 求助 一段关于筛选的代码 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=12628) |
||||
-- 作者:zhan_n -- 发布时间:2011/9/9 15:56:00 -- 求助 一段关于筛选的代码 我在两个不同的表的两个不同窗口中都有部门选择的一个组合框,在“SelectedIndexChanged”事件中都有如下代码,结果在其中一个表可以正常筛选,另一个表则不可完成筛选,报错,我再用利用高级筛选中的表达式筛选项看生成的表达式,结果发现表达式结尾会少一个单引号,如: [部门] = \'仓管部 而这段代码在另一个表中又不会出这样的问题,请高手帮忙看一下这是怎么回事? Dim a As String
上传了项目文件!在“日常工作报告”表中会有问题,“工作发放记录”和“出勤记录”就没有问题,请狐狸老爹帮忙看看!
就是在表“日常工作报告”主窗口的“部门”选择时会报错!另外两表的“部门”选择正常,代码一样!这是为什么呢?
[此贴子已经被作者于2011-9-9 16:51:19编辑过]
|
||||
-- 作者:狐狸爸爸 -- 发布时间:2011/9/9 16:01:00 -- 代码没有看出问题,做个例子上来吧。 |
||||
-- 作者:zhan_n -- 发布时间:2011/9/9 16:40:00 -- 狐狸老爹,现在怎么不能把表单独另存出来啊?也不能导入其它项目中的表这样很不方便啊! |
||||
-- 作者:狐狸爸爸 -- 发布时间:2011/9/9 17:07:00 -- Dim a As String Dim b As String Dim c As String Dim d As Integer If CurrentTable.Filter = "" Then a = "" Else a = CurrentTable.Filter End If d = a.LastIndexOf("#") If d>0 Then If a = "" Then b = a c = a ElseIf a.Length = d+1 Then b = a & " " & "And" c = a ElseIf a.length > d+1 Then b = a.Remove(d+1) & " " & "And" c =a.Remove(d+1) End If Else b="" c="" End If Dim bm As String = e.Sender.Value If bm = "全部" Then CurrentTable.Filter = "" & c & "" Else CurrentTable.Filter = "" & b & " [部门] = \'" & bm & "\'" End If Dim cb As WinForm.ComboBox = e.Form.Controls("ComboBox2") Dim dr As DataRow dr = DataTables("员工信息").find("部门 = \'" & bm & "\'") If dr IsNot Nothing Then cb.ComboList = "全部|" & DataTables("员工信息").GetComboListString("姓名","[部门] = \'" & bm & "\'") & "" Else cb.ComboList = "全部|" & DataTables("员工信息").GetComboListString("姓名","[职务] <> \'总经理\'") & "" End If |
||||
-- 作者:狐狸爸爸 -- 发布时间:2011/9/9 17:55:00 -- 真正的问题出在Combox2的SelectedIndexChanged事件,你加一行代码就知道怎么回事:
Dim a As String |
||||
-- 作者:zhan_n -- 发布时间:2011/9/10 8:54:00 -- 谢谢狐狸老爹的及时帮助! 其它的两个表可以用又是怎么回事呢?代码一样的啊? 但问题出在哪我现在还是没有弄明白! |
||||
-- 作者:狐狸爸爸 -- 发布时间:2011/9/10 9:22:00 -- 你Combox1的SelectedIndexChanged事件代码中,下面红色为止多了一个空格。 CurrentTable.Filter = "" & b & " [部门] = \'" & bm & " \'"
可以导致你Combox2的SelectedIndexChanged运行中判断错误,去掉了一个单引号\' |
||||
-- 作者:zhan_n -- 发布时间:2011/9/10 9:31:00 -- 晕啊! 直接复制过来的怎么还会这样呢!昨天我也是找了半天的问题! 刚重新复制一下过来就又可以了!呵呵!看来是无意之过啊! 还是要多谢狐狸老爹积极解答!
|