| 大地さん
どうも(b)のイベントを使わないと難しいようです。
サンプルをアップしましたので、試してみてください。(v9-2005対応)
サンプルの項目[月]のデータには、7しか入力してありませんから、
今月(8月)にフォームを開いたら、8月のグループ化状態になります。
もし8月のデータがあれば、8月でグループ化します。
イベントの種類は「フォーム開始」イベントです。
kevファイルを定義で開くと、方法AとBの記述があります。
Aの方が確実だと思います。
手続き定義開始 フォーム::フォーム開始(長整数 &表番号) (←この行は桐が自動的に作成します。)
/* 方法A */
グループ検索 { [月]=#mon(#date) }, 終了状態=&秒
if( .not&秒 )
グループ追加 { [月]=#mon(#date) }, 終了状態=&秒
end
/* 方法B */
* グループ指定 最終 , 終了状態=&秒
* メソッド呼び出し ハンドル = &hwindow ,戻り値 = &分 , @u月.グループソース値取得( &時 ,0 )
* if( &分=1 .and.not&時=#mon(#date) )
* グループ追加 { [月]=#mon(#date) }, 終了状態=&秒
* end
手続き定義終了(←この行は桐が自動的に作成します。)
Bの各行の先頭に *印を付けてコメント行としているので、Bは実際には動作していません。
Bの*印を削除して動作させるときは、必ずAの各行の先頭に*印を付けてください。
フォーム開始イベントを有効にするには、
フォーム定義画面で、周囲の白い台紙部分(ワークエリア)をダブルクリックして、
フォームの「オブジェクトの属性」を出して以下の設定をします。
→「イベント」(タブ)→「イベントファイル名(C)」に任意のファイル名を指定します
→「イベント(E)」の「フォーム開始」の文字部分をダブルクリックします。
→イベントファイル(kev)が開き、フォーム開始イベントの入力画面になります。
慣れてないとややこしいので、わからないことはどんどん聞いてください。
常連回答者は何人もいますから、遠慮しないでいいですよ。
アックン(=^・^=)
|