エクセルマクロなブログ

エクセル マクロ(Excel VBA)の作成・制作に携わっています。

◆お問い合わせはこちら◆

スポンサーサイト

一定期間更新がないため広告を表示しています

- | - | -
<< CGIを初めて組んだのはVisualBasicでだった その2 | ACCESSの罠 >>

CGIを初めて組んだのはVisualBasicでだった3

いわゆるインターネットタウンページみたいなCGIの
お話の続き。

地図が表示されるだけのCGIサンプルから
次への第一歩は一体どんなのだったのか
残念ながらもう思い出せない。

とりあえずサンプルの日本地図からクライアントの
用意した地図に置き換えたのが最初だったと思う。
それで拡大縮小機能をつけたような気がする。

で、Accessに座標情報を入れていったのかなぁ。
ここら辺は部長がやってくれたような気がする……。

とりあえずDBが変換されて、地図と連動はしないながらも
タウンページ的な検索機能を実装したのが先だったかもしれない。

ここで検索結果を表示するルーチンを作ったわけだけど
ループを回して検索結果の表を作るというのを生まれて
初めて書いたわけだ。
HTMLタグを使ってループで検索結果の表を作る。
いかにもCGIらしい感じに初めてなってきた。
当然検索結果一覧からある項目を選ぶと詳細が
表示される。

今までずっとVBなプログラムだけだったので、そのアプリというか
プログラムを実行中なら変数はクリアしなきゃ保持することも
簡単だったわけだが、CGIは一度処理が終了するとプログラム自体が
終わっちゃうのでプログラム内部に変数を保持することができない。

で、どうするかというと不可視のタグに変数を書き込んでやるわけだ。
検索結果一覧からある項目を選ぶと、保持されている変数を元に
再度検索をかけて、その項目を呼び出すということになる。

ここらへんのフォームのタグは少しやったことがあったので色々
試行錯誤しながらなんとか作ることが出来た。

呼び出しはAccessなので当然SQLである。

まぁ変数さえ拾えればあとはいつもの検索ルーチンと変わりないので
問題はない。

でもここまで来るまでに色々苦労した。
VBで普通のWinアプリを開発している時は
ソースをしこしこ書いてから、テスト動作させてみて
エラーが出た場合は、ソースの問題の部分が黄色くなって
表示される。デバッグはそこを修正すればいいわけだ。

しかしながらCGIは勝手が違った。
IISの仕様なのかCGIがエラーを起こしていても
InternalSeverErrorとかでなくてブラウザが
真っ白け表示になるだけだった。
エラーを起こしたらエラーを起こしたのがどこで
あるか分かるようにしないと行けないのだった。
ブラウザにHTMLで出力を行わないと何も分からない
からエラーページ作成ルーチンを組まないといけない。
当時はCGIは設置しても作成どころか改造すら
しなかったので、そういうのが全然分からなかった。

VBの場合、Perlで組むよりは文法ミスとかは
コンパイル時にチェックされるので楽なのかも
しれないが、そのかわりHTMLタグをPerlよりも
ソースの中に書くのが面倒だったように思う。

つづく
CGI | - | -

スポンサーサイト

- | - | -