SQL クエリで「動的」フィールドを作成しようとしています
INSERT INTO tblCARS (CreateField("[tblCARS]","[colors]","TEXT"))
SELECT avail_colors
FROM tblSHOPS
WHERE car_model = model_car;
これは私に同じ結果を与えるはずです
INSERT INTO tblCARS (colors)
SELECT avail_colors
FROM tblSHOPS
WHERE car_model = model_car;
フィールド [colors] が存在しないため、クエリを実行するときに [tblCARS] という既存のテーブルに追加したいと考えています。
関数CreateField()
は次のようになります
Public Function CreateField(strTable As String, strField As String, strType As String) As Variant
CreateField = Null
If (strField <> vbNullString) And (DoesTblFieldExist(strTable, strField) = False) Then
CurrentDb.Execute "ALTER TABLE " & strTable & " ADD COLUMN " & strField & " " & strType
End If
CreateField = strField
End Function
クエリを実行すると、Access で "不正な構文" (翻訳済み) というエラーが表示され、カーソルが 2 番目の括弧で停止します。
Access クエリで実行時にフィールドを作成することに成功した人はいますか?
これを完全に VBA で実行できることはわかっていますが、それが私の目標ではありません。
ヒントはありますか?