从通过ODBC连接的单独服务器上的不同数据库运行查询

时间:2017-03-10 22:19:14

标签: sql access-vba ms-access-2010

我正在使用Access 2010.现在我有一个名为SetQuerySource的函数:

Private Sub SetQuerySource()
Dim sql As String

sql = DLookup("QueryText", "tblQuery", "QueryName ='qselDailyMilkYield'")
CurrentDb.QueryDefs("qselDailyMilkYield").sql = sql
sql = sql & vbCrLf & "where pt.DLVDate between '" & Me.txtDate 
& "' AND '" & Me.txtEndDate & "' and pb.ITEMID like '%pm%' and pjb.ITEMID 
like '%pm%' group by pt.ITEMID, pb.ITEMID, pt.NAME, pt.DLVDATE"
CurrentDb.QueryDefs("qselDailyMilkYield").sql = sql
End Sub

我使用它来运行位于Access数据库中名为tblQuery的表中的查询。然后我使用VBA将Where子句附加到查询中(如上所示)我需要指向一个命名控件,它根据用户输入保存一个值。

我进入了这个设置。我的意思是我没有创建这个函数我刚刚开始使用它。我的问题是如何指向不同服务器上的不同数据库?我需要运行的查询已经链接到这个Access数据库的表(通过ODBC连接)但我对OpenDatabase的搜索证明是徒劳的,因为我不知道如何在我的环境中使用它。

我收到此错误:

  

[Microsoft] [ODBC SQL Server驱动程序] [SQL Server]无效的对象名称“dbo.MilkReceived”。 (#208)

Private Sub cmdTruckDeliveries_Click()

SetQuerySource
DoCmd.OpenReport "rptTruckDeliveries", acViewPreview
End Sub

这是按钮点击事件jic的代码。

谢谢,

0 个答案:

没有答案