RIAレコード登録フォームの実装
Magic4.8.1 RIAアプリケーションにて、
以下のような仕様のアプリケーションの作成が勉強不足でうまくできません。
・MSSQLを使った登録フォーム
・項目として、IDと名前がある
・各項目に初期値を設定する
→IDは、DBの最大値+1の値(サブタスクで取得する)
名前は、最後に入力した値をClientBlb2Fileで保存しておいて設定
・『1回登録』『2回登録』のボタンがあり、
1回登録の場合はそのまま登録、2回登録の場合は同内容を2回登録して、フォームが閉じる
これを実装しようとしてうまくいかないのが、
①『タスク前』で初期値を設定したいが、『項目更新』を行っても設定されない
データビューの『代入』や、『レコード前』で項目更新だとできるが、登録した後終了する際に余分にレコードが登録されてしまう(おそらくこれは実装方法の誤りもあると思います)
②ボタンを1回押して同じ内容を2回登録する動作が実装できない(イベント『行作成』や『レコード書込』を組み合わせても、うまく実装できない)
以上の内容で、どう実装していけばよいのか、手掛かりの部分だけでも構わないので教えて頂ければ幸いです。
(こういう場合にどういったロジックを使用するか、そもそもMagicで実装するのに向いていない動作であるなど)
よろしくお願いいたします。
-
ISHIJIMA様、ご回答ありがとうございます。
フォームのデータは変数に保存し、
ボタンにユーザイベントを割り当ててロジック側で登録するという部分は理解できるのですが、
ユーザイベント1つで登録を2回行うことがいまだできません。
ID変数、名前変数をエディットで入力させ、
ボタン押下で発生するユーザイベントのロジックとして、
①項目更新で、IDをID変数、名前を名前変数の値で更新
②イベント実行、行作成
③項目更新で、IDをID変数の値+1、名前を名前変数の値で更新
④イベント実行、行作成
としているのですが、ボタンを押してプログラムを終了しても、
ID変数の値+1の方のレコード1つ分しか登録されません。
どういった方法であれば、2つ分のレコードが登録できるでしょうか。 -
ISHIJIMA様、ご回答ありがとうございます。
ご教授いただきました通り、
サブタスクにパラメータの値で項目更新→行作成をするロジックを作成して、
変数として保存した入力値をパラメータとしてサブタスクに与え、2回呼び出すことで、
想定した動作を実装できました。
大変助かりました。ありがとうございました。
サインインしてコメントを残してください。
コメント
2件のコメント