以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]数据库转换后权限的设置  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=95992)

--  作者:紫色幽魂
--  发布时间:2017/2/10 10:04:00
--  [求助]数据库转换后权限的设置
请教下我将数据库从内部数据库转换到外部SQLserver数据库后原来的权限用不了了,都会全部加载出来,请问下这个要怎么改
Dim tns As String = DataTables("授权表").SQLGetComboListString("表名","用户名 = \'" & User.Name & "\' and 加载表 = true")
If tns > "" Then
    DataTables.Load(tns)
    For Each dr As DataRow In DataTables("授权表").SQLSelect("用户名 = \'" & User.Name & "\' and 加载表 = true" )
        If dr.IsNull("列名") Then
            Tables(dr("表名")).Visible = Not dr("不可见")
            Tables(dr("表名")).AllowEdit = Not dr("不可编辑")
        Else
            Dim t As Table = Tables(dr("表名"))
            t.Cols(dr("列名")).Visible = Not dr("不可见")
            t.Cols(dr("列名")).AllowEdit = Not dr("不可编辑")
        End If
    Next
End If

--  作者:有点色
--  发布时间:2017/2/10 10:06:00
--  
Dim tns As String = DataTables("授权表").SQLGetComboListString("表名","用户名 = \'" & User.Name & "\' and 加载表 = 1")
If tns > "" Then
    msgbox(1)
    DataTables.Load(tns)
    For Each dr As DataRow In DataTables("授权表").SQLSelect("用户名 = \'" & User.Name & "\' and 加载表 = 1" )
        msgbox(dr("表名"))
        If dr.IsNull("列名") Then
            Tables(dr("表名")).Visible = Not dr("不可见")
            Tables(dr("表名")).AllowEdit = Not dr("不可编辑")
        Else
            Dim t As Table = Tables(dr("表名"))
            t.Cols(dr("列名")).Visible = Not dr("不可见")
            t.Cols(dr("列名")).AllowEdit = Not dr("不可编辑")
        End If
    Next
End If

--  作者:紫色幽魂
--  发布时间:2017/2/10 10:10:00
--  回复:(有点色)Dim tns As String = DataTables("...
除了提示加载的表名外还有一个[入库]已加载的提示,最后全部表都会显示,第一个窗口显示的是1
[此贴子已经被作者于2017/2/10 10:11:15编辑过]

--  作者:有点色
--  发布时间:2017/2/10 10:13:00
--  

Dim tns As String = DataTables("授权表").SQLGetComboListString("表名","用户名 = \'" & User.Name & "\' and 加载表 = 1")
If tns > "" Then
    If DataTables.Contains(tns) = False Then DataTables.Load(tns)
    For Each dr As DataRow In DataTables("授权表").SQLSelect("用户名 = \'" & User.Name & "\' and 加载表 = 1" )
        If dr.IsNull("列名") Then
            Tables(dr("表名")).Visible = Not dr("不可见")
            Tables(dr("表名")).AllowEdit = Not dr("不可编辑")
        Else
            Dim t As Table = Tables(dr("表名"))
            t.Cols(dr("列名")).Visible = Not dr("不可见")
            t.Cols(dr("列名")).AllowEdit = Not dr("不可编辑")
        End If
    Next
End If


--  作者:紫色幽魂
--  发布时间:2017/2/10 10:22:00
--  回复:(有点色)Dim tns As String = DataTables("授...
会提示【出库】已加载,确定后全部显示出来
--  作者:有点色
--  发布时间:2017/2/10 10:32:00
--  

 1、把你beforeLoadInnerTable的代码拷贝到BeforeLoadOuterTable

 

 2、4楼代码不变,重新打开项目。

 

 


--  作者:紫色幽魂
--  发布时间:2017/2/10 10:42:00
--  回复:(有点色) 1、把你beforeLoadInnerTable的...
谢谢,没有注意到犯了这种错误,还有个问题请教下,我从内部数据表导出ACC数据库,定义外部数据表SQL完成后ACC导入数据为什么有的表的数据增加了差不多一倍,每个都多增加了一个,但有的数据表又没有多增加,而且数据多增加的表有少部分也没有多增加
--  作者:有点色
--  发布时间:2017/2/10 10:44:00
--  

1、把数据都删除;

 

2、按住ctrl不放打开项目,重新合并数据。

 

3、数据是不可能无缘无故变多的。


--  作者:紫色幽魂
--  发布时间:2017/2/12 10:21:00
--  回复:(有点色)Dim tns As String = DataTables("授...
再请教下,原来内部数据源的时候在授权表里没有对应的用户名和表名称是不会加载的,为什么现在启用外部数据源的时候加载 了呢,这个需要怎么修改?
有的账户登录正常,有的登录会提示某个表不存在,但是授权的时候是可以加载的,确定后会出现错误提示框,然后就关闭了
[此贴子已经被作者于2017/2/12 10:27:56编辑过]

--  作者:有点色
--  发布时间:2017/2/12 11:30:00
--  
 提示表不存在,说明你授权表的数据有问题,你表名或列名写错了。