アクセスのマクロ解析ツールはありますか?

このQ&Aのポイント
  • アクセス97で発注・仕入処理をクエリーとマクロを使って行っていますが、処理が複雑化し、管理が難しくなってきました。
  • VBAを学ぶ時間もなく、システム屋さんに頼むにも業務知識がなく難しいため、自分で解析できるツールを探しています。
  • アクセスの機能にあるデータベース解析ツールは使いづらいため、安価かフリーのツールを教えてほしいです。
回答を見る
  • ベストアンサー

アクセスのマクロ解析ツール?

素人ながら、アクセス97で発注・仕入処理を クエリーを使い倒し、マクロを用いて、 どうにかこうにか、システムを作って、運用しています。 ところが、クエリーの数も200個以上になり、 マクロも小さな処理も含めて100は超えています。 こうなってくると、どこでどのマクロを使っていたのか、 すっかり忘れてしまうこともあり、変更の都度、あちこち をたどって行かねばなりません。 VBA(VB)を使えれば良いのですが、今更一から勉強するような時間の余裕すらありませんので、 かといってシステム屋さんに頼もうにも、 業務を全く知らないので、その打ち合わせをする時間で ある程度のもななら自分らで作れるので、 苦労して作っています。 そこで、教えていただきたいのは、マクロまでの処理で 作る場合、あとあとのメンテナンスの時、このマクロは どこで使われているのか、逆引きできたり、どのフォームから実行されているのか、などわかりやすく解析できる ツールのようなものは有りませんでしょうか? ドキュメントツールとなると、たいそうなものでしょうか? アクセスの機能にある、データベースの解析など やたら、紙面が増えて使いづらいことこの上なしなので 何か良いツール(安価かフリーなもの)を教えてください。

noname#1745
noname#1745

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

  • ベストアンサー
  • ARC
  • ベストアンサー率46% (643/1383)
回答No.2

http://www.okweb.ne.jp/kotaeru_reply.php3?q=165941 今度は、回答…になるのかな? 1:モジュールを新規作成して、以下の内容をコピー、貼り付けてください。 '****ここから**** Public Function AnalyzeMyQuerys_and_Scripts() As Long   Const OutputFileName = "C:\Report.txt"      Dim cntForms As dao.Container   Dim docForm As Document   Dim Ctl As Control   Dim FileNo As Integer   Dim Value As String   Dim Frm As Form   Dim prp As Property   Dim CtlnamePrinted As Boolean   Dim i As Long   Dim DocName As String   FileNo = FreeFile   Open OutputFileName For Output As #FileNo      Set cntForms = CurrentDb.Containers("Forms")         On Error Resume Next   For i = 0 To CurrentDb.Containers("Forms").Documents.Count - 1     DocName = CurrentDb.Containers("Forms").Documents(i).Name     DoCmd.Close acForm, DocName, acSaveYes     DoCmd.OpenForm DocName, acDesign     Set Frm = Forms(DocName)          Print #FileNo, ""     Print #FileNo, ""     Print #FileNo, Frm.Name     Print #FileNo, vbTab & "RecordSource: " & Frm.RecordSource     For Each prp In Frm.Properties       If prp.Name Like "on*" Then         If prp.Value <> "" Then           Print #FileNo, vbTab & prp.Name & ": " & prp.Value         End If       End If     Next prp          For Each Ctl In Frm.Controls       CtlnamePrinted = False       Value = ""       Value = Ctl!RowSourceType       If Value = "Table/Query" Then         Value = ""         Value = Ctl!RowSource         If Value <> "" Then           If CtlnamePrinted = False Then             Print #FileNo, ""             Print #FileNo, vbTab & Ctl.Name             CtlnamePrinted = True           End If           Print #FileNo, vbTab & vbTab & "RowSource: " & Value         End If       End If       For Each prp In Ctl.Properties         If prp.Name Like "on*" Then           If prp.Value <> "" Then             If CtlnamePrinted = False Then               Print #FileNo, ""               Print #FileNo, vbTab & Ctl.Name               CtlnamePrinted = True             End If             Print #FileNo, vbTab & vbTab & prp.Name & ": " & prp.Value           End If         End If       Next prp     Next Ctl     DoCmd.Close acForm, DocName   Next i   Close #FileNo End Function '****ここまで**** 2:マクロを新規作成して、1行目に、   アクション:プロシージャの実行   プロシージャ名:AnalyzeMyQuerys_and_Scripts()  のようにして、保存してください。 3:開いているフォームを全て閉じてから、2:で作ったマクロを実行。 4:C:ドライブの天辺に、「Report.txt」なるフォームが出来ていると思うので、メモ帳などで開いてください。 「このクエリは何処で使われているの?」ってなことが知りたい場合は、メモ帳の検索機能を使ってください。 フォームの「レコードソース」「イベント」と、コントロールの「値集合ソース」「イベント」に限定して拾ってきているだけですので、それ以外のプロパティにクエリ/マクロが登場している場合には、その項目は取得できません。

