みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
説明が下手なため、図を添付させて頂きます。
福袋販売のデータベースを作るため、このようなAppを作成しています。
至って初歩的なことだと思うのですが、解決のためのアドバイスを頂けませんでしょうか。
FM18の無料配布PDFは初級・中級をざっと見ましたが、いまいち分かりませんでした…。
【Appの概要】
・福袋とその中身を管理するDB。
・福袋を作成するスタッフは複数人おり、それぞれ10-20種類の福袋を作成する。
・各福袋の中には、それぞれ5-10種類の商品を入れる。
・このAppは各スタッフにiPadを持たせ、各人で入力させることを想定している。
【つまづいている所】
(1)福袋の中身を入力するフォームの下部に、同じ福袋IDをもつレコードをポータルで一覧表示したい
(1つの福袋に入れる商品がたくさんあるため、入力の途中で他のレコードを確認したい)
→『関連レコードへ移動』スクリプトを使っても、中身一覧ポータルには福袋ID問わずレコードが全件表示される。
(2)(1)と同じく、同じ福袋IDをもつレコードだけに絞って『前へ』『次へ』で移動したい
→別の福袋IDをもつレコードも、全件移動の対象となっている。
今までいくつかAppを作りましたが、この点がどうしてもクリアできないため何とか誤魔化して作ってきました。
この機会にきちんと理解したいと思いますので、宜しくお願い致します。
Offline
(1)のポータルは関連レコードの取得先は「現在のテーブル」でOKです。
「T福袋」レイアウトから中身を見るで[関連レコードへ移動]しているので
「T福袋の中身」レイアウトでは「T福袋」の中身だけが表示されているでしょう。
※リレーションを使いたいなら「T福袋の中身」の自己リレーションで照合は「外部キー」フィールドです。
(2)[関連レコードへ移動]がうまく動いていれば表示されているのは同じ福袋IDを持つレコードだけだと思いますが......
スクリプトステップのオプションはどのように設定していますか?
※[関連レコードのみを表示][現在のレコードのみ照合]は共にオンにすれば中身だけになるハズです。
Offline
サンプルを作成してみました。
https://www.dropbox.com/s/uhyoccf4otuum … fmp12?dl=0
正直、sic3605さんの設計意図がよくわからない部分があって、まずイメージを共有するための目的もあります。
(補足)
福袋レイアウトの削除ボタンが「対象レコードの削除」になっていました。
「レコード/検索条件削除」が正しいです。修正して動かしてください。
中身レイアウトのポータルは、編集中の商品は表示しない実装になっていますが、
これも含めて全部表示したいときはリレーションからPK_中身IDを外してください。
Last edited by koeda (2020-01-24 15:50:42)
Offline
ご回答ありがとうございました。
>Moz様
(1)こちらのポータルの取得元は、『現在のテーブル(T_福袋の中身)』にしてあります。
アドバイス頂いた自己リレーションについてしっかり調べてみます。
(2)オプション等は下記の通りです。
取得元:T_福袋の中身
使用レイアウト:LO_福袋の中身
結果OP:関連レコードのみを表示+現在のレコードのみ照合
アドバイス頂いた内容を見る限り、どうも関連レコードへ移動がうまく動いていないようです。
実装&動作確認は週明けになりそうですが、週末はこのあたりをしっかり調べてみます。
>koeda様
この短時間で、サンプルまで作って頂きましてありがとうございます。
この通りのDBを作りたいと思っていました!ぜひ設計を拝見させて頂きたいと思います。
補足の通り全件表示も希望していましたので、リレーションを外してみます。
Offline
koeda様のサンプルファイルを参考に、既存DBのオプション設定やリレーションシップを揃えてみました。
『レイアウト_中身』の下部にあるポータルも希望通りの動きをしています。
Moz様にアドバイス頂いた自己リレーションシップについても、こちらのサンプルファイル内部を拝見することで大変勉強になりました。
ただ、どうしても下記だけうまく再現できずに困っています。
今朝からいろいろ検索して、DB自体も細かく見てみましたが原因が分かりません。
曖昧なお願いで大変申し訳ないのですが、何かミスしそうなところにお心当たりはありませんでしょうか。
【再現できないところ】
・『中身を入力』ボタンを押したとき、『テーブル_中身』に関連レコードがあれば想定通りの動きをするが、関連レコードがないときはスクリプトが停止してレイアウト移動しない(デバッガーでは101です)
【追記】
・If[GET(最終レコード) ≠ 0]の条件式は想定通り動作している
・『テーブル_中身』の『g_選択中の福袋ID』フィールドには、想定通り『テーブル_福袋』の『PK_福袋ID』が入っている
勉強不足で申し訳ありませんが、どなたかアドバイス頂ければと思います。
宜しくお願い致します。
Offline
連投失礼致します、レイアウト移動しない件に関して自己解決しました。
https://fm-aid.com/bbs2/viewtopic.php?id=4458
上記スレッドを見ていたところ、リレーションシップの『レコードの作成を許可』にチェックを入れていないことに気付きました。
チェックを入れたところ、無事にレイアウト移動して新規レコードに移動することができました。
勉強不足でお騒がせ致しました。
Offline
中身テーブルへ移動する目的は? 一般的な作り方ですと、福袋レイアウトの中のポータルで、商品名、売価、原価、個数などの中身の入力を完成させてしまいます。
そこから、関連レコードへ移動 で中身テーブルのレコードを表示させる意味は無いと思いますが。私がつくるならば、中身テーブルの管理用の一覧は作るかもしれませんが、実運用では使わないレイアウトです。
Offline
とりあえず動くようになったようで何よりです。
中身テーブルへ移動する目的は? 一般的な作り方ですと、福袋レイアウトの中のポータルで、商品名、売価、原価、個数などの中身の入力を完成させてしまいます。
操作端末がiPadということなので、今回のレイアウトならば入力領域(ポータル)が画面上半分に固定でき、ソフトキーボードで画面が隠れたりスクロールしたりすることがないのはメリットかもしれません。オブジェクトの配置の工夫で、一般的な作り方でも行けるでしょうか?
タブレット用画面は経験が乏しいのでなんとも…
Last edited by koeda (2020-01-27 19:43:57)
Offline
>Shin様
>koeda様
koeda様のご指摘通り、iPad miniで入力するので同一画面でのレイアウトが出来ませんでした。
同一画面で入力できれば設計も簡単ですし、入力者からも分かり易いかと思ったのですが、ポータル直接入力のような細かい操作、小さな文字、長いスクロールが必要な入力画面はクレームが入るので諦めました。
業務の合間に商品のJANコードを直接カメラでスキャンできると効率が良いとのことで、どうしてもiPadでの入力が良いそうです。
『レコードを絞った上でのレイアウト移動と表示』につきましては、無事に実装できましたので解決済みとさせて頂きます。
また、自分なりにきちんと理解できるまでサンプルDBの構造もしっかり勉強させて頂きます。
機能を付け足していく上でまたつまづくところが出ましたら、改めて質問させて頂きます。
Moz様、koeda様、Shin様、本当にありがとうございました。
Offline
Pages: 1
[ Generated in 0.007 seconds, 7 queries executed - Memory usage: 542.33 KiB (Peak: 563.23 KiB) ]