我使用類似以下的函數將臨時表從crosstabs查詢中移出。MS Access 2003 - 用於在「SELECT * INTO tblTemp FROM tblMain」語句之後更改表的VBA
Function SQL_Tester()
Dim sql As String
If DCount("*", "MSysObjects", "[Name]='tblTemp'") Then
DoCmd.DeleteObject acTable, "tblTemp"
End If
sql = "SELECT * INTO tblTemp from TblMain;"
Debug.Print (sql)
Set db = CurrentDb
db.Execute (sql)
End Function
我這樣做,這樣我就可以使用更多的VBA採取臨時表到Excel,使用一些Excel功能(公式和這樣的),然後將值返回到原來的表(tblMain)。簡單點我收到絆倒的是,SELECT INTO語句後,我需要一個全新的附加列添加到臨時表中,我不知道如何做到這一點:
sql = "Create Table..."
就像是唯一的出路我知道如何做到這一點,當然這與上述方法無法兼得,因爲我無法創建一個在事實之後已經創建的表,而且之前我無法創建它,因爲SELECT INTO語句方法將返回「表已經存在」消息。
任何幫助?多謝你們!
這聽起來像是一個有問題的設計。首先,你不應該在應用程序的前端創建表。其次,重複的任務不應該經常要求改變目標表的結構。偶爾,當然,但不是當然。確定導入格式,你可以完全避免這個問題。 – 2010-03-17 20:09:32
這實際上是一個自動化部分,它通過創建的我的臨時訪問應用程序調用excel中的財務函數,並使用由我提供的查詢生成的表。然而,造成問題的原因是讓「幕後卓越」的方法起作用,結果回到了桌子上。所以我需要在這個動態方法中創建空字段,並將結果數據字段發送到表單(我的實際數據庫)上,或者使用ppt自動化表示等等。因爲這個excel的主意確實有效,但這是我知道的唯一方法... – Justin 2010-03-18 01:04:11
...如何讓它發揮作用,因爲我從烹飪書中學到了這個excel利用技巧。我也有一個自定義的添加內置到Excel通過類模塊的自助餐,讓我能夠在Excel中創建帶有公式的迷你圖。所以我相信我可以得到上面的概念來處理圖表(它只是基本上將它們創建爲形狀,而不是MS圖表)只需要找出如何將OLE.copy方法返回到表單而不是rs.fields ....如果它做得很好,如果不是很好。我明白你在說什麼,這都是非常非常不自然的東西。 – Justin 2010-03-18 01:07:49