ドリンクバーゲン会場

学籍簿の作成はやっぱり大変!2010年10月06日 09時19分52秒

学籍簿の作成はやっぱり大変!

ソフトウェア開発
VisualStudio
雑談


システムの購入の話が出てきてはいますが、今のところまだ購入に向けた動きがあるわけではないし、今のシステムではやはり不便なので開発は継続中です。

指導要録は4枚の印刷物で構成されていて、生徒の情報、修得単位数、所見、学籍の記録となっています。

現状では、生徒の情報、修得単位数、所見の3つはある程度できています。
しかし、最後の学籍の記録で今は止まっている状況です。

学籍の記録では、科目ごとの評定と単位を学年ごとに表示させることになります。

        1年          2年         3年
     評定  単位     評定  単位    評定  単位
国語   3    4       4    4      3    6
数学   4    3       3    5      2    3

こんな感じで表示させるのですが、これがうまくいきません。
最初に考えたのは、サブレポートでクロス集計の画面をつくる方法ですが、
評定と、単位を項目として指定した場合、評定と単位が上下に並んでしまい、横に表示することができませんでした。
方法があるのかもしれませんが、現状では確認できていません。

次に評定のみでサブレポートを作成し、とりあえずできるかどうか試してみたのですが、
クロス集計でできた表では行間が広く、レイアウトに合わせて表示させることができませんでした。

学籍の記録では、科目を1列で表示するために、フォントも小さく、高さもかなり狭いレイアウトになり、
通常のサブレポートであれば、表示できる場合でも、クロス集計を行ってしまうと行間がどうしても開いてしまい、
レイアウト通りにはなりませんでした。

CrystalReportでのクロス集計が無理だったら、データベース側で行えばよいのではないかと思い、
SQLServer側でクロス集計を行う方法を調べてみたら、なんかややこしいようです。

ACCESSのようにはできないようで、現在調査中です。
T-SQLとか使わないといけないようです。
この辺はあまりよくわかってないので、調べてみます。

サブレポートの作成2010年09月30日 10時47分20秒

サブレポートの作成
CrystalReportの続きです。
データベースのリンクができたら、クラス一覧を表示するためのサブレポートを作成します。

サブレポートを作るは、詳細セクションで右クリックし、「挿入」―「サブレポート」を選択します。

枠が表示されるので、適当なところでクリックすると、サブレポートの挿入画面が開き、なにも作成していないので、「レポートウィザードを使用してレポートを作成」を選択し、名前を「クラス一覧」とつけて「レポートウィザード」ボタンをクリックしました。

ウィザードでは、クラス一覧を表示するために使う項目を選択していきます。
手順としては、データベース、テーブル、項目と選んでいくだけです。
あらかじめ、クラス一覧に必要な項目をSQLServerビューに登録しておいたので、それを選択します。

新規にウィザードを使ってレポートを作成したら、「クラス一覧」のタブが追加されました。
タブをクリックすると、サブレポートの編集画面に表示が切り替わります。
それと同時に、「フィールドエクスプローラ」の「データベースフィールド」にウィザードで選択したテーブルに表示が切り替わりました。
ここから項目を選びます。必要な項目は、学年、組、番号の3つです。

表示エリアには、4年分の枠があります。
本校では、最大4年間の在籍が認められていますので、4年分の枠を作っていますが、通常は3年分となります。

3つの項目を縦に表示し、学年ごとに横に表示していきます。
ここで、実際に表示させてみると、1年、2年、3年と横に表示させないといけないのですが、すべて縦に並んでしまいます。
ネットでいろいろ調べた結果、「セクションエキスパート」で変更が可能でした。

方法は、詳細セクションで右クリックし、「セクションエキスパート」を選択します。
出てきた画面の左側の一覧から「詳細」を選択し、画面右側の「共通」タブから、「複数の列で書式設定」にチェックを追加すると、
「レイアウト」タブが新たに表示されますので、「レイアウト」タブを選択します。

次に「印刷方向」を「横から縦」に変更することで学年ごとの表示が横に表示されるようになります。
あとは、枠に合わせて表示位置の調整をします。

調整方法は、同じ「レイアウト」タブの中にある「詳細のサイズ」と「詳細の間隔」の数値を変更することです。
値は、プレビューで確認しながら調整します。

これでサブレポートの表示も完成です。
クラス一覧は4枚ある指導要録すべてにあるので、これをほかの3ページにも使おうと思ったのですが、これが他のページには
表示が出せませんでした。何か方法があるのかもしれませんが現状は解説できていません。

そこで、クラス一覧を別のレポートファイルに作成し、サブレポートの作成の際に「既存のレポートを選択」を選ぶようにしました。
この方法だと、すべてのページに同じ情報を載せることができました。

サブレポートの作成の際には複数のページに同じサブレポートを表示させる場合はあらかじめ別ファイルにレポートを作成するほうが
現状では良いようです。

CrystalReportちょっと進展2010年09月29日 12時26分29秒

データベースエキスパート
CrystalReportでの印刷に関してちょっとだけ進展がありました。

すこーし光が差してきた状況です。
学籍データをもとに指導要録を印刷するのですが、指導要録は合計4ページあり、現在稼働しているシステムでは、個別に印刷しないといけないのですが、今回は4ページを一度に印刷できるようにしていきます。

まず、1ページ目では、生徒の基本情報と、在籍情報、転籍情報などをもとに作成するのですが、CrystalReport上でリンクを設定していきます。

生徒情報には、氏名や住所、出身中学などの情報が入り、在籍情報には、年度ごとの学年やクラスなどが登録されています。
生徒情報と在籍情報をあらかじめデータベースエキスパートのリンクで設定しておきます。

これで、生徒単位の情報を取得できるようになります。
注意しないといけないのは、画面を開いた時に勝手にリンクが張られているので、確認が必要です。

次は、画面の作成に入りたいと思います。

印刷で進まない!2010年07月17日 11時39分31秒

作成中のシステムも一部の機能は稼働させています。
といっても簡単なところだけなのですが・・・!

住所変更や転籍処理などです。
学校と言う場所柄、成績や学籍情報などを印刷する機会が多く、システムにも取り入れる必要があります。

退学や転学などの際には学籍情報を印刷する必要があり、現在印刷の機能を入れようと取り組んでいるのですが、事印刷に関しては情報がほとんどなく、なかなか進みません。

VisualStudioにはCrystalReportsやマイクロソフトの帳票用のツールもあり、フリーではiReportなどのツールがあるのですが、ネット、書籍ともに情報があまりありません。

少ないWebページやサンプルなどを見て調べているのですが、なかなかこれという情報に巡り合えず困っています。

印刷できるようになるにはまだまだ時間がかかりそうです。