以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]如果,符合筛选条件的行不存在,加载就会出错!  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=91753)

--  作者:nbsfy3378
--  发布时间:2016/10/18 14:01:00
--  [求助]如果,符合筛选条件的行不存在,加载就会出错!
[求助]如果,符合筛选条件的行不存在,加载就会出错!
显示:
.NET Framework 版本:2.0.50727.3634
Foxtable 版本:2016.7.29.1
错误所在事件:加载[支出]失败!
详细错误信息:
至少一个参数没有被指定值。

怎么处理合适!


--  作者:有点蓝
--  发布时间:2016/10/18 14:19:00
--  
相关代码贴出来看看

如果是用系统菜单筛选的,上例子看看
[此贴子已经被作者于2016/10/18 14:19:45编辑过]

--  作者:nbsfy3378
--  发布时间:2016/10/18 14:24:00
--  
Dim jjxz As String=" [经营责任人] = \'" & user.Name & "\' or  [项目负责人] = \'"  _
& user.Name & "\' or  [项目总监] = \'" & user.Name & "\' or  [经办人] = \'" & user.Name & "\'"
If User.Type = UserTypeEnum.User Then
    For Each dr As DataRow In DataTables("授权表").Select("分组名 = \'" & User.Group & "\'" )
        With RibbonTabs("工作菜单").Groups("录入")
            If dr("员工") Like  "[AB]" Then                   \'"员工" 1
                .Items("员工").Enabled=True
            ElseIf dr("员工")  Like "[CD]"  Then
                .Items("员工").Enabled=True
                DataTables("员工").LoadFilter =xm \'用于重新加载
                DataTables("员工").Load
            Else
                .Items("员工").Enabled=False
            End If
            If dr("项目表") Like "[AB]"  Then                   \'"项目表"4
                .Items("项目表").Enabled=True
            ElseIf dr("项目表") Like "[CD]"   Then
                .Items("项目表").Enabled=True
                DataTables("项目表").LoadFilter =jxz  \'用于筛选加载
                DataTables("项目表").Load
            Else
                .Items("项目表").Enabled=False
            End If
            If dr("支出") Like "[AB]"  Then                   \'"支出"10
                .Items("支出").Enabled=True
            ElseIf dr("支出") Like "[CD]"  Then
                .Items("支出").Enabled=True
                DataTables("支出").LoadFilter =  jjxz \'用于筛选加载
                DataTables("支出").Load
            Else
                .Items("支出").Enabled=False
            End If
            
        End With
    Next
End If

--  作者:nbsfy3378
--  发布时间:2016/10/18 14:25:00
--  
LoadUserSetting事件
在支出表,
经营责任人、项目负责人等列都没有登陆人时,这些行不加载!
有种情况是,没有一行是符合条件的!
那就是说加载一个空表!
就出错了!
[此贴子已经被作者于2016/10/18 14:28:20编辑过]

--  作者:有点蓝
--  发布时间:2016/10/18 15:07:00
--  
msgbox(jjxz)弹出看看什么内容
--  作者:nbsfy3378
--  发布时间:2016/10/19 8:51:00
--  
 [经营责任人] =\'庄志来\'  or  [项目负责人] =\'庄志来\' or  [项目总监] =\'庄志来\'  or  [经办人] =\'庄志来\'

截图传不上!
这是msgbox(jjxz)弹出的内容!
我查了下,表中,是没有符合条件的行!


--  作者:有点蓝
--  发布时间:2016/10/19 9:54:00
--  
没有符合条件的行也不会出错,确认 DataTables("支出")表有4楼中的这4个列
--  作者:nbsfy3378
--  发布时间:2016/10/19 10:51:00
--  
 确实如此,加上有该名字的一行,还是出错!
但是我查了,这四列都有的!

--  作者:有点蓝
--  发布时间:2016/10/19 11:08:00
--  
只能上例子看看了
--  作者:nbsfy3378
--  发布时间:2016/10/19 11:22:00
--  
找到原因了,好像是因为那几列是表达式列!
我在命令窗口,测试,表达式列,就有这个问题!其他列就没事!
[此贴子已经被作者于2016/10/19 11:23:09编辑过]