Access交流中心

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

如何将隐藏的表显示出来

大洪  发表于:2009-07-24 15:05:51  
复制

数据库中的表没法显示出来,用"打开--选项--视图"勾选"隐藏对象"都不行,请问这个数据库用的是什么方法,怎样才可以把表显示出来.数据库有pscarloadXX,PSCust等表

 

Top
大洪 发表于:2009-07-24 15:07:04

忘记左上传附件现在上传

点击下载此附件

白发学者 发表于:2009-07-24 17:14:23

数据库中没有表当然就无法显示了,哈哈

 

用拆分数据库功能结果是:

 



叶海峰 发表于:2009-07-24 17:29:38
白发学者 发表于:2009-07-24 17:44:03

说出方法好让大家验证学习呀!别只给答案,后人不解。

 

水平真是有限还以为没有表,不好意思。

 



小魏 发表于:2009-07-24 21:54:30

新建一个AC文件.

在一个新建的模块中加入以下代码,

运行这段代码,

注意,需要提供你要破解数据库的完整跟径及密码,无密码就输入一个空值.

 

Function XianshiBiao(strDBdirName As String, strDBPWD As String)
'可用于显示外部数据库的表
On Error Resume Next

Dim appAccess As Access.Application
Dim DB As Database
 
'OpenCurrentDatabase
Dim strDB As String
    ' 将字符串初始化为数据库的路径。
    strDB = strDBdirName

    ' 创建 Microsoft Access 的实例。
    Set appAccess = CreateObject("Access.Application")
    ' 在 Microsoft Access 窗口中打开数据库。
    Set DB = appAccess.DBEngine.OpenDatabase(strDB, True, 0, ";PWD=")
    appAccess.OpenCurrentDatabase strDB
    'appAccess.Visible = True
    'appAccess.DoCmd.OpenForm "切换"
    'DB.CreateTableDef
    'DB.Recordsets
   
    Dim i As Integer
  
     Dim str1 As String
    DB.TableDefs.Refresh
    For i = 0 To DB.TableDefs.count - 1
     
        'CurrentDb.TableDefs(db.TableDefs(i).Name).Attributes = 1
        '
        str1 = DB.TableDefs(i).Name
       
       
        '此项操作应避开系统表,以免将系统表属性改而造成问题.
      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
       Debug.Print str1
       DB.TableDefs(i).Attributes = 0
       If DB.TableDefs(i).Name = "tmpUsers" Then
       'DB.TableDefs.Delete "用户表"
       'docmd.CopyObject (,"用户表",acTable,)
       'appAccess.Visible = True
       'appAccess.DoCmd.OpenTable "用户表"
      
       'appAccess.DoCmd.CopyObject , str1, acTable, str1
      
       End If
    End If

       
    Next i
    Set DB = Nothing
End Function



大洪 发表于:2009-07-25 14:35:41

谢谢yehf,fjfjb的解答,但是我想知道的是上面那个数据库是用什么方法隐藏表的?为什么我用“工具--选项--视图”在"隐藏对象"那打勾的方法不行,表还是没有显示出来,可以告诉我方法吗?谢谢



白发学者 发表于:2009-07-25 15:32:05

建好的模块后如何运行?

 

路径及密码是在运行时输入还是在代码中加入。



大洪 发表于:2009-07-25 16:12:38

问题已解决,谢谢。4楼,5楼的楼主!



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