成績処理システムで特定のフォームで検索するとエラーが表示される

問い合わせ

成績処理システムの要録などの画面で「検索」をクリックすると、「道徳が……」という感じのエラーが表示される。

対応

とりあえず VBA の画面からどこでエラーが出ているか調べ、エラーの原因となっているクエリーをたどっていった。

すると、「道徳」のフィールドがあるクエリーがおかしいことがわかった。

しかし、このクエリー、特定のテーブルから「道徳」のフィールドを取得するはずなのだが、パラメーター扱いになっている。

次に、該当するテーブルの定義を確認したが「道徳」フィールドがない。確か昔作ったはずなのだが……と思い、調べたら原因がわかった。

数年前の更新で、データ部分のテーブル定義がわかった。

しかし今回エラーが出ているデータ部のファイルは、それより古いバージョンのものを使っていた。

ほかの部分ではエラーが出ないが、このフォームのピンポイントでエラーが出ていたようだ。


とりあえず道徳フィールドを追加し、動作するようにしておいた。

まだ生徒のデータなどの取り込みもできていないようなので、取り込んで使ってほしいと頼んでおいた。