2016-09-02 11 views
6

私はMS Access 1997バージョン(.mdbファイル)を使用しています。毎日、値を手動で挿入する必要があります。そのファイルには、列Logical(ブールデータ型)があります。私は直接入力の代わりにSQLクエリを使用してこのテンプレートを自動化しています。MS Access/SQL:挿入クエリステートメントのエラー

以下

は私のINSERTクエリです:

Insert Into Data_CustomerTransmit_Tbl (Logical) 
Values (" & Logicalnme & ") 

値:

Logicalnme - True 

私はExcelでVBAでこのクエリを実行すると、私はこのエラーメッセージ

構文エラーを取得しますステートメントに挿入

カラム名として「論理」を使用するか、これは予約済みのキーワードですか?

ありがとうございます。

+0

論理は、あなたが見なければならないその挿入値結構です。 – Takarii

+0

属性の名前を変更し、エラーがなくなるかどうかを確認します。 – nicomp

+0

こんにちはすべて、お返事ありがとうございます。私はデータベースのフィールドとテーブル名を変更することができません。それはあらかじめ定義されています。親切に私たちが持っている可能性があることを確認してください。前もって感謝します。 – user2095503

答えて

0

フィールド名に問題はありません。INSERTカラム名を角カッコで囲む必要があります。またVALUES句の有効な値を選択する必要があります。

INSERT INTO Data_CustomerTransmit_Tbl ([Logical]) 
VALUES (TRUE); 

あなたは挿入する値の入力を求めるプロンプトを表示する場合は、パラメータを使用することができます。

PARAMETERS [Please enter a Boolean value] YesNo; 
INSERT INTO Data_CustomerTransmit_Tbl ([Logical]) 
VALUES ([Please enter a Boolean value]); 
0

私はあなたがしようとしていると推定しますVBAを使用してこの挿入を行うには?その場合は、句読点がないことを除いて、SQL文を構築する際の構文が正しいです。両端に二重引用符があります。 「"& _」(スペース、二重引用符、スペース、:あなたは2行(VALUES前に破壊)の上に文字列を分割しているよう

"INSERT INTO Data_CustomerTransmit_Tbl (Logical) VALUES (" & Logicalnme & ")" 

さらに、あなたも持つ文字列の最初の行を終了しなければなりません。そして、あなたは二重引用符で次の行を開始した文字列が次の行に続くことを示すためにアンパサンド、スペース、アンダースコア):VBAで

"INSERT INTO Data_CustomerTransmit_Tbl (Logical) " & _ 
    "VALUES (" & Logicalnme & ")" 
0

コードは次のようになります。

0

あなたが言及したSQLクエリ - あなたがExcelから渡そうとしているのと同じ値を使ってクエリエディタで手動で実行しようとしましたか?クエリやデータに問題がある場合は、すぐにもっと冗長なフィードバックを提供します。

ブールフィールドに関しては、ビットフィールド0と1ではなく、期待しているTrue/Falseを受け取っていることを確認してください。トラブルシューティングの際にテーブルやファイルにクイックログエントリを作成して生データ。

0

使用Cbool機能:

Insert Into Data_CustomerTransmit_Tbl (Logical) 
Values (" & Cbool(Logicalnme) & ") 
関連する問題