4
我可以將excel文件連接到自身,作爲MS Query工作的數據源。但是,只要我圍繞查詢移動文件,就會嘗試從網絡上以前的位置找到它,並且失敗。
我只想讓它嘗試和查詢自己。
我試圖從數據源中的連接字符串中刪除目錄路徑,但它只是錯誤。在Excel中使用MS Query來查詢自己(而不是外部源)
這甚至可能嗎?
或者還有更好的方法嗎?
我可以將excel文件連接到自身,作爲MS Query工作的數據源。但是,只要我圍繞查詢移動文件,就會嘗試從網絡上以前的位置找到它,並且失敗。
我只想讓它嘗試和查詢自己。
我試圖從數據源中的連接字符串中刪除目錄路徑,但它只是錯誤。在Excel中使用MS Query來查詢自己(而不是外部源)
這甚至可能嗎?
或者還有更好的方法嗎?
你可以使用VBA嗎?如果是這樣,您可以將代碼放在ThisWorkbook中以更新查詢字符串:
Sub UpdateQuery()
'This is just an example. Query must be changed accordingly
ThisWorkbook.Connections(1).ODBCConnection = "SELECT `Sheet1$`.a, `Sheet1$`.b FROM `" & ThisWorkbook.FullName & "`.`Sheet1$` `Sheet1$`"
End Sub
Private Sub Workbook_AfterSave(ByVal Success As Boolean)
If Success Then UpdateQuery
End Sub
Private Sub Workbook_Open()
UpdateQuery
End Sub
是的我可以使用VBA,但在這種情況下,Excel從Querypoint生成。所以它不會工作。您的代碼似乎更改了SQL查詢,而不是實際的連接字符串或源文件位置。 – zoonosis
我在'ODBCConnection'中沒有發現連接和查詢字符串之間的區別。不,這可能不會更改源文件 - 它不能,文件在Excel中打開!它只是在文件打開或保存時更新連接。 –
這應該讀取「源文件位置」,而不是「或」。我談論的連接字符串是關於文件在計算機上的位置,例如c:\ my documents或d:\ data。如果我移動文件,查詢失敗。我需要一種方法來更新位置,或者只是查看文件當前所在的本地文件夾。 – zoonosis