1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Accessクエリは神か?悪か?~Accessのプロ集団が語る~

Posted at

初めまして。
株式会社インフォースの技術部長を勤めているike_inforce_devと申します。

弊社ではAccessのシステム開発を専門としており、SQLServerやAzureSQLdatabaseへのアップサイジングを得意としております。

世間では、ノーコード・生成AIなどが流行ってる横で、日々多種多様なAccessシステムの問い合わせを頂いており、ありがたい事に忙しい日々を過ごしております。

さて・・・前置きはこの辺にしておいて、
皆さん「クエリ」と聞くと何を想像しますか?

普通は、DBへの命令文なので「SQL」が思い浮かぶかと思います。

SELECT、INSERT、等々それぞれ構文が決まっておりますが、結合やサブクエリなどが絡むと中々覚えるのが大変ですよね。

ですが、AccessのクエリはSQLが書けなくてもGUI操作でデータを操る事が出来る優れものなんです。

スクリーンショット 2025-06-18 155143.png

SQLビューで覗くとこんな感じ。
image.png

クエリオブジェクトとして保存し、「クエリ実行」と命令するだけでいつでも設定済のデータを操る事が出来ます。

image.png

うはっ!!こりゃ便利!!神かよ!!!

って思いますが・・・

実は作成済のクエリオブジェクトを使って、更にクエリを作る事が出来るんです。

image.png

クエリオブジェクトでありつつ、新しいクエリを作成するときはテーブルのような扱いになるので、いくらでも階層深く作る事が出来てしまうんです。

どんなシステムでも、日々メンテナンスが発生します。
クエリの修正が発生した場合、1つずつクエリを開いて直す必要があるので、
メンテナンス性が非常に悪く、 と思われたクエリが に変わります。
更にこのパターンはドキュメントが用意されていない場合も多いので、作った人しかわからない状態になります。

うん、恐ろしいですね( ^ω^)

という事で纏めです。

** 神の要素 **
-- SQLの知識不要でデータを操作出来る

** 悪の要素 **
-- メンテナンス出来なくなるリスク

最後に、声を大にして言わせてください。
クエリにクエリを重ねるのは止めよう!

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?