2018年2月7日水曜日

Access2010のadpとおさらば(3)

さて、これまでのことで、SQLへの移行がテーブル、フォーム、レポートについては完了。
しかし、これで完全ではない。
クエリー(系)が まだだ。

系、とかいたのは、ADPとACCDBとで、クエリーが異なるからだ。

ADPでは、 View 、ストアドプロシージャ、関数 と3つを使い分けるが、ACCDBでは、「クエリー」一本。

何が違うか。
変数の渡し方にADP側は 少々癖がある。
Viewでは 変数を渡せない。accde側は Viewに相当するのが「選択クエリ」。
「選択クエリ」では 変数を直接書けるが、Viewでは そのような記述はできない。

たとえば、会社名や電話番号が項目(field)としたテーブルがあったとして、
子にテーブルの対し 市外局番が 033 である会社を抽出せよ、ということに関しては Viewも選択クエリも記述可能だが、 「フォーム上にあるテキストボックスに入力された市外局番」の会社を抽出せよという記述は 選択クエリにおいては可能だが、Viewでは不可能。

したがって adpの場合、どうするかというと、VBA上で SQL構文を記述して そこに 変数を 入れ、viewを作成することとなる。

SQL構文で 抽出等を記述しているものは、フォームやレポートの移動にともなって一緒にインポートできるのだが、ACCESS覚えたての頃は こうした芸当はできず、単独のクエリとして記述してあって これが、 システムのあちこちに残っている。

adpからAccdbへの移行作業の大半は 実は これ。単独(独立)クエリをあらためて作ろ直すか、あるいはまた これを機会に SQL構文化するかだ。

移行作業がほぼ終わったというのは これを意味する。


 




0 件のコメント:

コメントを投稿