以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]用户不同,数据显示不同,应如何编写代码?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=3378)

--  作者:jgc1010
--  发布时间:2009/7/1 12:52:00
--  [求助]用户不同,数据显示不同,应如何编写代码?

这里有14组用户,组名分别为01,02,至14。我的目标是想让01组的用户登录时,只能看到所有表中[qzh]字段=01的数据,即只显示组名与qzh的值相同的数据。而整个程序的表大概有10张,如ajk、tblwjk、zpaj、zpjn、cxaj、cxjn等表。代码应如何编制?


--  作者:yangming
--  发布时间:2009/7/1 13:33:00
--  
1.每张表中都加一列:qzh,然后根据不同用户加载不能数据
2.增加几个用户
3.表 DataColChanged 事件中
If e.DataCol.Name = "产品" Then \'
    If e.DataRow.IsNull("产品") Then \'
        e.DataRow("业务员") = Nothing \'
    Else
      e.DataRow("业务员") = User.Name
    End If
End If

4.在项目事件:BeforeLoadInnerTable
If e.DataTableName = "产品" AndAlso e.User.Name <> "开发者" Then
    e.Filter = "[业务员] = \'" & e.User.Name & "\'"
End If
[此贴子已经被作者于2009-7-1 13:34:20编辑过]

--  作者:roy78
--  发布时间:2009/7/1 14:13:00
--  
  在beforeloadinnettable事件中设置,以下仅提供思路,代码不全
 
If e.DataTableName = "表名" AndAlso e.User.Name = "权限组数据" Then


e.SelectString = "Select * From [表名] Where [qzh] =

End If

新手回贴,有错莫怪...
[此贴子已经被作者于2009-7-1 14:14:27编辑过]

--  作者:狐狸爸爸
--  发布时间:2009/7/1 14:47:00
--  
如果是内部表,请参考:
BeforeLoadInnerTable

如果是外部表,请参考:
BeforeLoadOuterTable

--  作者:jgc1010
--  发布时间:2009/7/2 22:26:00
--  

谢谢!我测试一下看看