次のような関数を使用して、クロス集計クエリから一時テーブルを作成します。
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ステートメントのアプローチは、「テーブルはすでに存在します」というメッセージを返します。
何か助けはありますか?みんなありがとう!