Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

表及链接表隐藏不被导出

强  发表于:2009-02-10 11:30:15  
复制

有没有高手可以帮忙,把以下只对表起隐藏不被导出作用的代码,修正成也对链接表也起作用的

 

Sub asdfasdfa() '隐藏
    For Each tabdef In CurrentDb.TableDefs
        Debug.Print tabdef.Name
        Debug.Print tabdef.Attributes
        If tabdef.Attributes = 0 Then
            tabdef.Attributes = 1
        End If
    Next
End Sub

Sub asdfasdfa1() '显示
    For Each tabdef In CurrentDb.TableDefs
        Debug.Print tabdef.Name
        Debug.Print tabdef.Attributes
        If tabdef.Attributes = 1 Then
            tabdef.Attributes = 0
        End If
    Next
End Sub

 

Top
朱维强 发表于:2009-02-11 09:00:31

已解决,如下:

Function chediyincangbiao()     '彻底隐蔽所有的表格包括链接表及系统表等

On Error GoTo Err_Command0_Click
Dim db As Database
Dim i As Integer
    Set db = DBEngine.Workspaces(0).Databases(0)
   
    db.TableDefs.Refresh
    For i = 0 To db.TableDefs.Count - 1
    '此项操作应避开系统表,以免将系统表属性改而造成问题.
      If db.TableDefs(i).name = "msysaccessobjects" or db.TableDefs(i).name = "MSYSACCESSXML" _
      or db.TableDefs(i).name = "MSYSACES" or db.TableDefs(i).name = "MSYSOBJECTS" _
      or db.TableDefs(i).name = "MSYSQUERIES" or db.TableDefs(i).name = "MSYSRELATIONSHIPS" Then
     
    Else
       CurrentDb.TableDefs(db.TableDefs(i).name).Attributes = 1
    End If
    Next i
    Set db = Nothing
MsgBox "当前数据库中的所有表格都已被隐藏."

Exit_Command0_Click:
    Exit Function

Err_Command0_Click:
    MsgBox Err.Description
    Resume Exit_Command0_Click

End Function



总记录:1篇  页次:1/1 9 1 :