複数のキーフィールドを自動生成する
目的
写真のネガを管理するのに、ファイルナンバー、フィルムナンバー、枝番の3つのフィールドをキーに使用しています。
新規データ追加ボタンを押すと、ファイルナンバーはデータベースのファイルナンバーの最大値、フィルムナンバーは最大値+1、枝番は固定値"0"、撮影年は現在のシステムの年を自動的に生成します。
計算フィールドは、キーフィールドを連結した一連のものとして表示するフィールドです。
新規データ追加ボタン
フォームが編集状態でない場合は編集状態にし、データを挿入する。
データベースのファイルナンバーフィールドの最大値と、FilmNoフィールドの最大値に1を加算したものを変数に保存し、現在のレコード(新規データ)に代入する。;|BeginMethod|#ページ2.#ボタン16|pushButton| method pushButton(var eventInfo Event) var tc tcursor f form TY datetime endvar f.attach() if not f.editing then action(DATABEGINEDIT) action(DATAINSERTRECORD) f.moveto() endif if tc.open("PHOTO.db") then ファイルナンバー=tc.cmax("ファイルナンバー") フィルムナンバー=tc.cmax("フィルムナンバー")+1 枝=0 TY=today() 撮影年=TY.year() tc.close() endif endMethod ;|EndMethod|#ページ2.#ボタン16|pushButton|フォーム上の計算フィールド
一連のIDを連結した文字を表示する
;|BeginMethod|#ページ2.コード|calcField| [MASTER.ファイルナンバー]+"-"+format("w4,ez",[MASTER.フィルムナンバー ])+"-"+[MASTER.枝] ;|EndMethod|#ページ2.コード|calcField|