人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

Access VBA で、ボタンをクリックした後、変数に入っているSQL文のクエリを表示するには、どうしたら良いでしょうか?

----------
Private Sub コマンド6_Click()
Dim strQuery
strQuery = "SELECT * ・・・"

●質問者: yamazakiis
●カテゴリ:コンピュータ インターネット
✍キーワード:access SELECT SQL sub VBA
○ 状態 :終了
└ 回答数 : 7/7件

▽最新の回答へ

1 ● degucho
●23ポイント

表示ってどこにですか?

・MsgBoxメソッドを使う

MsgBox strQuery

・VBE上でイミィディエイトウインドウを使う

Debug.Print strQuery

・フォーム上にテキストボックスを用意する

テキスト1.Value = strQuery

など

◎質問者からの返答

質問内容が足らなくて申し訳ありません。

SQL文を実行した結果をデータシートで見たいのです。


2 ● fester
●23ポイント

1.メッセージボックスに表示させる。

内容が短ければ、「 MsgBox 変数名 」で表示させる。


2.ローカルウィンドウに表示させる。

moug|即効テクニック | デバッグ入門?ローカルウィンドウ


3.イミディエイトウィンドウに表示させる。(?変数名)

moug|即効テクニック | デバッグ入門?イミディエイトウィンドウ


4.イミディエイトウィンドウに表示させる。(Debug.Print)

イミディエイト ウインドウ (Ctrl+G) と Debug.Print


5.ウォッチウィンドウに表示させる。

Visual Basic コードをデバッグする

◎質問者からの返答

質問内容が足らなくて申し訳ありません。

SQL文を実行した結果をデータシートで見たいのです。


3 ● ふるるP
●22ポイント

どこに表示させて、誰が見るか、という観点が必要です。それを踏まえ、大体以下の方法があります。

1、 MsgBox で表示

MsgBox "Query:" & vhCr & strQuery

メリット: その場で分かる。OKなどでのユーザーインターフェースが必要で、実行の直前に間をおくことができる。

デメリット:メッセージボックスの中の文字列を選択できない。あまり多い文字数は表示できない。OKで消したらその後で確認できない。

2、フォーム上にラベルやテキストボックスを配置して表示。

Me.テキスト1.Value = strQuery

メリット:その場で分かる。テキストボックスでコピー化にしておけばSQL文字列をコピーできる。画面が表示している間は確認できる。

デメリット:ユーザーにとってSQLは見えるものではない。不必要な表示でスペースを使うのは無駄

3、Debug.Print でイミディエイトウィンドウに表示

Debug.Print strQuery

メリット:基本的に開発者だけが確認したいという時に便利。コピーも可。

デメリット:VBAについて知識がないと使えないかも。あまり多い文字数だと消える(イミディエイトウィンドウで表示できる行数は決まっているため)

4、ファイルに保存

メリット:処理の終わった後で確認ができる。

デメリット:その場での確認はできない。

以上ですが、デメリットは絶対のものではありません。ctrl+Breakで処理を一時停止してイミディエイトウィンドウを確認するとかファイルの中身を確認するとかは可能です。

MsgBoxの表示内容をコピーしたい、というのは難しいですが。

お勧めはDebug.Printかファイルに出力する、です。クエリを確認したい、というのは開発中のことで、開発が終わったらクエリの中身をユーザーに見せるのは、ユーザーにとって邪魔ですから、msgboxにすると後で消さないといけないでしょう。ファイルに出力するのは、後々リリースしてからの不具合が発生したときに、重要な情報を(クエリ文字列とかね)入手することが可能になります。

作られたクエリを誰が、何の目的で使うのか、という視点で考えれば最適な方法が分かると思います。

◎質問者からの返答

質問内容が足らなくて申し訳ありません。

SQL文を実行した結果をデータシートで見たいのです。


4 ● degucho
●22ポイント

そういうことでしたら

DAO.QueryDefを作成してDoCmd.OpenQueryで開いてやればいいと思います

http://www.moug.net/tech/acvba/0040007.htm

ダミーのクエリーを用意しておいてSQLプロパティを書き換えるのが楽かも


5 ● qwwwq
●10ポイント

http://www.moug.net/tech/acvba/0040007.htm


1-5件表示/7件
4.前の5件|次5件6.
関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