Office中国论坛/Access中国论坛

标题: 菜鸟紧急求救~做了2个数据库,怎样才能够变成可执行文件 [打印本页]

作者: 45275333    时间: 2007-6-7 23:52
标题: 菜鸟紧急求救~做了2个数据库,怎样才能够变成可执行文件
做了2个数据库,怎样才能够变成可执行文件,让别人只能用数据库而看不到数据库的里面的结构呢?比如表,窗体啊什么的都不能看见

[此贴子已经被作者于2007-6-8 10:14:34编辑过]


作者: 一点通    时间: 2007-6-8 06:54
请将标题修改,写出简要内容
作者: poly    时间: 2007-6-8 11:25
我也想知道
作者: wang1950317    时间: 2007-6-8 15:37
网上可以搜索到打包软件!
作者: 45275333    时间: 2007-6-8 18:19
什么打包软件啊?楼上的能详细点么?
作者: goto2008    时间: 2007-6-8 18:25
以下是引用wang1950317在2007-6-8 7:37:00的发言:
网上可以搜索到打包软件!



打包完,

安装后,还不是照样可以看到MDE里的表,窗体,查询。。。
作者: 45275333    时间: 2007-6-8 18:28
看到大家上传的数据库都是看不到源代码啊 表啊 窗体啊什么的呀~ 不是很多人都知道嘛?谁回答下嘛~万分感激啊,我实在太菜了[em04]
作者: 一点通    时间: 2007-6-8 18:48
最常用最简单的方法是编译成MDE文件
作者: 45275333    时间: 2007-6-8 18:57
生成MDE文件出错~ 说是“请将库存管理系统转成当前版本再生成”当前版本是什么意思啊?
作者: 45275333    时间: 2007-6-8 19:23
知道的回答下嘛[em04]
作者: wanshan    时间: 2007-6-8 19:43
工具-数据库实用工具-转换数据库-……
作者: 45275333    时间: 2007-6-8 20:00
谢谢楼上的,我已经试过了 可是转化失败 提示无法转换 说要先转成当前版本 不懂
作者: wanshan    时间: 2007-6-8 20:08
在数据库主窗口上找找,类似与  db1:数据库 (access 2000 文件格式),看看你的数据库文件是什么版本?然后看看你用的access是什么版本,转换成跟你用的access一样的版本即可……
作者: 45275333    时间: 2007-6-8 21:00
标题: 转化失败
此错误通常与将大型数据库编译到 MDE 文件有关。由于用于编译数据库的方法的原因,每一张表都创建了相当多的 TableID 引用。Microsoft Jet 数据库引擎版本 4.0 一次最多只能创建 2048 个开放式 TableID。如果数据库有大量对象(表、宏、窗体、报表等等),则将数据库导出为 MDE 可能会超出此限制。
There is no accurate method to estimate the number of 没有适当的方法估算 Jet 数据库引擎在将数据库编译为 MDE 过程中使用的 TableID 数。但是每个 VBA 模块和每个窗体都使用一个 TableID,因此,如果数据库有 500 个窗体,并且每个窗体的 HasModule 属性都设置为“是”,则就等于使用 1000 个 TableID。
作者: wanshan    时间: 2007-6-8 21:03
建议:新建一个数据库,导入原数据库所有的对象和关系,转换一下数据库,编译一下,如果通过了,一般转mde没什么问题。

如果还不行,请上传示例……
作者: 45275333    时间: 2007-6-8 21:08
请问如何上传?
作者: wanshan    时间: 2007-6-8 21:18
1.点击回复按钮;

2.仔细找找……
作者: 45275333    时间: 2007-6-8 21:31
标题: 谢谢你啊 我上传数据库试试
:文件大小超过了限制 1500KB 已经压缩了的
作者: 45275333    时间: 2007-6-8 21:31
wanshan 真的谢谢你了
作者: wanshan    时间: 2007-6-8 21:35
1.工具-数据库实用工具-压缩和修复数据库

2.用WinRAR压缩一下

3.如果还超过,就删掉一部分数据
作者: 45275333    时间: 2007-6-8 21:46
标题: 可以上传了
[attach]24831[/attach]
你顺便帮我弄成可执行文件吧 万分感谢啊 然后再麻烦教教我

[此贴子已经被作者于2007-6-8 13:46:59编辑过]


作者: wanshan    时间: 2007-6-8 22:13
代码有问题,编译的时候通不过,不可生成mde,附件中已经修改过了!

至于生成exe文件,在access中是不现实的,不能脱离access环境而运行。网上的打包工具也是将保证access运行需要的必要的东西一起打包,到客户机上再释放出来。这个需要开发版的access,我这里没有。不过好在大部分电脑都装了ACCESS,如果没有装一个也不是很麻烦……[attach]24832[/attach]

作者: dzh-1976    时间: 2007-6-9 01:43
先把窗体这些东西隐藏,然后把一个主界面(一运行就打开的那个比如说窗体)作"启动"用,用"工具"--"启动"(在做这些之前最好先复制下这个数据库到别的盘),然后在里面设置就可以了.把那些复选框前的勾去掉.
作者: 45275333    时间: 2007-6-9 01:50
wanshan  dzh-1976谢谢你们哦~
作者: ssjl001    时间: 2008-6-24 12:01
这样的话,我干嘛用access呢?我换别的数据库软件不就行了。哎……浪费感情!
作者: hayhay    时间: 2008-6-29 19:54
学习也是一种乐趣,多实践才会有提高
作者: jjli2008    时间: 2008-6-30 16:46
标题: 回复 9# 的帖子
生成MDE文件出错,是因为数据库表的版本与程序版本不一致造成的,如数据表是ACCESS2000格式的,而程序是ACCESS2003做出来的,那么就不能直接编译成MDE文件,必须将数据表先生成ACCESS2003.或者使用ACCESS2000进行编译。

如果想隐藏源码,可以使用以下这段代码,并做一个autorun的宏让它自动运行。这个是用来禁用shift的键的,否则别人在打开程序时按shift就可以看到你的窗体、报表的设计了。

宏设置Runcode    ChangeProperty("AllowBypassKey", 1, False)
模板中加入以下函数。
Function ChangeProperty(strPropName As String, varPropType As Variant, varPropvalue As Variant) As Integer
Dim dbs As Object, prp As Variant
Const conPropNotFoundError = 3270 '没有找到属性的错误常量
Set dbs = CurrentDb '获取当前的数据库对象
On Error GoTo Change_Err '如果出错则转到错误处理
dbs.Properties(strPropName) = varPropvalue '如果找到属性,则设置属性的值为新的值
ChangeProperty = True '设置成功,设置函数值返回真
Change_Bye:
Exit Function
Change_Err:
If Err = conPropNotFoundError Then ' 如果错误是数据库没有这个属性
Set prp = dbs.CreateProperty(strPropName, _
varPropType, varPropvalue) ' 创建新的属性,并设置它的默认值
dbs.Properties.Append prp ' 将新的属性对象绑定到数据库
Resume Next ' 继续执行后面的代码
Else
ChangeProperty = False ' 如果是其它错误,则函数值返回假
Resume Change_Bye ' 转到函数退出处理
End If
End Function

[:50]




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3