フィールドを新しいテーブルにコピーして、テーブルから元のテーブルに移動するコードを実行しようとして_New
います。これを行うVBAコードは次のように機能します。
SQLStatement = CStr("INSERT INTO " & TName & " SELECT * FROM " & TName & "_New")
Log.WriteLine "Running query with string """ & SQLStatement & """ "
QueryTimer = Timer
DoCmd.RunSQL SQLStatement
Log.WriteLine "Query time: " & (Timer - QueryTimer)
ログは、私が一緒に投げたクラスモジュールのほんの一握りの手順です。エラーの出力は次のとおりです。
@142921: Running query with string "INSERT INTO Records SELECT * FROM Records_New"
@142941: Error Date/Time: 7/21/2009 2:29:40 PM
@142941: Error # & Description: 3162, You tried to assign the Null value to a variable that is not a Variant data type.
TName
SQL操作の実行時にとSQLStatement
が両方とも有効な文字列であり、ソース(RecordsとRecords_New)が両方とも有効である ことを確認できます。Option Explicit
タイプミスによる混乱を避けるために、ファイルの他の場所に設定されています。エラーが回線にスローされますDoCmd
。
値を返さないNull
のに、なぜこれに値があるのでしょうか。DoCmd.RunSQL