设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 1083|回复: 4
打印 上一主题 下一主题

[Access本身] 如何导入表?

[复制链接]
跳转到指定楼层
1#
发表于 2009-12-6 11:52:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式


如何用程序实现动画中的手动操作?谢谢!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2009-12-6 11:57:19 | 只看该作者
TransferDatabase 方法
参阅应用于示例特性在 Visual Basic 中,TransferDatabase 方法执行 TransferDatabase 操作。

expression.TransferDatabase(TransferType, DatabaseType, DatabaseName, ObjectType, Source, Destination, StructureOnly, StoreLogin)
expression      必需。返回“应用于”列表中的一个对象的表达式。

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 数据库
WSS
在“宏”窗口中 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。
3#
 楼主| 发表于 2009-12-6 14:20:23 | 只看该作者
Sub 导入()
  Dim MyPath$, S$
  Dim MyDb As Database
  Dim Tbl As TableDef
    On Error Resume Next
    MyPath = CurrentProject.Path
    Set MyDb = Application.DBEngine.OpenDatabase(MyPath & "\db2.mdb")
    For Each Tbl In MyDb.TableDefs
      S = Tbl.Name
      If InStr(S, "MSys") = 0 Then
        '怎么判断数据库中表是否存在?
        DoCmd.DeleteObject acTable, S
        DoCmd.TransferDatabase acImport, "Microsoft Access", MyPath & "\db2.mdb", acTable, S, S, False
      End If
    Next Tbl
    Set MyDb = Nothing
End Sub
4#
 楼主| 发表于 2009-12-6 14:22:14 | 只看该作者
刚写的,不知有问题不?还有怎么判断数据库中的表是否存在?我用的是:On Error Resume Next跳过去。请指教,谢谢!
5#
发表于 2009-12-6 15:02:04 | 只看该作者
if nz(dlookup("name","MSysObjects","Type=1 and name=‘" & tbname “’”),"")="" then
    。。。。。。。                   'tbname不存在时的语句块
end if
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-11-19 00:44 , Processed in 0.182140 second(s), 29 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表