• ベストアンサー

Accessにてデータの更新

Accessにて、フォームにボタンを作成し、クリックすると フォームのテキストボックスのデータを取得し、 テーブルのデータを更新するVBAを作りたいのですが、 mySQL = "UPDATE テーブル名 SET フィールド名 = '1234'" このようにすると、フィールドが1234のデータに更新されるのですが、 これを namae =Me!テキストボックス名 mySQL = "UPDATE テーブル名 SET フィールド名 = namae" とするとうまくいきません。 正しい書き方をお願いします。

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

  • ベストアンサー
noname#79209
noname#79209
回答No.2

何か目的があって変数を使っているのなら別ですけど、 mySQL = "UPDATE テーブル名 SET フィールド名 = '" & Me.テキストボックス名 & "'" で良いのでは?

yuuchan
質問者

お礼

すみません、私のミスで 「'」をひとつ入力忘れていました。 うまくいきました!! ありがとうございます。

yuuchan
質問者

補足

ご回答ありがとうございました。 vizzar様のおっしゃるように、テキストボックス名で 直接でもよかったのですが、 変数にしているのは、別に使うものがありましたので・・・。 mySQL = "UPDATE テーブル名 SET フィールド名 = " & Me.テキストボックス名 & "'" 'カレントデータベースを変数に代入する Set myDB = CurrentDb 'SQLを実行する myDB.Execute mySQL 上記のようにした場合にも、SQLを実行するの部分で エラーが発生します。 書き方に問題がありましたら、ご指導お願いいたします。

その他の回答 (1)

  • shaori
  • ベストアンサー率18% (6/32)
回答No.1

>これを >namae =Me!テキストボックス名 >mySQL = "UPDATE テーブル名 SET フィールド名 = namae" namaeは変数なので mySQL = "UPDATE テーブル名 SET フィールド名 = " & namae & """" だと思います^^

yuuchan
質問者

補足

早速、ありがとうございました。 おっしゃったように、下記のように書いたのですが、 namae = Me!テキストボックス名 mySQL = "UPDATE テーブル名 SET フィールド名 = " & namae & """" 'カレントデータベースを変数に代入する Set myDB = CurrentDb 'SQLを実行する myDB.Execute mySQL SQLを実行するところで、問題が発生します。 書き方に間違いがあるでしょうか? よろしくお願いいたします。

関連するQ&A

専門家に質問してみよう