初心者のFileMaker pro Q&A (旧掲示板)

みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。

1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)

You are not logged in.

Announcement

新しい掲示板は、こちら:https://fm-aid.com/forum/t/filemaker


#1 2017-06-30 15:30:59

質問者
Member

日付フィールド入力で該当レコードを表示

伝票と詳細テーブルにわけてポータルで入力しています

日付と売上IDでリレーションしているのですが、
日付フィールドに日付を入力すると、該当レコード(ポータル)を表示、
なければ新規作成、というのはどうやったらできますか?

日付に入力しても選択中の売上IDの日付が上書きされるだけです

WIN10 FMP15

Offline

#2 2017-07-02 02:34:31

質問者
Member

Re: 日付フィールド入力で該当レコードを表示

質問がわかりにくかったでしょうか?
少々間違っておりましたので修整させてください

伝票テーブルと詳細テーブルを売上IDでリレーション(日付と売上IDというのは間違いでした)
ポータルで入力していく

日付フィールドにカレンダーで選択できるようにしておき、
すでにレコードが存在する日付を選択したときには該当のレコードをポータルで表示、
なければ、伝票テーブルに売上IDを新規作成し、レコードをつくる、
ということをいいたかったです

Offline

#3 2017-07-02 11:19:38

Shin
Member

Re: 日付フィールド入力で該当レコードを表示

伝票テーブルは、1伝票ごとにレコードを作っていない、ということですか。

Offline

#4 2017-07-02 16:43:59

質問者
Member

Re: 日付フィールド入力で該当レコードを表示

うまく説明できないのでテストファイルを作成しました
お手数ですが見ていただいて、アドバイスいただけると助かります

http://fast-uploader.com/file/7054536903788/

Offline

#5 2017-07-02 19:22:43

Shin
Member

Re: 日付フィールド入力で該当レコードを表示

ファイルは見ていませんが、おそらく伝票に入力されている日付を書き換えているのでは。
日付で抽出させたいのでしたら、例えば、伝票とは別にカレンダーの様な一覧表を作っておき、そこをクリックすればその日の伝票を表示させる、無ければ作成、という具合に作れば良いと思います。

Offline

#6 2017-07-02 19:58:29

質問者
Member

Re: 日付フィールド入力で該当レコードを表示

そうです。伝票の日付が書き換えられてしまいます

目的は日付で抽出することではなくて、
1日単位で1つの伝票に入力しているのですが
時間をおいたりして後から追加入力するときに、すでにその日の分を一度入力していた場合
1日1伝票がくずれるので、日付フィードに入力したときに、一致するものを表示させることです
それがわからなかったので質問させてもらいました

Offline

#7 2017-07-02 22:34:52

Shin
Member

Re: 日付フィールド入力で該当レコードを表示

伝票の日付を書き換えているので、そうなるのは当然ですね。
1日1伝票の運用ならば、例えば、既存のレコードを日付で昇べきソートして最終レコードが当日になるまで日付を増やしながらレコードを追加しておく、その日付の一覧から目的の日付のレコードを選択、という運用にすればいいのでは。

もう少し高度にするには、グローバルフィールドに目的の日付を入力させ、その日付を検索する、または、その日付のレコードへ移動する、無ければ作る、という動きにすればいいでしょうね。

Last edited by Shin (2017-07-02 22:36:36)

Offline

#8 2017-07-06 02:08:40

質問者
Member

Re: 日付フィールド入力で該当レコードを表示

おそくなりましたがやってみました

グローバルに入れて検索する方法ですが
検索後、前後のレコードに移動できないので
全レコードを表示を入れるとできるようになりました

そのレイアウトでは不要なレコードが大量に
表示されるので、レイアウト移動時に絞り込みをやっていますが、
上記の全件レコード表示によりそれらが表示されてしまいます

なので検索結果後に、フィルタ的な絞り込みをやりたいのですが、
レコードの絞り込みを行うと、
絞り込んだ結果の最初のレコードに移動してしまいます
移動させずに絞りこみだけを行うにはどうやったらよいでしょうか?

また
自己リレーションからのレコードの移動もやってみましたが
検索でやるときの該当なしなら新規作成の分岐の
Get ( 最終エラー ) = 401
に該当する処理がわからなかったので
該当なしの場合に、新規作成する、というのができませんでした

処理的にはこちらのほうがスマートに感じますが、
移動先がない場合、新規作成はどうやったらできますか?

Offline

#9 2017-07-07 14:24:42

Shin
Member

Re: 日付フィールド入力で該当レコードを表示

レコードの表示は、絞り込みをやらないと仕方ないでしょう。やり方はいろいろですが、表示させたいレコードの条件によるでしょう。

該当なしの場合ですが、リレーションを通してレコードを作り、そのレコードへ移動しればいいです。関連レコードへ移動、のあとでエラーを取得して、エラーになれば、リレーションを通して新規レコードへ何かを書き込み、レコードを確定させてから、再度関連レコードへ移動を行います。
絞り込みとソートを、リレーションの条件、ポータルフィルターとポータルのソートに組み込んだ、一番まとまった形で、サンプルを公開しておきます。
https://www.dropbox.com/s/t3qqijieis2et … 7.zip?dl=0

Last edited by Shin (2017-07-07 22:28:29)

Offline

Registered users online in this topic: 0, guests: 1
[Bot] ClaudeBot

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.008 seconds, 9 queries executed - Memory usage: 517.23 KiB (Peak: 522.14 KiB) ]