gpt4 book ai didi

excel - 修改 Microsoft Excel 宏中嵌入的连接字符串

转载 作者:行者123 更新时间:2023-12-01 17:41:28 24 4
gpt4 key购买 nike

我有一个 Excel 文档,其中包含一个宏,运行该宏时将修改该连接的 CommandText 以从 Excel 电子表格传递参数,如下所示:

Sub RefreshData()
ActiveWorkbook.Connections("Job_Cost_Code_Transaction_Summary")
.OLEDBConnection.CommandText = "Job_Cost_Code_Transaction_Summary_Percentage_Pending @monthEndDate='" & Worksheets("Cost to Complete").Range("MonthEndDate").Value & "', @job ='" & Worksheets("Cost to Complete").Range("Job").Value & "'"
ActiveWorkbook.Connections("Job_Cost_Code_Transaction_Summary").Refresh
End Sub

我希望刷新不仅可以修改连接命令,还可以修改连接,因为我还想将其与不同的数据库一起使用:

enter image description here

就像宏用电子表格中的值替换命令参数一样,我希望它也可以用电子表格中的值替换数据库服务器名称和数据库名称。

不需要完整的实现,只需修改与工作表中的值的连接的代码就足够了,我应该能够从那里开始工作。

我尝试做这样的事情:

 ActiveWorkbook
.Connections("Job_Cost_Code_Transaction_Summary")
.OLEDBConnection.Connection = "new connection string"

但这不起作用。谢谢。

最佳答案

我的问题的答案如下。

所有其他答案大多都是正确的,重点是修改当前连接,但我只想知道如何在连接上设置连接字符串。

这个错误归结为这个。如果您查看我的屏幕截图,您会发现连接字符串是:

Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=True;Initial Catalog=ADCData_Doric;Data Source=doric-server5;Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;Workstation ID=LHOLDER-VM;Use Encryption for Data=False;Tag with column collation when possible=False

我尝试使用 ActiveWorkbook.Connections("Job_Cost_Code_Transaction_Summary").OLEDBConnection.Connection = "connection string" 设置该字符串

当我只是尝试将完整字符串分配给连接时,出现错误。我能够使用该属性来 MsgBox 当前连接字符串,但无法在没有收到错误的情况下设置回连接字符串。

我发现连接字符串需要在字符串前面添加 OLEDB;

所以现在可以了!!!

ActiveWorkbook.Connections("Job_Cost_Code_Transaction_Summary").OLEDBConnection.Connection = "OLEDB;Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=True;Initial Catalog=ADCData_Doric;Data Source=doric-server5;Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;Workstation ID=LHOLDER-VM;Use Encryption for Data=False;Tag with column collation when possible=False"

非常微妙,但这就是错误!

关于excel - 修改 Microsoft Excel 宏中嵌入的连接字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20114223/

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