• ベストアンサー

VBとアクセスでSQL文に変数を使いたいのですが

したいことはレコードの挿入をSQL文で変数を使用して処理したいのですがうまく動作してくれません StrSQL_1 = _ "insert into 行先情報テーブル (社員ID, 行先, 帰社予定時刻, 備考)" & _ "values (7,'(変数1)','(変数2)','(変数3)')" 変数の部分が置き換わりません、いろいろ調べてみたのですがどうもわかりませんvaluesでは変数を使えないのでしょうか? もしそうだとするとどのようにすればレコードを挿入するSQL文で変数を利用できるのかをおしえていただけないでしょうか

質問者が選んだベストアンサー

  • ベストアンサー
  • taka_tetsu
  • ベストアンサー率65% (1020/1553)
回答No.1

文字列なんで、&で連結すればOKです。 StrSQL_1 = _ "insert into 行先情報テーブル (社員ID, 行先, 帰社予定時刻, 備考)" & _ "values (7,'" & 変数1 & "','" & 変数2 & "','" &(変数3)& "')"

unname1
質問者

お礼

回答ありがとうございました &で区切ったりも試していたのですがうまくいかないので質問させていただきました。 よく見直してみるとintoをintにしていたみたいです。 前後してテストしているときに文字列についてはうまく格納できたので当該部分が間違っているとは思いもしませんでした。 あれこれしているうちにごちゃごちゃになってしまったみたいでした、自分ではしっかり調べてつもりでしたが思い込みのようでした、答えを教えていただいてじっくり見てみると間違いに気づくというような状態でとても情けなく思っています・・・。 どうもありがとうございました

その他の回答 (3)

  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.4

付けたしというか訂正。 データ型が文字列型なら'(シングルクォーテーション)が要りますね。 なので、 Dim Yukisaki As String Dim Yoteijikoku As String Dim Bikou As String StrSQL_1 = _ "INSERT INTO 行先情報テーブル (社員ID, 行先, 帰社予定時刻, 備考) " & _ "VALUES (7, '" & Yukisaki & "', '" & Yoteijikoku & "', '" & Bikou & "')" です。 では。

unname1
質問者

お礼

ご丁寧な補足説明をありがとうございました

  • Mizyu
  • ベストアンサー率41% (245/593)
回答No.3

"values (7,'(変数1)','(変数2)','(変数3)')" これでは変数も文字列となってしまい、変数名のままSQLで流れてしまいます。 "values (7,'" & (変数1 & ")','" &(変数2)& "','" &(変数3)& "')" としてみてください。

unname1
質問者

お礼

回答ありがとうございました 上記のSQLでの表現方法(「()」(かっこ)を含む文字列の表現)は今後も役立つ表現方法だと思いました. どうもありがとうございました.

  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.2

こんにちは。maruru01です。 例えば変数を Yukisaki、Yoteijikoku、Bikou とすると、 StrSQL_1 = _ "INSERT INTO 行先情報テーブル (社員ID, 行先, 帰社予定時刻, 備考) " & _ "VALUES (7, " & Yukisaki & ", " & Yoteijikoku & ", " & Bikou & ")" もちろん各変数と対応するフィールドのデータ型は一致してなくてはいけません。 では。

unname1
質問者

お礼

回答ありがとうございました &で区切ったりも試していたのですがうまくいかないので質問させていただきました。 以前にもご教授いただいたことをぜんぜんいかせていませんでした・・・. どうもありがとうございました

関連するQ&A