Access数据库是最常用的桌面数据库,关于用DELPHI 操作ACCESS的数据导入导出的文章也有不少,但大部分都是以第三方控件或者直接操作ADOX来操作。如果对ACCESS内置的VB编程熟悉的话,一定会使用过Docmd这个命令,我以前曾用ACCESS内置的VB给人写过程序,因此非常喜欢Docmd这个命令的强大功能,它能实现如数据库与其它任何数据格式的导入,导出,数据库表,查询的创建,并能直接打印ACCESS报表等等,但是如何在DELPHI中操作Docmd呢?。也许你已经注意到DELPHI中Server页中有一个AccessApplication控件,但DELPHI中几乎没有关于Server页中对象的使用帮助,因此我平时也很少使用,有一次因要对客户的软件升级(数据库也要改变),而客户的软件中有大量的数据是不能丢弃的,这就存在将一个Access数据库中的数据导入另一个Access数据库中,当然可以直接用Access数据库中的导入工具操作,但相当麻烦,同时不能保证操作的正确性,因客户不能中途停止对软件的使用(零售),另外也显得太不专业是不是^_^,后来发现用TAccessApplication也能操作Docmd,问题就显得简单了,我写了一个更新程序,升级只用了几秒钟,一切都OK了,下面是操作简要示例: 1、 将AccessApplication控件拖到窗体上,就创建了一个名叫AccessApplication1的对象; 2、 打开当前数据库 AccessApplication1.OpenCurrentDatabase(‘当前数据路径’,false,''); 3、 一般数据库导入(导出) AccessApplication1.docmd.TransferDatabase(TransferType, DatabaseType, DatabaseName,
ObjectType, Source, Destination, StructureOnly, StoreLogin) TransferType 可选 AcDataTransferType。 AcDataTransferType 可以是下列 AcDataTransferType 常量之一: acExport acImport 默认 acLink 如果将该参数留空,将采用默认常量 (acImport)。 注意 Microsoft Access 项目 (.adp) 不支持 acLink 转换类型。 DatabaseType 可选 Variant 型。字符串表达式,表示一类可用来导入、导出或链接数据的数据库类型的名称。
数据库的类型 Microsoft Access(默认值) Jet 2.x Jet 3.x dBase III dBase IV dBase 5.0 Paradox 3.x Paradox 4.x Paradox 5.x Paradox 7.x ODBC 数据库 在“宏”窗口中 TransferDatabase 操作的“数据库类型”操作参数的列表中可以查看数据库类型。 DatabaseName 可选 Variant 型。字符串表达式,表示要用来导入、导出或链接数据的数据库的完整名称(包括路径)。 ObjectType 可选 AcObjectType。 AcObjectType 可以是下列 AcObjectType 常量之一: acDataAccessPage acDefault acDiagram acForm acFunction acMacro acModule acQuery acReport acServerView acStoredProcedure acTable 默认 该参数是指要对其数据进行导入、导出或链接的对象的类型。仅当在两个 Microsoft Access 数据库之间导入或导出数据时,才可以指定 acTable 外的对象。如果要将 Microsoft Access 选择查询的结果导出为另一类型的数据库,请指定 acTable 参数。 如果将该参数留空,将采用默认常量 (acTable)。 注意 显示在该参数“自动列表成员”列表中的 acDefault 常量对于该参数是无效的。必须选择上述常量列表中的常量。 Source 可选 Variant 型。字符串表达式,表示要对其数据进行导入、导出或链接的对象的名称。 Destination 可选 Variant 型。字符串表达式,表示目标数据库中所导入、导出或链接的对象的名称。 StructureOnly 可选 Variant 型。使用 True (–1) 可以只导入或导出数据库表的结构。使用 False (0) 将导入或导出表的结构及其数据。如果将该参数留空,将采用默认值 (False)。 StoreLogin 可选 Variant 型。使用 True 可以存储数据库链接表的连接字符串中、用于 ODBC 数据库的登录标识 (ID) 和密码。如果进行了这种设置,则不必在每次打开表时都进行登录。如果不想存储登录 ID 和密码,则可以使用 False。如果将该参数留空,将采用默认值 (False)。该参数仅可用于 Visual Basic。 说明 有关该操作及其参数如何使用的详细信息,请参阅该操作的主题。 语法中的可选参数允许留空,但是必须包含参数的逗号。如果将位于末端的参数留空,则在指定的最后一个参数后面不需使用逗号。 ODBC 数据库的管理员可以禁用 saveloginid 参数所提供的功能,要求所有的用户在每次连接到 ODBC 数据库时,都必须输入登录标识和密码。 如:AccessApplication1.DoCmd.TransferDatabase(acImport,'Microsoft Access',‘目标数据库路径’, acQuery,‘要导出的表或查询’,‘导出时在目标数据库中的名称’,false,false ); [1] [2] 下一页 |