gpt4 book ai didi

ms-access-2003 - 使用传递查询时更改连接参数

转载 作者:行者123 更新时间:2023-12-04 04:31:20 25 4
gpt4 key购买 nike

我有一个 Access 2003 应用程序,我想创建报告以通过传递查询使用存储过程。一切正常,只有一个异常(exception)。当我指定用于传递查询的存储过程时,我必须选择一个 DSN 来提供数据库连接信息。我需要能够通过代码 更改传递查询中使用的存储过程的连接信息。这样我就可以从应用程序内切换到开发、生产和测试环境。

目前,我所有的数据访问(添加、更新、编辑)都使用 ADO,并且我通过 VBA 代码构建连接字符串。我不确定如何通过代码更改传递查询的连接信息。有什么想法吗?谢谢。

最佳答案

查看传递查询的连接属性。您可以使用 VBA 更改连接。此过程在 prod 和 dev 数据库连接之间切换。

Public Sub SwitchPassThroughConnection(ByVal pQuery As String, ByVal pTarget As String)
Dim db As DAO.Database
Dim qdef As DAO.QueryDef
Dim strConnect As String
Dim blnError As Boolean

Set db = CurrentDb()

Select Case pTarget
Case "dev"
strConnect = "ODBC;DRIVER={PostgreSQL Unicode};DATABASE=dev;SERVER=cmpq;" & _
"PORT=5432;UID=hans;PWD=changeme;CA=d;A6=;A7=100;A8=4096;" & _
"B0=255;B1=8190;BI=0;C2=dd_;CX=1b502bb;A1=7.4"
Case "prod"
strConnect = "ODBC;DRIVER={PostgreSQL Unicode};DATABASE=prod;SERVER=cmpq;" & _
"PORT=5432;UID=hans;PWD=changeme;CA=d;A6=;A7=100;A8=4096;" & _
"B0=255;B1=8190;BI=0;C2=dd_;CX=1b502bb;A1=7.4"
Case Else
blnError = True
MsgBox "Unrecognized target."
End Select

If Not blnError Then
Set qdef = db.QueryDefs(pQuery)
qdef.Connect = strConnect
qdef.Close
End If
Set qdef = Nothing
Set db = Nothing
End Sub

关于ms-access-2003 - 使用传递查询时更改连接参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3806248/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com