• ベストアンサー

accessクエリの「SQL」を検索する方法

accessクエリの中の 「select * form *****」 の中の文字列検索を複数のクエリを対象として実行できるようなソフトまたは 複数のクエリのSQLをテキスト化してくれるようなソフトはあるものでしょうか。 #クエリの結果のレコードの検索でなく、SQLの文字列を検索したいだけ。

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

  • ベストアンサー
回答No.1

掲題の内容だけでしたら、自作したほうが早いですよ 例えば、 「カレントデータベースのクエリ内容をファイルに出力する」 だったら、下記コードにてできます '-------------------------------------------------- Private Sub Command_Click()   Dim Dbs     As DAO.Database   Dim Qdf     As DAO.QueryDef   Dim FileName  As String   Dim FNum    As Integer   Dim stSQL    As String   Dim ret     As Double   'データベースセット   Set Dbs = CurrentDb   'Set Dbs = DAO.OpenDatabase("c:\test.mdb")   'ファイルを開く   FNum = FreeFile   FileName = Mid(Dbs.Name, InStrRev(Dbs.Name, "\") + 1)   FileName = Left(FileName, InStrRev(FileName, ".") - 1)   FileName = "c:\" & FileName & "_Query.txt"   Open FileName For Output Access Write As #FNum   'クエリ分ループ   For Each Qdf In Dbs.QueryDefs     'クエリ名&SQLステートメント取得     stSQL = "QueryName:" & Qdf.Name & vbCrLf & _         "SQL:" & Qdf.SQL & vbCrLf & vbCrLf     'ファイルに出力     Print #FNum, stSQL   Next   Set Dbs = Nothing   Close #FNum   'ファイルを開く(notepad.exe)   ret = Shell("notepad.exe " & FileName, vbNormalFocus) End Sub ※参照設定にて「Microsoft DAO *.* Liblary」にチェックが必要です ちょっと余計なものまで出力してしまいますか...

s-holmes
質問者

お礼

回答ありがとうございました。 >クエリ名&SQLステートメント取得 こういうことができるんですね。 勉強になりました。(^O^)

関連するQ&A

  • ACCESSのクエリ(SQLビューについて)

    こんにちはtmgmです。 ACCESSのクエリ(SQLビューについて)について質問です。"INSERT INTO TBL SELECT * FROM TBL1"というようなINSERT文をSQLビューに書き込んで実行することはできるんですが、これが複数行になるとどうしてもエラーが出てしまいます。ちなみに実行したい同じような文体のSQL文は100行近くあります。どうすればよいでしょうか?

  • ACCESSの検索結果について

    お世話になります。 アクセス2002を使用しているのですが クエリやSQLを書いて実行すると検索結果の列の順序が バラバラになっています。2000のバージョンの頃はこのような 事がなかったと思うのですが、、セレクト順に出来るのでしょうか? 以上、宜しくお願いします。

  • ACCESSでのSQL文

    ACCESS2000を使用しています。 クエリをデザインビューから作成し、SQLビューで確認すると、例えば、 SELECT [test].[日付],[test].[トップ] FROM test; というような文章が作成されますが、ここで手動でSQL文に SELECT 日付,トップ FROM test; というふうに変更して実行した場合、[]を外したことによってエラーとなってしまう列が発生します。このエラーになる列とならない列が発生する原因をどなたかご存知ないでしょうか? ACCESSをデータベースとして他ツールによってデータを引き出すんですが、SQL文は自動作成されるので手で[]を入力しなければならないんです。 以上、よろしくお願いします。

  • SQLクエリ

    以下のようなAccessのテーブルがあったとします。   time  -------------- (1) 200207050545 (2) 200207050546 (3) 200207050733 そこで、以下のようなクエリを実行したとします。 SELECT time from table WHERE time <= '200207050546' 当然、得られる結果は(1)(2)です。 しかし、条件を『time <= 'a'』にすると、(1)(2)(3)の結果が得られてしまいます。 条件が『time <= 'a'』のときはレコードなしにしたいのですが、 どうすればよいでしょうか?

  • アクセスで任意の件数を抽出するクエリでお知恵をお貸し下さい!

    アクセス初心者です。 Win XP Access2002 フォーム上にあるテキストボックスに任意の数値を入力しておき、入力した任意の数分のレコードを抽出してくるクエリを組みたいのですが、知恵が不足して出来ません。 SQLでselect top [Forms]![フォーム名]![テキストボックス名] など試してみたのですがダメでした。 どなたかお知恵をお貸し下さい。 できれば、SQL分でやるよりクエリの抽出条件の式でできればとも思っております。 宜しくお願いします。

  • Access2000: 複数のフィールド内の特定文字を含むレコードの検索・抽出をどのように設定方法

    一つのレコード内にField01, Field02, Field03があります。 Access2000を使用しています。 Main Form(MF)に設置したText Box01 とTex Box02に任意のあいまいな文字をエントリーした場合、 (1) その両方(2)そのいずれか、 の文字を含む複数のレコード検索・抽出を行いたいと思います。 事情に応じて(1)或いは(2)の結果をQuery(FormやReportのベース)に表示させる良い方法を 教えて下さい。(QueryやVBA等のコードの書き方等)

  • AccessのクエリをSqlサーバーのクエリへ変換

    Accessで書かれたクエリをSqlサーバーのクエリに変換したいと考えているのですが そのクエリは膨大な行数ある上にIIF関数やSwitch関数がそこら中に含まれており、一つ一つ置換していられません。 もしどなたかIIF関数などのAccessのクエリをSqlサーバーのクエリへ変換してくれるソフトをご存知の方いらっしゃいましたら教えていただければ幸いです。 よろしくお願いいたします。 ◆バージョン SQL Server:SQL Server 2008 R2 ACCESS:ACCESS2000 OS:Windows7

  • JavaScriptからAccess2003へのクエリが上手くいかない

    Access2003での質問です。 JavaScriptからAccessのDBに接続しているのですが、 プログラム中からのクエリだと結果が得られない(BOFがTrueになっている模様) ですが、そのまま同じクエリをAccessを起動し、クエリを行うと正しい結果が返ってきます。 ちなみに、プログラムの中では他にいくつも同じようなクエリを飛ばしており、成功しています。 クエリを実行させる場所(他のクエリが成功している場所)を変えてもBOFとなります。 この症状の原因を教えていただきたいです、よろしくお願いします。 クエリ var sql = "select * from Table1 where Field1 like 'abc*'" var rcdSet = database.Execute(sql) →rcdSet(0)を参照しようとすると、BOFとなります。

  • SQLクエリの記述について

    使用しているSQLサーバはSQL Server 2008になります。 5/23に1回目プログラムを実行したとき、下記の例に記載した実行日時が2015-05-23 01:59:08から2015-05-23 02:02:05のレコードが作成され、 5/23に2回目プログラムを実行したときに下記の例に記載した実行日時が2015-05-23 10:59:15から2015-05-23 11:03:09のレコードが作成されます。 クエリで取り出したいレコードは2回目のプログラムを実行したときのレコードつまり、最後にプログラムを実行したときのレコードを取り出したいと考えています。 取り出したいレコードの件数は4件になり、それを行うには恐らく、@@ROWCOUNTの使用が必要と考えています。 列名「実行日時」の型はdatetime型になります。 この場合、どのようなクエリを作成すれば、実現できるかご教示頂けますでしょうか。 ------------------------------------ 親番号 子番号 実行日時 1 1 2015-05-23 10:59:15 1 2 2015-05-23 11:01:10 2 1 2015-05-23 11:02:17 2 2 2015-05-23 11:03:09 1 1 2015-05-23 01:59:08 1 2 2015-05-23 02:00:01 2 1 2015-05-23 02:01:02 2 2 2015-05-23 02:02:05 ------------------------------------

  • ACCESS クエリの抽出条件

    毎度お世話になります。 クエリをレコードソースとするフォームから、コマンドボタンでアクションクエリを実行するときの抽出条件の書き方を教えて頂けないでしょうか? 二つのテーブル(別のACCESSファイルからリンク)を基にパラメータクエリを作っています。 そのクエリを基にフォームを作っています。 さらに、そのフォームに追加クエリを実行するボタンを置いています。 フォームに表示してあるレコードだけ(パラメータで抽出されたレコードだけ)、他のテーブルに追加しようと思っているのですが、実行ボタンを押すともう一度パラメータが出てきてしまいます。 多分テキストボックスの値を読み取る際にレコードソースがテーブルでないのが問題じゃないかと思うのですが。。。 テーブル:Container / Items クエリ:From_Con(パラメータは[Container]フィールド) フォーム:From_Con(テキストボックス名は[txtContainer]) 追加クエリ:From_Con_App(抽出条件は[Forms]![From_Con]![txtContainer]としてみたがうまく動きません。) デザインビューの抽出条件を使う方法? SQLを使う方法? QueryDefを使う方法? いろいろありそうですが、ネットで検索してもヒットしません。 分かりにくい説明で申し訳ありませんがご教授願います。