すみません、検索はしたのですが・・・
VB6.0でACCESS2000のデータをUPDATEしたいと思っています。
ですが
※P_CN_DATABASEは、ADODB.Connectionです。
※VAL_1/VAL_2は変数です。
---------------------------------------------------------------------
P_CN_DATABASE.Execute "UPDATE SET TABLE1 COLUMN1 = '" & VAL_1 & "'"
---------------------------------------------------------------------
とすると、全件のデータが更新されるのですが、
---------------------------------------------------------------------
P_CN_DATABASE.Execute "UPDATE SET TABLE1 COLUMN1 = '" & VAL_1 & "' WHERE COLUMN2 = '" & VAL_2 & "'"
---------------------------------------------------------------------
このようにWhere句をつけるとエラーも発生せず、何も更新されません。
更新するデータとWhere句のデータの、それぞれのシングルクォーテーションが不要なのかな?と思い、はずして試しましたがダメでした。
何がいけないのでしょうか?
よろしくお願いします!
No.2ベストアンサー
- 回答日時:
こんにちは。
maruru01です。とりあえず、UPDATE構文が間違っている件は置いておくとします。
COLUMN2フィールドにはどんな値があって、変数VAL_2には実行時にどんな値が代入されているかを確認して下さい。
(Executeで実行する直前にMsgBoxを置くか、イミディエントウィンドウに出力しましょう。)
データ型が違う場合は、エラーになるはずですが、一応それも確認して下さい。
また、データが文字列ということは、全角・半角やその他微妙に、実際のテーブルの内容と変数VAL_2の内容が違うかも知れないので確認して下さい。
なお、No.1の人のWHEREを「""」の外に出すという方法をしてもエラーになるだけで、指摘内容は間違っていると思います。
(そのそも、Executeメソッドでは表示だけ(つまりSELECTだけ)はもともと出来ないはずです。)
この回答への補足
お返事ありがとうございました。
あれからも色々やってみたところ、
UPDATE文のテーブル名やカラム名も、全て変数にしたところ、Where句に一致するデータだけが更新されました。
理由は分かりませんが・・・
お二方からのお返事嬉しかったです、ありがとうございました。
お返事ありがとうございます。
> とりあえず、UPDATE構文が間違っている件は置いておくとします。
すみません・・・間違えました(--;
実行時のSQL文はイミディエントウィンドウに出力していました。特に問題はなかったと思われたのですが・・・。
[VAL_2]には文字列としての数字がはいっています。
--------------------------------------
" WHERE COLUMN2 = '00001' "
--------------------------------------
となります。
ACCESSにおけるカラムのデータ型はテキスト型です。
データベースにも存在しているデータです。
※データ型が違っているエラーは通過してきましたので(--;)、大丈夫だと思っていますが・・・
#1の方の方法もまだ試していないのですが、WHERE句を外に出してもだめそうなのですね・・・
また宜しかったら、お話伺わせて下さい。
ありがとうございました。
No.1
- 回答日時:
こん**は。
「"」の位置をもう一度見てください。
P_CN_DATABASE.Execute "UPDATE SET TABLE1 COLUMN1 = '" & VAL_1 & "' WHERE COLUMN2 = '" & VAL_2 & "'"
では、"UPDATE~COLUMN1 = '"と"'WHERE COLUMN2 = '"と"'"が、画面表示の対象になってしまっています。
つまり、WHERE句が命令じゃなく表示になっています。
だから、
P_CN_DATABASE.Execute "UPDATE SET TABLE1 COLUMN1 = '" & VAL_1 & "'" WHERE "COLUMN2 = '" & VAL_2 & "'"
のように、WHEREが命令になるようにしてみてください。
参考になれば幸いです。
shiro-haseさん、お返事ありがとうございます。
今、自宅ではないため試せないのですが、
帰宅後、さっそく試してみます!
ただ少し分からないのですが、Where句を指定しないUpdate文は、単なる文字列ですよね?
------------------------------------------------
"UPDATE SET TABLE1 COLUMN1 = '" & VAL_1 & "'"
------------------------------------------------
この部分だけだと画面表示の対象にはならずに命令として認識されるのでしょうか?
(実際データが更新されているので認識されているのでしょうが・・・)
なぜ「WHERE」だけが、文字列生成の「"」「"」からはずれるのか理解できなくて・・・。
もし宜しかったら、教えていただければと思います。
お返事ありがとうございました。
※しかも質問に載せたUpdate文も間違っていますね・・・すみません!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- MySQL UPDATE my_items SET item_name '赤い,甘い,ケーキ' WHERE id 1 2023/01/03 09:52
- Visual Basic(VBA) Worksheets メソッドは失敗しました。のエラー処理のやり方 4 2022/05/29 21:29
- その他(プログラミング・Web制作) ColabでのPytorchのエラー 1 2022/11/19 20:51
- PHP php my adminより取り出したデータ表示 2 2022/06/15 11:56
- Visual Basic(VBA) access count数を変数に格納 2 2022/03/30 19:21
- Windows 10 Windows Updateが動作しません 7 2022/08/12 16:26
- Oracle SQL update方法 2 2022/06/22 14:07
- C言語・C++・C# C++のcinの動作 5 2023/02/26 00:13
- Access(アクセス) access,vbaでフォルダ内のファイルをテーブルにインポート、ファイル名もフィールドに追加したい 1 2022/08/31 11:11
- Access(アクセス) アクセス テーブルの空白を変数に置換するボタンが作りたい 4 2022/07/08 11:19
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
合計3TBのデータのハッシュ値を...
-
教えて下さい
-
配列でデータが入っている要素...
-
【エクセル】測定時間がバラバ...
-
Accessで該当データにフラグを...
-
多量のSUMIF式を軽くしたい
-
[C言語] コメント文字列を無視...
-
メモ帳(テキストデータ)をExc...
-
Excelのマクロでワードのテキス...
-
C言語プログラム変更
-
配列の勉強をしています。使用...
-
ノイズの入った波形をきれいな...
-
VBAを使ってOutlookメール本文...
-
モジュラス103の算出方法について
-
ビットシフトについて
-
win7でvbsファイルが実行できない
-
EXCELVBAでSQLserverからデータ...
-
HTMLでテキストボックスで...
-
CString型の文字列連結について
-
GETはできるがPOSTができない、...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
教えて下さい
-
配列でデータが入っている要素...
-
【エクセル】測定時間がバラバ...
-
メモ帳(テキストデータ)をExc...
-
VBA 空白セルを削除ではない方...
-
多量のSUMIF式を軽くしたい
-
Excelのマクロでワードのテキス...
-
エクセルで2つの時系列のデー...
-
この行は既に別のテーブルに属...
-
VBAを使ってOutlookメール本文...
-
シーケンサにパソコンからアク...
-
EXCELVBAでSQLserverからデータ...
-
ブレーカー落ちで壊れたりしな...
-
[C言語] コメント文字列を無視...
-
オープンチヤットでデータ削除...
-
モジュラス103の算出方法について
-
javaでDBからデータを取ってき...
-
カンマからスラッシュに
-
VBA 毎日取得するデータを順番...
-
Android携帯をUSBメモリ代わりに
おすすめ情報