サブフォームから親タスクへ戻れないように出来ないか?
- このフォーラムに新しいトピックを立てることはできません
- このフォーラムではゲスト投稿が禁止されています
nkmt
投稿数: 1668
![長老 長老](../../uploads/rank3dbf8eb1a72e7.gif)
いつもお世話になっております。
教えてください。
オンラインタスクに、サブフォームを用意しました。
サブフォームには、メインソースを指定した
表形式での入力&保存を行うタスクを設定。
トランザクションモードを D=遅延
トランザクション開始を T=タスク前の前
サブフォーム側でデータ入力などしている時、
親タスクをマウスクリック出来ないように
する方法は無いでしょうか?
複数行編集して、ボタン操作などにより
全部保存か、全部キャンセル を実現したいのですが
Escで入力タスクを終えるか親タスクマウスクリックで
全保存に当然なってしまう為です。
教えてください。
オンラインタスクに、サブフォームを用意しました。
サブフォームには、メインソースを指定した
表形式での入力&保存を行うタスクを設定。
トランザクションモードを D=遅延
トランザクション開始を T=タスク前の前
サブフォーム側でデータ入力などしている時、
親タスクをマウスクリック出来ないように
する方法は無いでしょうか?
複数行編集して、ボタン操作などにより
全部保存か、全部キャンセル を実現したいのですが
Escで入力タスクを終えるか親タスクマウスクリックで
全保存に当然なってしまう為です。
投票数:0
平均点:0.00
Tanda
投稿数: 2151
![長老 長老](../../uploads/rank3dbf8eb1a72e7.gif)
心配いらないですよ。
ネストになっていない限り、親のトランザクションが効きます。
ネストになっていない限り、親のトランザクションが効きます。
投票数:0
平均点:0.00
nkmt
投稿数: 1668
![長老 長老](../../uploads/rank3dbf8eb1a72e7.gif)
Tandaさん、レスありがとうございます。
説明が漏れておりました。
親タスクは、単なる条件指定タスクです。
子タスクサブフォーム側だけが、データの入力&保存等です。
説明が漏れておりました。
親タスクは、単なる条件指定タスクです。
子タスクサブフォーム側だけが、データの入力&保存等です。
投票数:0
平均点:0.00
Tanda
投稿数: 2151
![長老 長老](../../uploads/rank3dbf8eb1a72e7.gif)
どんな形の親でもトランザクションを親で開始していれば、
そのトランザクションが効きますよ。
そのトランザクションが効きますよ。
投票数:0
平均点:0.00
nkmt
投稿数: 1668
![長老 長老](../../uploads/rank3dbf8eb1a72e7.gif)
親タスク(トランザクション無し)範囲指定のみ
子タスク(遅延トラン)
親で範囲指定したデータのみ表示
データメンテ
ALL保存 or ALLキャンセル を選択して
条件指定タスクに戻りたい。
けど、子タスクでデータエントリーして
親タスクをクリックで、無条件に ALL保存になるのを
避けられないかな!と。。。
条件指定タスクと
データ入力タスクとウィンドウは分けて
モーダルウィンドウ起動する以外、
全保存/全キャンセルは実現出来ないですかね???
子タスク(遅延トラン)
親で範囲指定したデータのみ表示
データメンテ
ALL保存 or ALLキャンセル を選択して
条件指定タスクに戻りたい。
けど、子タスクでデータエントリーして
親タスクをクリックで、無条件に ALL保存になるのを
避けられないかな!と。。。
条件指定タスクと
データ入力タスクとウィンドウは分けて
モーダルウィンドウ起動する以外、
全保存/全キャンセルは実現出来ないですかね???
投票数:0
平均点:0.00
Tanda
投稿数: 2151
![長老 長老](../../uploads/rank3dbf8eb1a72e7.gif)
プログラムの作法は別として、親タスクでトランザクションを開始
すれば、子タスクで行った作業にもトランザクションが効きますよ。
すれば、子タスクで行った作業にもトランザクションが効きますよ。
投票数:0
平均点:0.00
Tanda
投稿数: 2151
![長老 長老](../../uploads/rank3dbf8eb1a72e7.gif)
Magicのセミナーでは、「メニュー等のタスクにはトランザクション
は掛けるな、子でコミットができなくなるから」と教えていますが、
nkmtさんの場合は、まさにこれを逆手に取れば、応用が利くパターン
ですね。
つまり、条件検索タスクでトランザクションを開始してやれば、
子のコミットは、条件検索タスク上で操作できるという典型のパターン
です。
ただし、このプログラミング作法が適切かどうかは別ですが。
は掛けるな、子でコミットができなくなるから」と教えていますが、
nkmtさんの場合は、まさにこれを逆手に取れば、応用が利くパターン
ですね。
つまり、条件検索タスクでトランザクションを開始してやれば、
子のコミットは、条件検索タスク上で操作できるという典型のパターン
です。
ただし、このプログラミング作法が適切かどうかは別ですが。
投票数:0
平均点:0.00
Tanda
投稿数: 2151
![長老 長老](../../uploads/rank3dbf8eb1a72e7.gif)
2008年3月にMSJからリリースされたドキュメントに、「Magic
eDeveloper V10 遅延トランザクション」というのがありますが、
これはとても参考になりますよ。
遅延トランザクションについてのことがほぼ全て網羅されて
います。今でもMSJのサイトからダウンロードできると思います。
eDeveloper V10 遅延トランザクション」というのがありますが、
これはとても参考になりますよ。
遅延トランザクションについてのことがほぼ全て網羅されて
います。今でもMSJのサイトからダウンロードできると思います。
投票数:0
平均点:0.00
fjksudou
投稿数: 180
![長老 長老](../../uploads/rank3dbf8eb1a72e7.gif)
モーダルではダメなのですね…。
親タスクのクリック無効は
サブ側でウィンドウヒット、コントロールヒットを無効にするのですが、
このままではサブフォームも無効化されますので、
コントロールヒットに条件を付けます。
条件はLastParkの関数を使います。
親のコントロール名に命名規則をつけ、判断させれば大丈夫です。
例として、
親のコントロール名を「a.〜」とつけ、
条件はLeft(LastPark(1),2)='a.'
これで無効化できるかと思います。
親タスクのクリック無効は
サブ側でウィンドウヒット、コントロールヒットを無効にするのですが、
このままではサブフォームも無効化されますので、
コントロールヒットに条件を付けます。
条件はLastParkの関数を使います。
親のコントロール名に命名規則をつけ、判断させれば大丈夫です。
例として、
親のコントロール名を「a.〜」とつけ、
条件はLeft(LastPark(1),2)='a.'
これで無効化できるかと思います。
投票数:0
平均点:0.00
nkmt
投稿数: 1668
![長老 長老](../../uploads/rank3dbf8eb1a72e7.gif)
fjksudou様
Left(LastPark(1),2)='a.' でいいんですかね?
Lastparkでいいんですかね?
サブフォーム側に
コントロールヒット 親のコントロール名
と地道に全項目定義する方法ではいけそうです。
CTRLNAMEみたいな関数って有りませんでしたかね?
Left(LastPark(1),2)='a.' でいいんですかね?
Lastparkでいいんですかね?
サブフォーム側に
コントロールヒット 親のコントロール名
と地道に全項目定義する方法ではいけそうです。
CTRLNAMEみたいな関数って有りませんでしたかね?
投票数:0
平均点:0.00
nkmt
投稿数: 1668
![長老 長老](../../uploads/rank3dbf8eb1a72e7.gif)
HandledCtrl() で試してみます。
PS.駄目でした。
PS.駄目でした。
投票数:0
平均点:0.00
nkmt
投稿数: 1668
![長老 長老](../../uploads/rank3dbf8eb1a72e7.gif)
今回は、fjksudou様のアドバイスの方法を取りました。
子タスク側で
ウィンドウヒット
コントロールヒットは、条件指定タスクの項目を一つずつ指定
省略出来る部分は、a.のみ指定して、やりたいことが出来そうです。
あとは、親タスクの X閉じるも無効化します。
子タスク側で
ウィンドウヒット
コントロールヒットは、条件指定タスクの項目を一つずつ指定
省略出来る部分は、a.のみ指定して、やりたいことが出来そうです。
あとは、親タスクの X閉じるも無効化します。
投票数:0
平均点:0.00
fjksudou
投稿数: 180
![長老 長老](../../uploads/rank3dbf8eb1a72e7.gif)
終了(X)も無効化した方がいいですよ。
投票数:0
平均点:0.00
Tanda
投稿数: 2151
![長老 長老](../../uploads/rank3dbf8eb1a72e7.gif)
思った通りの動きが実現できてよかったですね。
おめでとうございま〜す!
おめでとうございま〜す!
投票数:0
平均点:0.00
nkmt
投稿数: 1668
![長老 長老](../../uploads/rank3dbf8eb1a72e7.gif)
fjksudou様、レスありがとうございます。
そうですね。
条件指定タスクと
エントリータスクの画面を分けて、
エントリー側をモーダルにする事が
遅延トランを有効活用しての ALL or Nothing の一つの方法
なのでしょうね。
それから ウィンドウヒット を教えてくださり
大変感謝申し上げます。
コントロールヒットも。
やりたい事が出来そうです。
いつも助けて頂き有難うございます、
Tandaさん>アドバイスありがとうございます。
そうですね。
条件指定タスクと
エントリータスクの画面を分けて、
エントリー側をモーダルにする事が
遅延トランを有効活用しての ALL or Nothing の一つの方法
なのでしょうね。
それから ウィンドウヒット を教えてくださり
大変感謝申し上げます。
コントロールヒットも。
やりたい事が出来そうです。
いつも助けて頂き有難うございます、
Tandaさん>アドバイスありがとうございます。
投票数:0
平均点:0.00
nkmt
投稿数: 1668
![長老 長老](../../uploads/rank3dbf8eb1a72e7.gif)
Tandaさんが例を示した
条件指定タスクでのトランザクション開始。。。。
子は親と同一トランザクションにして
親側で入力時ロック等にして
トランザクション開始=レコード前の前
などにする方法も有りますね。
おっしゃる通り作法としては適切ではないのかもしれませんけど。
ありがとうございました。
でも今回の場合、それでやるとかなり複雑になりそうなので
止めます。
条件指定タスクでのトランザクション開始。。。。
子は親と同一トランザクションにして
親側で入力時ロック等にして
トランザクション開始=レコード前の前
などにする方法も有りますね。
おっしゃる通り作法としては適切ではないのかもしれませんけど。
ありがとうございました。
でも今回の場合、それでやるとかなり複雑になりそうなので
止めます。
投票数:0
平均点:0.00
Tanda
投稿数: 2151
![長老 長老](../../uploads/rank3dbf8eb1a72e7.gif)
トランザクション開始の問題だけですから、この場合はロックは
関係ないですね。
あと、トランザクション開始はこの場合、「タスク前の前」に
なります。
> でも今回の場合、それでやるとかなり複雑になりそうなので
> 止めます。
逆だと思いますよ。それでやると面倒な設定がほとんどいらなく
なって安泰そのものになるはすです。(^^;
関係ないですね。
あと、トランザクション開始はこの場合、「タスク前の前」に
なります。
> でも今回の場合、それでやるとかなり複雑になりそうなので
> 止めます。
逆だと思いますよ。それでやると面倒な設定がほとんどいらなく
なって安泰そのものになるはすです。(^^;
投票数:0
平均点:0.00
nkmt
投稿数: 1668
![長老 長老](../../uploads/rank3dbf8eb1a72e7.gif)
条件指定 → 編集 → ALL or Nothing
→ また次の条件指定 → 編集作業 と何度も繰り返したいので
トランザクション開始を タスク前の前には出来ないのかなぁ
と思いました。
→ また次の条件指定 → 編集作業 と何度も繰り返したいので
トランザクション開始を タスク前の前には出来ないのかなぁ
と思いました。
投票数:0
平均点:0.00
Tanda
投稿数: 2151
![長老 長老](../../uploads/rank3dbf8eb1a72e7.gif)
おっしゃる通りです。
プログラムの作法は別として、というのはその部分です。
プログラムの作法は別として、というのはその部分です。
投票数:0
平均点:0.00
Tanda
投稿数: 2151
![長老 長老](../../uploads/rank3dbf8eb1a72e7.gif)
いずれにしても、「Magic eDeveloper V10 遅延トランザクション」
というドキュメントはほんとに良く書けていますよ。
私にとっては、バイブルです。
というドキュメントはほんとに良く書けていますよ。
私にとっては、バイブルです。
投票数:0
平均点:0.00
Tanda
投稿数: 2151
![長老 長老](../../uploads/rank3dbf8eb1a72e7.gif)
ちなみに、その内容はMSJ主催のセミナーの「RIAトレーニング」
にも一部引用で網羅されています。
ご参考までに。
にも一部引用で網羅されています。
ご参考までに。
投票数:0
平均点:0.00
Tanda
投稿数: 2151
![長老 長老](../../uploads/rank3dbf8eb1a72e7.gif)
「Magic eDeveloper V10 遅延トランザクション」のドキュメントですが、
インターネットで検索すれば、PDFファイルがすぐに見つかりますね。
まだの人はぜひご一読ください。きっとバイブルになりますよ。(^^)
インターネットで検索すれば、PDFファイルがすぐに見つかりますね。
まだの人はぜひご一読ください。きっとバイブルになりますよ。(^^)
投票数:1
平均点:10.00
nkmt
投稿数: 1668
![長老 長老](../../uploads/rank3dbf8eb1a72e7.gif)
Tandaさん、fjksudouさん ありがとうございました。
X終了もですね。なるほどです。
X終了もですね。なるほどです。
投票数:0
平均点:0.00