更新连接string的一部分,但不是整个string

我的电子表格与源数据有SQL连接。 由于这是一个新的一年,我需要查询的一年的一部分阅读1/1/14,而不是1/1/13。 但是查询的标识部分对于每个工作簿都是唯一的。 我无法find一种方法来更新连接string的date被写入的部分,而不更新整个连接string – 这将使所有其他工作簿的唯一标识与我在macros中logging的相同。

在下面的例子中,我希望macros将RVU_all.Post_date>=行更改为1/1/2014,这就是全部。 没有wrvu_all.NPI=在macros中(因此使得我的macros在其他工作簿上对于不同的人而言是无用的,但是是相同的任务)。

 Workbooks.Open Filename:= _ "G:\(Where I store my file) , UpdateLinks:=0 With ActiveWorkbook.Connections("Query from XXXXXX").ODBCConnection .BackgroundQuery = False .CommandText = Array( _ "SELECT (data I'm looking for) "FROM (My Sql Table)" & Chr(13) & "" & Chr(10) & "WHERE (w" _ , _ "RVU_all.Post_date>={ts *'2014-01-01 00:00:00'*}) AND (wRVU_all.NPI='UniqueNumber')" & Chr(13) & "" & Chr(10) & "ORDER BY wRVU_all.Post_date" _ ) .CommandType = xlCmdSql .Connection = Array(Array( _ "My Connection string to the table" _ ), Array("BASE=XXXXXX")) .RefreshOnFileOpen = False .SavePassword = True .SourceConnectionFile = "" .SourceDataFile = "" .ServerCredentialsMethod = xlCredentialsMethodIntegrated .AlwaysUseConnectionFile = False End With With ActiveWorkbook.Connections("Query from XXXXXXX") .Name = "Query from XXXXXXXX" .Description = "" End With ActiveWorkbook.Connections("Query from XXXXXXX").Refresh ActiveWorkbook.Save ActiveWindow.Close End Sub 

我会简单地做一些事情:

 .commandtext(1)=replace(.commandtext(1),"your original date","your new date") 

这应该做的工作!