目次へ   図書管理  P.35

貸出一覧ファイルで貸出・返却業務

生徒データの重複書き込みを可能にする

P.33の最後のほうに書きましたように、このままでは同じカードの表組に同一生徒のデータを複数書き込むことができませんでした。システムを修正して複数データを書き込むことができるようにします。

※このまま実行すると、行が追加されずすでに入力されている同じ生徒データを上書きします。
このシステムは次のような手順で書き込みを行っています。
 @○印のついた「生徒名簿」カードは検索された「図書貸出」カードから「書籍コード」を受け取る。
 Aこの「書籍コード」を頼りに該当する「図書貸出」カード見つける。
 B該当カードの表組項目「生徒番号」を頼りに該当行に生徒データを書き込む。
 C同じ「生徒番号」がなければ表組の最後に新たな生徒データが追加されます。

「生徒名簿」の「生徒番号」項目に計算式を設定
「生徒名簿」ファイルを開きます。
メニュー〈デザイン〉→〈DB設計〉→〈計算式〉
以下の計算式を追加します。
生徒番号=@add(@cutspc(生徒番号)," ")
※すべての生徒番号の最後に半角スペースを付けます。
※@cutspc(生徒番号)は、はじめから「生徒番号」にスペースが入っているとスペースが2個付くことを防いでいます。
 メンテナンスでバックアップされた「生徒番号」にはすでにスペースがついています。
 これをリストアするとスペースがダブってついてしまうのでこれを防止しています。



「図書貸出」の「生徒番号」項目にも計算式を設定
「図書貸出」ファイルを開きます。
メニュー〈デザイン〉→〈DB設計〉→〈計算式〉
以下の計算式を追加します。
生徒番号=@cutspc(生徒番号)
※こんどはすべての生徒番号から半角スペースを取り除きます。

テストしてみます
書き込む生徒データの「生徒番号」には最後にスペースがついているため、「図書貸出」に書き込まれた「生徒番号」(最後にスペースがついていない)と別データとみなされるからです。
「図書貸出」に書き込まれた「生徒番号」は計算式によって自動的に最後のスペースが取り除かれます。これで表組欄に同一生徒の書き込みができるようになりました。