Excel文件太大 – 340 MB – 迁移访问?
我有一个约340 MB的Excel文件,其中包含2000多个工作表和几十个长的VBA程序。 文件越来越大,打开文件需要10-15分钟左右,当我保存或debugging文件时,经常进入“无响应”,“无法使用的资源”。
我在网上search的人build议迁移到Acesss。 不过,我从来没有使用过Access。 所以我想知道
1)如何迁移excel文件来访问? 2)将VBA程序带到新的访问文件3)我是否需要修改excel VBA代码以适应Access? 2)可以访问处理300-500MB文件?
谢谢
500MB的Excel文件并不意味着500MB的访问文件。 从Excel移动到Access是一个非常好的想法。 但是,您需要首先了解基础知识。 Excel与MS Access访问完全不同,除非Access看起来类似于数据表格中的Excel。
Access是一个“Relational” – 数据库+graphics化前端软件,您可以在表单中或通过组件显示数据。 在关系数据库中,您可以识别实体并定义它们之间的关系。 这样做可以消除整个应用程序中的[数据不一致性]。 正确的build模可能会将数据从500MB减less到50MB。
回答你的问题:
1> How to migrate the excel file to access?
首先在你的情况下迁移需要一个新的MS应用程序。 首先开始build模您的业务。 阅读关于Rational-Databases,阅读关于MS Access表,关系,查询。 想想访问是否适合您的业务平台。 在MS Access中创build应用程序,然后您可以回到我们并询问有关迁移。
或者:您可以使用当前的Excel工作表作为外部数据源,并将其作为链接表在访问应用程序中链接。 这是非常不推荐的,因为你实际上没有比你现在的状况更好的收益。 (除了查询查找数据)
2> Will the VBA program be carried to the new access file
你的意思是VBA表格? 不,不会。 Access有自己的窗体和控件,看起来比Excel用户窗体好。 您必须在Access中完全重新devise该部分。
3> Do i need to modify the excel VBA code to fit Access?
在大多数情况下,除非是通用function。 大多数Excel VBA代码指的是Access没有的单元格或工作表! 换句话说,这取决于代码的大小和复杂程度。 任何特定的代码必须调整到MS Access平台,但调整是非常小的不是一项重大任务。 这又取决于你的代码复杂度。
4> Can Access handle a 300-500mb file?
是的,它可以! 最新版本可以达到2GB,但我个人不会留在接入时,我必须处理这样的数据量。 我会寻找分裂/升级数据库到适当的专用数据库引擎,如MSSQL或免费的MySQL服务器。
有些人build议: 500MB的Excel表格有潜在的危险,你应该尽快寻求替代scheme。 如果你打算自己动手,请始终“备份”,因为Access会抛出非常难以理解的随机错误。 find一个有经验的IT人员来帮助你,然后再删除/更新/清除你的数据。 祝你好运
有趣的是我几年前在一个通过一些VBA在Excel中logging交易历史的POS系统面临同样的问题。 我搬到了Access,发现(Access)得到了一点腐败的文件越大。 如果文件退出,我必须build立保护措施以从备份恢复。 我最终转移到了Visual FoxPro,因为我的VBA可以直接翻译出来。 事实上到今天为止。
- 通过ACCESS VBA控制Excel和TXT文件
- MS Access / Excel SQL Server查询生成转换错误DATETIME
- 如何在使用DoCmd.TransferSpreadsheet方法从电子表格导入数据时在Access中覆盖表格?
- 将Excel文件读入Access数据库的最佳方法
- 添加一个唯一的ID字段来识别从VBA导入的不同Excel文件的电子表格
- 从Excel使用Excel中的数据使用VBA获取数据
- MS Access的VBA如何抑制Excel的行删除“你想保存更改”对话框?
- lockingAccess表以防止在某些时候写入
- 为什么Range.ColumnWidth的单位不匹配点或厘米(使用的默认单位)