Access交流中心

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

链接表的删除

BaoChengReng  发表于:2014-08-13 18:44:53  
复制

链接表管理器有没有管控功能,比如不能给本身进行链接,但实际上它不能管控,无论是手工,或是用VBA语句,都能链接,
偶然发现我的链接表中增加不少本库表的链接,这个不合常理,不知道怎么产生的,我想删除它,用手工当然可以删除,但是我想多了解一些。
前些日子几位高手已经介绍不少方法,如
For Each tdf In dbs.TableDefs
    If tdf.Name = 链接表a Then dbs.Execute "DROP TABLE " & 链接表A & ";"
Next tdf
但多无法删除,请教,在这种情况下语句应该怎么写。

 

Top
竹笛 发表于:2014-08-13 20:40:06

docmd.setwarning false

docmd.RunSQL "DROP TABLE 表名称"



BaoChengReng 发表于:2014-08-14 10:42:16
版主:谢谢你!
您提供的方法,在本地库中运作有效果
sFil = Me.List60.Column(0)
For Each tdf In dbs.TableDefs
    If tdf.Name = sFil Then DoCmd.RunSQL "DROP TABLE " & sFil & ";"
Next tdf
但是这个链接表作为后台库,我在前台用如下语句恰不能删除,
Dim appAccess As Object
Set appAccess = CreateObject("Access.Application")
appAccess.OpenCurrentDatabase 链接表库
appAccess.Application.Visible = False
appAccess.DoCmd.RunSQL "DROP TABLE " & sFil & ";"
(或者appAccess.DoCmd.DeleteObject acTable, sFil)
appAccess.Quit
Set appAccess = Nothing
因为这是偶发事件,按常理不会将本地表再链接到自身。不知道为什么没有报错,只是好奇进行探讨。谢谢!




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