Access数据库导出和导入XML文件.doc
文本预览下载声明
首先介绍如何将现有 XML 文件导入到 Access 数据库:
复制代码
Const acAppendData = 2
Set objAccess = CreateObject(Access.Application)
objAccess.OpenCurrentDatabase C:\Scripts\Test.mdb
objAccess.ImportXML c:\scripts\test.xml, acAppendData
在此脚本中,假定该 XML 文件具有一个外部元素标记(例如 Inventory),该标记引用数据库 C:\Scripts\Test.mdb 中的表。(换句话说,在该数据库中有一个名为 Inventory 的表。)这意味着您的 XML 文件开头可能类似如下代码:
复制代码
?xml version=1.0 encoding=UTF-8?
Inventory
ComputerNameatl-fs-01/ComputerName
因为我们要将 XML 数据添加到该表中,所以我们在脚本中首先定义名为 acAppendData 的常量并将其值设为 2。随后将使用该常量告诉脚本导入数据并将其添加到现有的表中。
我们早就知道您将提出问题:是的,还有其他导入数据的方法。例如,可以定义名为 acStructureOnly 的常量并将其值设为 0。在这种情况下,Access 将检查该 XML 文件并创建模仿该文件结构的表。但却不会导入任何数据;我们将在数据库中只获得一张空表。
或者,可以定义名为 acStructureAndData 的常量并将其值设为 1。如果是这样,Access 将不但会创建新表,而且会将数据导入到该表中。根据数据本身的特点,这么做非常有效。例如,Access 将创建一个表,并在默认情况下,将每个字段的数据类型设置为“文本”。如果需要将数据存储在“备注”或“日期”字段中,这就会是个问题。这仅仅是您必须按逐个文件进行确定的内容。
提示:为了以防万一,我们建议先构建数据库表,然后添加数据。为此,可从 XML 文件导入结构,然后在 Access 中打开新表格并根据需要更改字段类型。完成之后即可添加数据,而不会有任何问题。
在定义了常量后,我们创建 Access.Application 对象的实例,然后调用 OpenCurrentDatabase 方法打开文件 C:\Scripts\Test.mdb:
复制代码
Set objAccess = CreateObject(Access.Application)
objAccess.OpenCurrentDatabase C:\Scripts\Test.mdb
现在我们只需要调用 ImportXML 方法并向其传递两个参数:要导入的 XML 文件的路径 (C:\Scripts\Test.xml) 和导入类型(由常量 acAppendData 指定):
复制代码
objAccess.ImportXML c:\scripts\test.xml, acAppendData
就是这样。等几秒钟(取决于该 XML 文件的大小),然后数据就会导入到 Microsoft Access 中。然后即可从中随心所欲地处理这些数据。我们插一句,可以将数据导回为 XML。
您需要 XML 版本的 Access 表吗?好啊,为什么不试试:
复制代码
Const acExportTable = 0
Set objAccess = CreateObject(Access.Application)
objAccess.OpenCurrentDatabase C:\Scripts\Test.mdb
objAccess.ExportXML acExportTable,Inventory,c:\scripts\test.xml
我们仍然从定义常量开始(在本例中是名为 acExportTable 的常量),然后将其值设为 0。为何要使用该常量呢?很简单:因为我们要导出存储在表中的全部数据。或者,我们可以选择从查询、报表、函数或其他一些 Access 元素导出数据。事实上,您可以使用下表列出的任何常量(及其对应的值):
常量 值 acExportForm 2 acExportFunction 10 acExportQuery 1 acExportReport 3 acExportServerView 7 acExportStoredProcedure 9 acExportTable 0
定义了常量后,我们创建 Access.Application 对象的实例,打开数据库,然后调用 ExportXML 方法:
复制代码
objAccess.ExportXML acExp
显示全部