• ベストアンサー

SQL+ACCSEEでフォームのテキストボックスの内容を使いたいのですが・・

ACCESS2000とSQLserver2000を使用しています。 基本的な事かもしれませんが教えてください。 パススルークエリでSQLserverにODBCで接続時に、下記のような事をしたいのですが、フォームのテキストボックス内の内容([Forms]![フォーム1]![テキスト0])をSQL文に代入する方法を教えてください。 ACCESSだけのSQLでは下記の方法でやっていたのですが・・・。 UPDATE テーブル1 SET テーブル1.B = [Forms]![フォーム1]![テキスト0] WHERE (((テーブル1.A)=1)); よろしくおねがします。

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

  • ベストアンサー
  • kikaida-
  • ベストアンサー率69% (37/53)
回答No.1

パスするークエリーはaccessを通さずに直接SQLサーバーへクエリを発行します。 だから [Forms]![フォーム1]![テキスト0] が文字列としてわたされ、解釈できなくなるわけです。 やり方としては以下の方法があります。 ただ、パススルークエリを使うよりをADOでつなげたほうがいいと思います。 dim qd as querydef dim db as database set db=currentdb set qd=db.querydefs("クエリ名") qd.sql="UPDATE テーブル1 SET テーブル1.B = '" &[Forms]![フォーム1]![テキスト0] _ & "' WHERE (((テーブル1.A)=1));" qd.execute あとは適切にオブジェクトを開放してください

kasamin
質問者

お礼

ご返答ありがとうございます。 パスするークエリーな訳ですね。 解り易い回答ありがとうございますw VBから呼び出すようにしてみます。 ありがとうございました。