2014-02-24 83 views
0

我需要将数据从访问表复制到sql服务器。我想过只是把表连接起来,但这不会对我所要做的事情起作用。当我点击一个宏按钮时,我需要将数据从访问表导出到sql服务器。关于如何开始或在哪里寻找有什么想法?如何从访问表复制记录到SQL Server数据库

+0

谷歌? 'Insert Into' – SQLMason

+0

[如何将INSERT插入表中从另一个表中提取的记录]可能的重复(http://stackoverflow.com/questions/74162/how-to-do-insert-into-a-table-records从另一个表中提取) – SQLMason

+0

这似乎是内部访问,这是正确的想法。我只需要它从Access到SQL Server。 – user2119980

回答

2

您的宏可以使用RunCode操作来运行与此类似的一个VBA函数:

Option Compare Database 
Option Explicit 

Public Function TransferTableToSqlServer() 
    DoCmd.TransferDatabase _ 
      acExport, _ 
      "ODBC Database", _ 
      "ODBC;" & _ 
       "Driver={SQL Server Native Client 10.0};" & _ 
       "Server=(local)\SQLEXPRESS;" & _ 
       "Database=myDb;" & _ 
       "Trusted_Connection=Yes;", _ 
      acTable, _ 
      "sourceTableName", _ 
      "destinationTableName", _ 
      False 
End Function 

欲了解更多信息,请参阅

DoCmd.TransferDatabase Method

+1

如果我有需要输入的用户名和密码该怎么办? – user2119980

+1

@ user2119980你可以用'UID = xxx; PWD = yyy;'替换'Trusted_Connection = Yes;'参数。有关详细信息,请参阅connectionstrings.com。 –

+0

所以像这样:Public Function Update() DoCmd.TransferDatabase _ acExport,_ “ODBC Database”,_ “ODBC”; &_ “Driver = {SQL Server Native Client 10.0};” &_ “Server =(local)\ SQLEXPRESS;” &_ “Database = DATABASE;” &_ “用户名= USERNAME;” &_ “Password = PASSWORD;” &_ acTable,_ “CDData”,_ “dbo.AC_CDData”,_ False End Function – user2119980

1

我会链接/附加到您打算复制到SQL Server表,确保它有一个主键(以便它不会只读访问),然后创建一个访问'追加'查询选择数据并将它们映射到sql server中的列。

写一个宏,然后运行你写的查询应该是非常简单的。

这种方法通常会起作用,尽管在有很多数据的时候可能会很慢。

+0

我确实使用了这种方法,但是我的主管说他不希望这样做。 – user2119980

+1

你应该问问你的主管为什么,他喜欢什么样的方式。 –

+0

我做到了,这只是他们想要的方式 – user2119980

-1

查看Upsizing Wizard了解数据,索引和默认值。

+0

这似乎并不能解决问题。升迁向导用于将数据库移至SQL服务器,而不是将数据移至现有SQL服务器数据库。 – Brad

相关问题