帮助与MS Access和SQL Server 2008(Help with MS Access a

2019-10-29 07:30发布

我需要有人点我到正确的方向,我有一个由HP设备更新MS Access数据库,我必须把它与SQL Server 2008中同步。

我有几个想法,我想知道你怎么看待这个问题:

  1. 有没有像上访问触发器什么? 如果是的话我可以与SQL Server comunicate?
  2. 有没有办法使用VBA因此获得告诉我的VBA宏或任何使SQL Server上的更新?
  3. 有没有从VB 6连接到SQL Server 2008一个简单的方法?
  4. 使用在后台运行,并检查DB在X分钟或秒的脚本。

任何其他的想法或建议都非常欢迎。

感谢,并像往常一样遗憾的英语。

Answer 1:

你可以尝试MS Access数据库链接到SQL服务器,
现在,您可以查询从在MS访问SQL Server数据。
我不知道在MS ACCESS trigers但你可以实现MS SQL以周期性计数或选择数据的一些循环的cheking新的。
为了让链接服务器的SQL MGM Studio中的对象资源管理器 - >服务器对象 - >链接服务器 - >右键 - >新建链接的服务器,然后在新的查询简单调用任何如表后

Select * from [linked server].dbo.mytable

在MS SQL有WAITFOR命令 ,你可以实现



Answer 2:

只是几个点添加到adopilot的答案

1)Access 2010中确实有触发器和存储过程,但他们更多的是关于本机访问/ Jet表,而不是链接SQL表,我相信。

2&3)如果你想VB6或VBA连接到随后的SQL服务器的技术做到这一点被称为ADO例如这里是一些代码来打开一个连接并运行SQL语句

Dim dbCon as NEW ADODB.Connection
dbCon.ConnectionString = strSQL_con_string
dbCon.Provider = "sqloledb"
dbCon.Open

dbCon.Execute “UPDATE tblFoo SET bar=5 WHERE Foo=1”

dbCon.Close

4)你可以做到这一点客户端与定时器/等待在VB6 /访问事件或做服务器端用SQL作业,不知道这是最适合你的情况给予提供的信息有限



Answer 3:

您可以指代SQL Server数据库或在您的SQL的MS Access数据库联机:

UPDATE SQLTable (ID, Stuff) 
SELECT ID, Stuff
FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0', 
   'c:\External\MyAccess.mdb';'admin';'', Table1) 

- 从databasejournal

您可以到SQL Server的连接使用执行ADO此查询

- 连接字符串

你也可以做同样的从Access与ODBC结束

Dim cn As New ADODB.Connection

scn = "Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;Data Source=" _
    & DBFullName
cn.Open scn

s = "INSERT INTO [ODBC;Description=TEST;DRIVER=SQL Server;" _
& "SERVER=Server\Instance;Trusted_Connection=Yes;" _
& "DATABASE=test].Table2 (ID, Stuff) SELECT ID, Stuff FROM Table1"
cn.Execute s

您可以使用VBScript或其他合适的脚本运行的ADO,并使用Windows任务计划程序来踢脚本关闭在适当的时间间隔。 这不是没有痛苦。



文章来源: Help with MS Access and SQL Server 2008