こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

Accessにてデータの更新

Accessにて、フォームにボタンを作成し、クリックすると
フォームのテキストボックスのデータを取得し、
テーブルのデータを更新するVBAを作りたいのですが、

mySQL = "UPDATE テーブル名 SET フィールド名 = '1234'"

このようにすると、フィールドが1234のデータに更新されるのですが、

これを
namae =Me!テキストボックス名
mySQL = "UPDATE テーブル名 SET フィールド名 = namae"

とするとうまくいきません。
正しい書き方をお願いします。

投稿日時 - 2005-09-30 12:19:41

QNo.1682805

すぐに回答ほしいです

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

何か目的があって変数を使っているのなら別ですけど、

mySQL = "UPDATE テーブル名 SET フィールド名 = '" & Me.テキストボックス名 & "'"

で良いのでは?

投稿日時 - 2005-10-01 11:24:25

補足

ご回答ありがとうございました。
vizzar様のおっしゃるように、テキストボックス名で
直接でもよかったのですが、
変数にしているのは、別に使うものがありましたので・・・。

mySQL = "UPDATE テーブル名 SET フィールド名 = " & Me.テキストボックス名 & "'"
'カレントデータベースを変数に代入する
Set myDB = CurrentDb
'SQLを実行する
myDB.Execute mySQL

上記のようにした場合にも、SQLを実行するの部分で
エラーが発生します。
書き方に問題がありましたら、ご指導お願いいたします。

投稿日時 - 2005-10-03 09:51:14

お礼

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

投稿日時 - 2005-10-03 15:35:48

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.1

>これを
>namae =Me!テキストボックス名
>mySQL = "UPDATE テーブル名 SET フィールド名 = namae"

namaeは変数なので
mySQL = "UPDATE テーブル名 SET フィールド名 = " & namae & """"
だと思います^^

投稿日時 - 2005-09-30 12:28:49

補足

早速、ありがとうございました。
おっしゃったように、下記のように書いたのですが、

namae = Me!テキストボックス名
mySQL = "UPDATE テーブル名 SET フィールド名 = " & namae & """"
'カレントデータベースを変数に代入する
Set myDB = CurrentDb
'SQLを実行する
myDB.Execute mySQL

SQLを実行するところで、問題が発生します。
書き方に間違いがあるでしょうか?
よろしくお願いいたします。

投稿日時 - 2005-10-03 09:48:11

あなたにオススメの質問