その他の回答 (2)

  • ARC
  • ベストアンサー率46% (643/1383)
回答No.3

誤 C:ドライブの天辺に、「Report.txt」なるフォームが出来ていると思うので、 正 C:ドライブのてっぺんに、「Report.txt」なるファイルが出来ていると思うので、 でしたm(__)m。 ポカミスの専門家(^^;

  • ARC
  • ベストアンサー率46% (643/1383)
回答No.1

回答ではなく、アドバイスになるのですが… データベースウインドウで、クエリやマクロなどを右クリック→プロパティで、コメントを記述できます。 これを使えば、少しは分かりやすくなるのではないかと思います。 それから、これはいまさら遅いかもしれませんが、テーブル、フォーム、クエリなどの名前を、3桁の数字+名称ってな感じで付けると、整理しやすいです。 100番台は商品関係、300番台は仕入先関係… などと決めておくと、名前で並び替えるだけですっきりと整列しますよ。(Access2000以降では、後からマクロ等の名前を変更しても、フォームの内容とかがそれに合わせて再設定されます。) 例えばどのフォームがどのマクロやクエリを使っているのか、といったことはVBAを使えば一覧出力が可能なのですが…

関連するQ&A

  • Access2007のマクロについて

    Access2007のマクロでやりたい事は・・・ 削除クエリと追加クエリを作り、このクエリを連続して処理をするために マクロ「クエリを開く」で作りました。 そうすると、そのマクロを実行すると削除クエリの「**件削除してよいですか?」という メッセージが出来ます。「OK」をクリックすると 次の追加クエリが処理されやはり「**件追加してよいですか?」というメッセージが出ます。 やりたい事は、いちいち「OK」をクリックするのが面倒なので、マクロを実行すると 「**件削除してよいですか?」というメッセージが出ないようにするにはどうしたら良いでしょうか? 分かりにくい質問で申し訳ございませんが、宜しくご教授の程お願い致します。

  • アクセス97のドキュメント作成ツールについて

    アクセス97で簡単に構造の解析のできるツールを探しています。 たとえば、フォームのフィールドはどこのテーブルやクエリーから引っ張ってきているのかや、クエリーがどこのテーブルをもってきて、どういう条件で作られているのかなど、簡単に解析したいのです。 参考になる方法やサイトがありましたら教えてください。

  • Accessを解析したい

    初心者です(WindowsXP Access2000) Accessで手間隙かけて作り上げたFORMがトラぶってしまいました。結局最終目的であるフォームから順にたどってトラブルの原因はつかめたのですが、今後のためにも、どのような手順で作ったかを記録しようと思っています。 そこで、どなたかAccessを解析するフリーのツールをご存知の方いらっしゃいませんか。ただし、SQLで出てきても困ります。例えばこのクエリはどのテーブルとどのクエリの組み合わせでどのような条件で作っているかなど、なにせ初心者ですので、、、 よろしくお願いします。

  • ACCESSの解析ソフト

    ACCESSの解析ソフトを探しています。 テーブル名、リンク先、 クエリの種類、繋がっているテーブル マクロの中身 等々…を、EXCELに出力できるような ソフトはありませんか? Vectorで探したのですが見つかりませんでした。

  • アクセス解析について

    gooでブログをやっているのですが、既存のスキンを使用しているため、タグを組み込む方式の外部のアクセス解析を取り付けられません。 フリーのスキンをイチから作りこんでいくほど知識と時間もないのですが、URLのみでリファラや検索条件等が分かるアクセス解析ツールはないのでしょうか。ちなみにカードを持っていないためgooの有料解析ツールも申し込めません・・。 ご回答いただければ幸いです。

  • ACCESSのマクロ?

     ほとんど初心者なので、難しいことを教えていただいてもわからないのですが、Excelで他のシートのセルを引用するのに、 =VLOOKUP(A1,[ABC]Sheet1!$A$1:$D$19,4,FALSE)  こんな感じのマクロを書きます。 これと同じことをaccessでしたいのですが、VBAで書かないと無理なのでしょうか?  accessは、テーブルをたくさん使ってクエリで処理するようですが、excelで慣れてしまっているので、理解できなくて困っています。よろしくお願いします。

  • Accessのmdb分析(解析)方法またはツールを教えて下さい

    Access2000のmdb解析について方法またはツールを教えて下さい。 会社で引継ぎをしたAccessのmdbなのですが、複数のmdbを利用し レポート(帳票印刷)や情報抽出を行っている様になっており、 リンクがどの様になっているのか、また、そのリンク先テーブルから 何を参照し、クエリ結果が注抽出されているのか、パッと見て解らない状態です。 今後、OracleDBへ変更する可能性もある為、引き継いだmdbの情報を まとめておきたいと考えています。 どのmdbとmdbがリンクされており、その結果何が生成されているのか というのがExcelやテキストにエクスポートできるツール等が ありましたら、教えて下さい。 Access初心者なので、うまく表現できませんがどなたか 教えて下さい。お願いします。

  • ACCESSに変わるレポーティングツール探しています

    基幹システム(Oracle10g)のデータをもとに、ACCESSを使用していろいろな帳票や集計を行っているのですが、同じようなことを他の市販ツールを用いてできないかと考えており、いい製品があれば教えていただけないでしょうか。 ■現在の使用法(ACCESS) ・基幹データ(Oracle)をACCESSからODBCリンク接続して、リアルな情報を元に帳票(ACCESSレポート)出力やデータのクエリ集計出力(csv出力)を行っている。 ・帳票出力やデータ集計出力に必要な情報について、基幹データに存在しないものもあるので、それらについてはACCESSのフォームから直接データを入力しており、それらのデータをクエリにてマージして出力している。 ■市販ツールの要件 ・現在ACCESSで行っていることが実現可能 ・大量の基幹データでも高速処理が可能(現在処理性能が低くて困ってます) ・エンドユーザ(ACCESSは問題なく使用できるレベルの人)が、ある程度の説明を実施すれば帳票や集計クエリなどの開発を行うことが可能 ・帳票やデータ集計クエリのサーバーでの一元管理も可能

  • ACCESS97mdbを分析したいのですがこんな事出来ますか?

    こんにちは。 ACCESS97(初心者に近い)なのですが、 1個の.mdbの各テーブル、クエリー、レポート、マクロにたくさんのオブジェクトがあります。 テーブル、クエリーは30個近くあります。 これをどのテーブルやクエリーがどこに関連しているのか、分析したいのですが方法がわかりません。 「ツール」-「解析」-「データベース解析」やってみましたが・・・ 初心者なもので、図と矢印などで表現してほしいんです。 そんなわがままなこと無理でしょうか? やはり地道に一つ一つ見ていかなければならないでしょうか・・ また、そういうフリーソフトなどあれば、教えてください。 よろしくおねがいします。m(__)m

  • ACCESS(アクセス) マクロを使った複数条件検索

    accessを使った履歴DBを作っているのですが、本格的にVBをするつもりは毛頭なく、極力マクロを駆使して、頑張ってきました。 現在、クエリビルダーでSQL文をそのまま書いて、こちらをフィルタ名に指定して、複数条件検索マクロ(フォームを開く)を組んでいるのですが、この方法だと条件に合致するものがない場合でも、フォームを開くというマクロを実行してしまいます(当たり前なのですが)。検索結果が0件の場合にはエラーメッセージを出すように本当はしたいです。 VBに切り替えれば間違いなく出来るのは想像できるのですが、VBは全くやる気がないので、できることならマクロで何とかしたいのですが・・・。やっぱり無理でしょうか。