初心者です。大変初歩的な質問ですみません。
VBAでSQL更新をしたいのです。フィールド[備考・MEMO]+変数(tyokusou)+文字列で。
"UPDATE [T発注Sub] INNER JOIN [Q一括変更用チェックON分] " &
"ON [T発注Sub].[発注明細ID] = [Q一括変更用チェックON分].[発注明細ID] " &
"SET [T発注Sub].[備考・MEMO] = [備考・MEMO]" & tyokusou & " さんへ直送;"
としたのですが駄目でした。SET部が間違いと思うのですが、どこが駄目か分からなくて・・・
通報 ...
SQL内の文字列リテラルは引用符("または')で囲む必要があります。
つまり、下記のようなSQLになります。
※tyokusou の中身が 田中 の場合
このSQLをVBA内に記述する場合は、VBAとしての文字列リテラルにする必要があるので、引用符(")で囲む必要があります。
変数部分は文字列リテラルの外に出す必要がありますので、下記のようになります。
下記を一読しておくと理解が深まると思います。
Access上のコード内で引用符(")と単引用符(')の使い分けについて - hatena chips
hatenaさん ありがとうございます。
コード修正したら出来ました。あと変数の前に★等の記号入れたいのですがどう記述したらいいでしょうか?
= [T発注Sub].[備考・MEMO] & ' " & tyokusou & " さんへ直送';" の 変数tyokusouの前にです。
" ★田中さんに直送 ”としたいのです。頭がこんがらがってしまって・・・すみません。
前回の回答と、リンク先を熟読して、一度自分でチャレンジしてみてください。
一度理解できれば、簡単なことだと思います。
どうしてもできないようでしたら、その旨返信してください。
ヒント
リンク先でも言ってますが、SQLとVBAは別物ですので、SQLの部分とVBAコードの部分を意識するようにしましょう。
文字列結合はSQLでもVBAでも &
引用符は SQLでは ' または " どちらでも可、VBAでは " のみ
hatenaさん ありがとうございます。
”田中”を変数のtyokusouに変更するだけで出来ました。
ややこしく考えすぎでした。とにかく変数の前に”で区切り & 変数 & で繋いでその後に”で記述始めたらいいのですね。
初歩的な事に丁寧な解説頂き、すみませんでした。
お世話になりました。