- ベストアンサー
VBとアクセスでSQL文に変数を使いたいのですが
したいことはレコードの挿入をSQL文で変数を使用して処理したいのですがうまく動作してくれません StrSQL_1 = _ "insert into 行先情報テーブル (社員ID, 行先, 帰社予定時刻, 備考)" & _ "values (7,'(変数1)','(変数2)','(変数3)')" 変数の部分が置き換わりません、いろいろ調べてみたのですがどうもわかりませんvaluesでは変数を使えないのでしょうか? もしそうだとするとどのようにすればレコードを挿入するSQL文で変数を利用できるのかをおしえていただけないでしょうか
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
文字列なんで、&で連結すればOKです。 StrSQL_1 = _ "insert into 行先情報テーブル (社員ID, 行先, 帰社予定時刻, 備考)" & _ "values (7,'" & 変数1 & "','" & 変数2 & "','" &(変数3)& "')"
その他の回答 (3)
- maruru01
- ベストアンサー率51% (1179/2272)
付けたしというか訂正。 データ型が文字列型なら'(シングルクォーテーション)が要りますね。 なので、 Dim Yukisaki As String Dim Yoteijikoku As String Dim Bikou As String StrSQL_1 = _ "INSERT INTO 行先情報テーブル (社員ID, 行先, 帰社予定時刻, 備考) " & _ "VALUES (7, '" & Yukisaki & "', '" & Yoteijikoku & "', '" & Bikou & "')" です。 では。
お礼
ご丁寧な補足説明をありがとうございました
- Mizyu
- ベストアンサー率41% (245/593)
"values (7,'(変数1)','(変数2)','(変数3)')" これでは変数も文字列となってしまい、変数名のままSQLで流れてしまいます。 "values (7,'" & (変数1 & ")','" &(変数2)& "','" &(変数3)& "')" としてみてください。
お礼
回答ありがとうございました 上記のSQLでの表現方法(「()」(かっこ)を含む文字列の表現)は今後も役立つ表現方法だと思いました. どうもありがとうございました.
- maruru01
- ベストアンサー率51% (1179/2272)
こんにちは。maruru01です。 例えば変数を Yukisaki、Yoteijikoku、Bikou とすると、 StrSQL_1 = _ "INSERT INTO 行先情報テーブル (社員ID, 行先, 帰社予定時刻, 備考) " & _ "VALUES (7, " & Yukisaki & ", " & Yoteijikoku & ", " & Bikou & ")" もちろん各変数と対応するフィールドのデータ型は一致してなくてはいけません。 では。
お礼
回答ありがとうございました &で区切ったりも試していたのですがうまくいかないので質問させていただきました。 以前にもご教授いただいたことをぜんぜんいかせていませんでした・・・. どうもありがとうございました
お礼
回答ありがとうございました &で区切ったりも試していたのですがうまくいかないので質問させていただきました。 よく見直してみるとintoをintにしていたみたいです。 前後してテストしているときに文字列についてはうまく格納できたので当該部分が間違っているとは思いもしませんでした。 あれこれしているうちにごちゃごちゃになってしまったみたいでした、自分ではしっかり調べてつもりでしたが思い込みのようでした、答えを教えていただいてじっくり見てみると間違いに気づくというような状態でとても情けなく思っています・・・。 どうもありがとうございました