Access交流中心

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

[5分]禁止ACCESS表的导入与导出

彭海涛  发表于:2012-08-09 19:38:45  
复制

VBA有没有一种编程的方法让其他的ACCESS禁止导入目标ACCESS数据库的任何表?满意的答案立刻给5分……求关注,求解。

 

Top
煮江品茶 发表于:2012-08-09 21:03:17

把数据库中的表设置为隐藏即可



心态哥 发表于:2012-08-09 22:25:05
同上,

把数据库中的表设置为隐藏即可





叶海峰 发表于:2012-08-09 22:44:31
隐藏表也能导入吧...

菜鸟 发表于:2012-08-09 22:48:14
设密码就行了

彭海涛 发表于:2012-08-10 09:43:08

以上的回复都不能解决问题,首先,隐藏表后,新的ACCESS文件取消隐藏后仍能导入。其次,设置密码后,每次打开当前的数据库都要提示输入密码,相当的不方便,我并不要这种解决方式,麻烦大家再想想有没有别的方法。



煮江品茶 发表于:2012-08-10 14:20:42
在水一方 发表于:2012-08-10 14:40:19

拆分数据库,后台设置密码,前台ado方式连接后台,隐藏后台表,隐藏表方法如下:

 

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

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 Mid(db.TableDefs(i).name,0,4) <> "msys" Then      
       CurrentDb.TableDefs(db.TableDefs(i).name).Attributes = 1    '=0为显示表
    End If
    Next i
    Set db = Nothing
'MsgBox "当前数据库中的所有表格都已被隐藏."

End Function



dbaseIIIer 发表于:2012-08-11 17:35:45

以上各种方法,包括ado连接都会提高了点安全性,但是

 

当有任何一个显示数据的窗体

在可以查看的情况下,

有记录选择器的活,

我们都可以批量选择,然后选“复制”,然后再在 Excel 里面贴上的!

 

反正你在电脑操作,都可以 Ctrl-C 的了!

 

 

如果你画面不多,我建议你的做法是 调用 ImageMagick COM+ object,把要显示的数据都以图片来展示。

 

人家想拷,就等于截屏,只有一张图片;

你还要考虑的是,避免人家批量获取图片然后用OCR 软件获取信息,所以:

1. 每张生成的图片的 “位置”,即是空白的边框部分,每条记录都不同,

2. 最好加入混淆花纹

 

我这些的所有建议都可以用 VBA 实现的!



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