成績処理システムの地区別名簿の印刷時にページ指定などをしたい

問い合わせ

成績処理システムの地区別名簿の印刷時にページ指定などをしたい。

回答

現状、システムにそのような機能は備わっておらず、それを実装する場合、教育委員会と相談して行う必要がある。

ただ、とりあえずの解決策として、プリンターを PDF 出力するものに変え、PDF ファイルを出力する。

そして、PDF ファイルを普通に開き、ページを指定して印刷する方法を説明しておいた。

成績処理システムで特定のクラスだけ部活動の情報が名簿に出力されなかった

問い合わせ

成績処理システムの生徒名簿を出力するとき、特定のクラスだけ部活動の情報が出力されなかった。

対応

試しに印刷してみたが、出力された。

もっと詳細に調べるため、当時インポートした Excel ファイルを再度インポートしてみたが、問題なく出力された。

そのため、何が原因なのかはわからない。


一般的な解釈ならば、部活動の情報を入れていない Excel ファイルをインポートしていたのだろうが、確かめようがない。

成績処理システムの保護者のふりがなの挙動はどんなかんじか

問い合わせ

成績処理システムの保護者のふりがなはどのように扱われるのか。

特に、保護者名の含まれた生徒名簿を出力するときに。

回答

文字の中にスペースが含まれていれば、スペース以降の文字を出力する。

スペースが含まれていなければ、すべての内容を出力する。

そのため、ふりがなの名前だけを出力したければ、スペースを入れるか、名前だけを情報として入れる必要がある。

成績処理システムで出欠のExcelファイルが取り込めない

問い合わせ

成績処理システムで出欠の Excel ファイルが取り込めない。

3 年生のものは何をやっても無理。

1 年生のものははじめ作ったものはダメだったが、昨年のデータを改良したものは取り込めた。

対応

VBA をたどっていくと、Excel ファイルを取り込み、テーブルに格納するところでエラーになっていることがわかる。

Excel ファイルが悪いのはほぼ間違いないが、全然理由がわからなかった。

そこで、VBA のコードをいじり、素のエラーを表示させるようにしたら、「フィールド F67 を挿入できません」みたいなエラーが表示された。

このエラーで気づく。

見た目は問題なさそうな Excel ファイルだが、列の右端に想定していないデータ (テーブルのフィールドが存在しない) が含まれている状態らしい。

Excel ファイルの不要な列をまとめて削除して再度取り込んだら、無事にデータが取り込めた。


こんなの見た目では判断できないのだが、なぜ取り込めなかったかを説明し、もしほかの学年でうまくいかなかったら 3 年生の Excel ファイルをうまいことやって取り込んでもらうように頼んでおいた。

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

問い合わせ

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

対応

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

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

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

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

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

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

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


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

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

成績処理システムでエラーが発生する

問い合わせ

成績処理システムで、テストの「学年順位」を表示しようとするとエラーが表示される。

「Null の使い方が正しくありません」みたいな内容。

対応

以前も似たような現象があったが、生徒の一覧を見ると空欄のものがあった。

そのため、転校した生徒であっても必ず「転校」でも「あ」でもいいから名前を入れておいてほしいと頼んでおいた。

成績処理システムの年度更新を行いたい

問い合わせ

成績処理システムの年度更新を行いたい。

対応

普通はシステムのデータ部のファイルをコピーするだけなのだが、そうはいかなかった。

なぜか、年度ごとに別々のフォルダーに管理されており、まずはフォルダーづくり。

フォルダーを作ったら、そこにデータ部以外の必要なファイルをコピーする。

次に空のデータ部をコピーし、ファイル名を適切に変更する。

そして、app.ini を編集。

この状態でとりあえずシステムを実行すると、いくつかテーブル修正のメッセージが表示された後、システムが起動する。起動したときのフォームに表示される内容から正しいデータ部を見ていることも確認できた。

あとは生徒の情報を取り込んだりして使えばよく、1 クラス分取り込んで動作試験を行い正常なのを確認しておいた。

成績処理システムで印刷ができない

問い合わせ

成績処理システムで、1 年の要録が印刷できない。

Null のエラーが表示される。

対応

Null が原因とメッセージで表示されているので、生徒の情報のテーブルを見て、空欄の行があるかを確認する。

すると、入学年度が空。

ここが原因なのかが怪しかったので、ブレークポイントを使いたどっていくと、確かに入学年度でエラーが発生して止まった。

そこで、入学年度にデータを入れて、正常に印刷できることを確認した。


前々から出ている話だが、インポート前にデータの整合性チェックをやりたい、がそんなものを作る時間や技術がまだ足りない。