Foxtable(狐表)用户栏目专家坐堂 → 根据不同的权限 加载不同的数据 请教


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

主题:根据不同的权限 加载不同的数据 请教

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


加好友 发短信
等级:幼狐 帖子:148 积分:968 威望:0 精华:0 注册:2013/11/30 12:30:00
根据不同的权限 加载不同的数据 请教  发帖心情 Post By:2013/12/23 16:26:00 [只看该作者]

如果要 经理组 和拥有审核权限的人   打开窗口的时候 加载复核人为空的列    ,二其他人不加载任何列
图片点击可在新窗口打开查看此主题相关图片如下:qq图片20131223162401.jpg
图片点击可在新窗口打开查看

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/12/23 16:30:00 [只看该作者]

根据权限设置  filter="复核人 is null" 即可

例如 
if user.group="经理" then
    talbes("XX"). filter="复核人 is null"
else
   talbes("XX"). filter="_Identify is null"
end if

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


加好友 发短信
等级:幼狐 帖子:148 积分:968 威望:0 精华:0 注册:2013/11/30 12:30:00
  发帖心情 Post By:2013/12/23 16:47:00 [只看该作者]

我的外部数据表  初始不加载任何数据 我查询的时候 为什么 就查不出来了呢

If dc.DataCol.IsDate OrElse dc.DataCol.IsBoolean OrElse dc.DataCol.IsNumeric Then  '如果是时间列,逻辑列,数值列
        Continue For    '排除
    End If
    If Filter > "" Then
        Filter  = Filter & " Or "
    End If
    Filter = Filter  & "[" & dc.Name & "] Like '*" & T & "*'"    '根据控件值迷糊筛选
    With e.Form.Controls("起始日期")
        If .Value IsNot Nothing Then
            If Filter >"" Then
                Filter = Filter & " And "
            End If
            Filter = Filter & "收款日期 >= #" & .Value & "#"
        End If
    End With
    With e.Form.Controls("终止日期")
        If .Value IsNot Nothing Then
            If Filter >"" Then
                Filter = Filter & " And "
            End If
            Filter = Filter & "收款日期 <= #" & .Value & "#"
        End If
    End With
    If Filter > "" Then
        Tables("收款登记").Filter = Filter  '将数据筛选出来
    End If
Next

Tables("收款登记").Filter = Filter  '将数据筛选出来


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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/12/23 16:51:00 [只看该作者]

不加载数据,就没数据,还查询什么?

应该把数据加载出来才对

DataTables("收款登记").LoadFilter=Filter
DataTables("收款登记").load

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


加好友 发短信
等级:幼狐 帖子:148 积分:968 威望:0 精华:0 注册:2013/11/30 12:30:00
  发帖心情 Post By:2013/12/23 16:58:00 [只看该作者]

Dim T As String = e.form.Controls("textbox1").Value '定义控件的值
Dim Filter As String  '定义筛选
For Each dc As Col In Tables("收款登记").Cols '遍历表的所有列
    If dc.DataCol.IsDate OrElse dc.DataCol.IsBoolean OrElse dc.DataCol.IsNumeric Then  '如果是时间列,逻辑列,数值列
        Continue For    '排除
    End If
    If Filter > "" Then
        Filter  = Filter & " Or "
    End If
    Filter = Filter  & "[" & dc.Name & "] Like '*" & T & "*'"    '根据控件值迷糊筛选
    With e.Form.Controls("起始日期")
        If .Value IsNot Nothing Then
            If Filter >"" Then
                Filter = Filter & " And "
            End If
            Filter = Filter & "收款日期 >= #" & .Value & "#"
        End If
    End With
    With e.Form.Controls("终止日期")
        If .Value IsNot Nothing Then
            If Filter >"" Then
                Filter = Filter & " And "
            End If
            Filter = Filter & "收款日期 <= #" & .Value & "#"
        End If
    End With
    If Filter > "" Then
        Tables("收款登记").Filter = Filter  '将数据筛选出来
    End If

Next
Tables("收款登记").Filter = Filter  '将数据筛选出来
DataTables("收款登记").LoadFilter= Filter
DataTables("收款登记").load
Dim s As Table = Tables("收款登记")
Dim g As Subtotalgroup
s.SubtotalGroups.Clear()
s.GroupAboveData = False
s.TreeVisible = False
s.SpillNode = True

g = New Subtotalgroup
g.Aggregate = AggregateEnum.Sum
g.GroupOn = "收款日期"
g.TotalOn = "实收金额,折合人民币"
g.Caption = "{0}月 小计"
g.DateGroup = DateGroupEnum.Month
s.SubtotalGroups.Add(g)

g = New Subtotalgroup
g.Aggregate = AggregateEnum.Sum
g.GroupOn = "收款日期"
g.TotalOn = "实收金额,折合人民币"
g.Caption = "{0}月 累计"
g.DateGroup = DateGroupEnum.Month
g.upto = True
s.SubtotalGroups.Add(g)
s.Subtotal()


图片点击可在新窗口打开查看此主题相关图片如下:qq图片20131223165654.jpg
图片点击可在新窗口打开查看

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/12/23 16:59:00 [只看该作者]

如果是MSSQL 把井号 改为单引号

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


加好友 发短信
等级:幼狐 帖子:148 积分:968 威望:0 精华:0 注册:2013/11/30 12:30:00
  发帖心情 Post By:2013/12/23 17:01:00 [只看该作者]

语句没有错误  了   但是查询之后 还是没有数据显示

[此贴子已经被作者于2013-12-23 17:05:58编辑过]

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


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

 筛选和加载的条件不能通用

Dim T As String = e.form.Controls("textbox1").Value '定义控件的值
Dim Filter As String  '定义筛选
For Each dc As Col In Tables("收款登记").Cols '遍历表的所有列
    If dc.DataCol.IsDate OrElse dc.DataCol.IsBoolean OrElse dc.DataCol.IsNumeric Then  '如果是时间列,逻辑列,数值列
        Continue For    '排除
    End If
    If Filter > "" Then
        Filter  = Filter & " Or "
    End If
    Filter = Filter  & "[" & dc.Name & "] Like '*" & T & "*'"    '根据控件值迷糊筛选
    With e.Form.Controls("起始日期")
        If .Value IsNot Nothing Then
            If Filter >"" Then
                Filter = Filter & " And "
            End If
            Filter = Filter & "收款日期 >= #" & .Value & "#"
        End If
    End With
    With e.Form.Controls("终止日期")
        If .Value IsNot Nothing Then
            If Filter >"" Then
                Filter = Filter & " And "
            End If
            Filter = Filter & "收款日期 <= #" & .Value & "#"
        End If
    End With
    If Filter > "" Then
        Tables("收款登记").Filter = Filter  '将数据筛选出来
    End If

Next
Tables("收款登记").Filter = Filter  '将数据筛选出来
DataTables("收款登记").LoadFilter= Filter.replace("#", "'").replace("*", "%")
DataTables("收款登记").load


 回到顶部