件数の制限
- このフォーラムに新しいトピックを立てることはできません
- このフォーラムではゲスト投稿が禁止されています
tennis
投稿数: 178
![長老 長老](../../uploads/rank3dbf8eb1a72e7.gif)
Takeさん
回答ありがとうございます。
ぜひ取り入れさせていただきます。
回答ありがとうございます。
ぜひ取り入れさせていただきます。
投票数:0
平均点:0.00
Take
投稿数: 124
![一人前 一人前](../../uploads/rank3dbf8ea81e642.gif)
EijiNagaiさんのアイデアを少し発展させて'M:修正'ACTと'T:行作成'ACTをSTAT(0,'C'MODE) AND 行=1の条件でKBPUTすればいけると思いますよ!
投票数:1
平均点:10.00
tennis
投稿数: 178
![長老 長老](../../uploads/rank3dbf8eb1a72e7.gif)
お二人の方回答ありがとうございます。
kawabataさんの回答を試してみたら少し不具合はあったもののなんとか動作することが出来ました。ありがとうございました。
kawabataさんの回答を試してみたら少し不具合はあったもののなんとか動作することが出来ました。ありがとうございました。
投票数:0
平均点:0.00
kawabata
居住地: 群馬
投稿数: 86
![一人前 一人前](../../uploads/rank3dbf8ea81e642.gif)
こんにちは。
EijiNagaiさん
回答に興味を持ちまして私も試してみたのですが、やはりうまく行かず。。。
先ほどの回答を拝見し、納得しました。
ファイルオープンに関わる制御なので、タスク前処理の前で判定している、ということになりますかね?
tennisさん
11行目を入力しようとしたら子タスクを終え、親タスクへ戻る、というのはどうでしょうか?
EijiNagaiのアイデアをベースに、登録モードの条件ではなく、タスク終了の条件に、明細数>10を設定。
手段は違いますが、目的を満たせるならば...。
EijiNagaiさん
回答に興味を持ちまして私も試してみたのですが、やはりうまく行かず。。。
先ほどの回答を拝見し、納得しました。
ファイルオープンに関わる制御なので、タスク前処理の前で判定している、ということになりますかね?
tennisさん
11行目を入力しようとしたら子タスクを終え、親タスクへ戻る、というのはどうでしょうか?
EijiNagaiのアイデアをベースに、登録モードの条件ではなく、タスク終了の条件に、明細数>10を設定。
手段は違いますが、目的を満たせるならば...。
投票数:0
平均点:0.00
EijiNagai
投稿数: 65
![常連 常連](../../uploads/rank3dbf8e9e7d88d.gif)
逃げ手として(V4〜V6はNG)
子タスクのレコード後処理に
アクション KbPut ('修正(M)'ACT) 条件 Stat (0,'C'MODE) AND カウンタ=1
で強制的に修正モードにする。
参考まで。
子タスクのレコード後処理に
アクション KbPut ('修正(M)'ACT) 条件 Stat (0,'C'MODE) AND カウンタ=1
で強制的に修正モードにする。
参考まで。
投票数:0
平均点:0.00
tennis
投稿数: 178
![長老 長老](../../uploads/rank3dbf8eb1a72e7.gif)
そうですか....分かりました。
わざわざ調べてくださりありがとうございました。
引き続き解決策を探してみます。
わざわざ調べてくださりありがとうございました。
引き続き解決策を探してみます。
投票数:0
平均点:0.00
EijiNagai
投稿数: 65
![常連 常連](../../uploads/rank3dbf8e9e7d88d.gif)
原因はおぼろげながら、わかりました。
モードの制御はモードの変化がある場合にチェックされるようです。つまり、修正モードから登録モードへ変化する場合は制限がかかりますが、登録モードから登録を続ける場合は、モードの変化がないため、制限がかからないようです。
(例外は修正モードから、下向き矢印などで登録モードになった場合はその登録が完了した時点で一旦修正モードに戻るのでチェックがかかります。)
解決方法はわかっていませんが、上記のことを確認するには1件明細を登録して、親プログラムに戻り、再度子プログラムで追加していくと、今度はうまくいくはずです。
解決策が見つからない限り、この方法は駄目ですね。
モードの制御はモードの変化がある場合にチェックされるようです。つまり、修正モードから登録モードへ変化する場合は制限がかかりますが、登録モードから登録を続ける場合は、モードの変化がないため、制限がかからないようです。
(例外は修正モードから、下向き矢印などで登録モードになった場合はその登録が完了した時点で一旦修正モードに戻るのでチェックがかかります。)
解決方法はわかっていませんが、上記のことを確認するには1件明細を登録して、親プログラムに戻り、再度子プログラムで追加していくと、今度はうまくいくはずです。
解決策が見つからない限り、この方法は駄目ですね。
投票数:1
平均点:10.00
tennis
投稿数: 178
![長老 長老](../../uploads/rank3dbf8eb1a72e7.gif)
はい。何行でも登録可能です......
自分でも調べてみましたが今のところ解決策はまだ見つかっていません。
自分でも調べてみましたが今のところ解決策はまだ見つかっていません。
投票数:0
平均点:0.00
EijiNagai
投稿数: 65
![常連 常連](../../uploads/rank3dbf8e9e7d88d.gif)
そこまで出来ていて登録できるのは不思議ですね。
12行でも13行でも追加出来るのですよね?
12行でも13行でも追加出来るのですよね?
投票数:0
平均点:0.00
tennis
投稿数: 178
![長老 長老](../../uploads/rank3dbf8eb1a72e7.gif)
カウンタされているのは確認できました。式はタスク制御の登録の部分に入れました。
ですが、なぜか出来ません........
'False'logにすると登録は出来なくなるので制限することは出来ていると思うのですが.....
ですが、なぜか出来ません........
'False'logにすると登録は出来なくなるので制限することは出来ていると思うのですが.....
投票数:0
平均点:0.00
EijiNagai
投稿数: 65
![常連 常連](../../uploads/rank3dbf8e9e7d88d.gif)
子タスクは修正モードで問題ありません。
カウンタの項目を一時的に表示させて、きちんとカウントがされているか、確認してください。
式でモードを制限することはできているのですよね?
(確認方法は例えば、式を'False'logに設定して登録できないようになるか確認するなど)
カウンタの項目を一時的に表示させて、きちんとカウントがされているか、確認してください。
式でモードを制限することはできているのですよね?
(確認方法は例えば、式を'False'logに設定して登録できないようになるか確認するなど)
投票数:0
平均点:0.00
tennis
投稿数: 178
![長老 長老](../../uploads/rank3dbf8eb1a72e7.gif)
早速試してみたのですが、制限をかけることが出来ませんでした。
子タスクが修正モードだから上手くいかないのでしょうか?
ちなみに親タスクは登録です。
子タスクが修正モードだから上手くいかないのでしょうか?
ちなみに親タスクは登録です。
投票数:0
平均点:0.00
tennis
投稿数: 178
![長老 長老](../../uploads/rank3dbf8eb1a72e7.gif)
EijiNagaiさん
回答ありがとうございます。
早速試してみます。
回答ありがとうございます。
早速試してみます。
投票数:0
平均点:0.00
EijiNagai
投稿数: 65
![常連 常連](../../uploads/rank3dbf8e9e7d88d.gif)
一つの案として。
1)ヘッダーテーブルに明細数の項目を設ける。
2)明細プログラムではレコード後処理でヘッダーの明細数項目に対して項目更新 1 I=加算をする。
3)明細プログラムの実行モードの制御で登録に明細数<10を設定
もし、ヘッダーテーブルに明細数項目を設けるのがいやな場合は、変数にして、明細プログラムをコールする前に、明細カウントをすることになります。
ちなみに、加算更新にする意味は削除時に自動的に減算してくれるからです。
1)ヘッダーテーブルに明細数の項目を設ける。
2)明細プログラムではレコード後処理でヘッダーの明細数項目に対して項目更新 1 I=加算をする。
3)明細プログラムの実行モードの制御で登録に明細数<10を設定
もし、ヘッダーテーブルに明細数項目を設けるのがいやな場合は、変数にして、明細プログラムをコールする前に、明細カウントをすることになります。
ちなみに、加算更新にする意味は削除時に自動的に減算してくれるからです。
投票数:2
平均点:10.00
tennis
投稿数: 178
![長老 長老](../../uploads/rank3dbf8eb1a72e7.gif)
kawabataさん
回答ありがとうございます。
良い方法だと思うのですが、できるだけ関数やアクション等のプログラム内の設定だけでかいけつしたいのですが......
何か他に方法はないでしょうか?
回答ありがとうございます。
良い方法だと思うのですが、できるだけ関数やアクション等のプログラム内の設定だけでかいけつしたいのですが......
何か他に方法はないでしょうか?
投票数:0
平均点:0.00
kawabata
居住地: 群馬
投稿数: 86
![一人前 一人前](../../uploads/rank3dbf8ea81e642.gif)
こんにちは。
かなり我流かもしれませんが。
・明細入力のワークファイルを用意
・初期処理でワークファイルに10件のレコードを作成
・明細入力画面は修正モード(登録と削除は不可)
・後処理として、ワークファイルから有効なデータのみ明細台帳ファイルへ書き写す
かなり我流かもしれませんが。
・明細入力のワークファイルを用意
・初期処理でワークファイルに10件のレコードを作成
・明細入力画面は修正モード(登録と削除は不可)
・後処理として、ワークファイルから有効なデータのみ明細台帳ファイルへ書き写す
投票数:0
平均点:0.00
tennis
投稿数: 178
![長老 長老](../../uploads/rank3dbf8eb1a72e7.gif)
伝票のようなプログラムで親タスクは伝票番号
子タスクで明細を入力するようにして有ります。
子タスクは子ウィンで親のフォーム内です。
子タスクで10件しか入力できないようにしたいのですがどうすればよいのでしょうか?
ちなみに子タスクのタスク制御で1ページあたりのレコード件数を10にしても変化は見られませんでした。
子タスクで明細を入力するようにして有ります。
子タスクは子ウィンで親のフォーム内です。
子タスクで10件しか入力できないようにしたいのですがどうすればよいのでしょうか?
ちなみに子タスクのタスク制御で1ページあたりのレコード件数を10にしても変化は見られませんでした。
投票数:0
平均点:0.00