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

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

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

You are not logged in.

Announcement

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


#1 2014-03-04 11:30:28

クロケン
Member

ポータルで別テーブルにレコード作成し、さらにルックアップさせる。

FM11
win7

毎度お世話になっております。
ご質問させていただきます。

「入力」テーブル「一覧」テーブル別ファイルで「商品マスター」があります。
「入力」と「一覧」はidでリレーション。
「一覧」と「商品マスター」は_kf_地域CD1と地域CD2と製品CDでリレーション。

「入力」は注文書をスキャンしそれを見ながら入力し、そこに配置されているポータルで「一覧」へ入力しています。
ポータル内は、一覧の製品CD、商品名です。

「入力」は注文書を保存しておくため削除しませんが、「一覧」別テーブルで作業を進める為、移動後削除します。

別画面で作業しやすいように製品CDごとにレコードを設け、フィールド内容もレコードごとに全て入るようにしております。


質問内容ですが、地域CD等を計算にしているため、ポータルで作成された製品CDのみ一覧に表示され遅れて地域CD等が反映されるみたいで、ルックアップする際には<_kf_地域CD1と地域CD2と製品CD>のリレーションが成り立たずルックアップできません。
後で再ルックアップをかけると反映されます。
データは以下の通りです。

「入力」
_kp_id[数字]自動入力”1”
地域CD1[テキスト]
地域CD2[テキスト]
氏名[テキスト]
電話[テキスト]
住所[テキスト]
注文書[オブジェクト]

「一覧」
_kf_id[テキスト]
_kf_地域CD1と地域CD2と製品CD[計算] 地域CD1&地域CD2&製品CD
地域CD1[計算] 入力テーブル::地域CD1
地域CD2[計算] 入力テーブル::地域CD2
氏名[計算] 入力テーブル::氏名
電話[計算] 入力テーブル::電話
住所[計算] 入力テーブル::住所
製品CD[テキスト]
商品名[テキスト] 商品マスターの商品名ルックアップ

「商品マスター」
_kf_地域CD1と地域CD2と製品CD[計算] 地域CD1&地域CD2&製品CD
地域CD1[テキスト]
地域CD2[テキスト]
製品CD[テキスト]
商品名[テキスト]

よろしくお願いいたします。

Offline

#2 2014-03-04 11:50:53

Shin
Member

Re: ポータルで別テーブルにレコード作成し、さらにルックアップさせる。

商品名は、ルックアップにする必然性がなければ、ルックアップせずに参照にしておくだけでいいのでは。(関連フィールドの表示でもいいと思いますが)

それよりも、地域CD1と地域CD2をルックアップにしておけばいいでしょう。

また、
> 「一覧」別テーブルで作業を進める為、移動後削除します。
は運用として問題でませんか。今の運用ですと、削除してしまうと一覧テーブルで地域コードが参照できなくなります。

Offline

#3 2014-03-04 12:40:35

クロケン
Member

Re: ポータルで別テーブルにレコード作成し、さらにルックアップさせる。

Shinさん早速ありがとうございます。

「一覧」よりデータを別ファイル「集計」へデータ移動します。
日々の入力を「集計」で一括管理しています。
「集計」には質問で記載させていただいたフィールドが全て設けられています。
そのため「一覧」は移動後削除いたします。

「集計」から注文書を確認したいので、「入力」は1レコードにして管理したい。

以前は「入力」からポータルではなく繰り返しフィールドに製品CDを入力しておりました。
そして移動後削除していました。それだと全てのレコードを削除してしまい注文書が参照できなくなってしまう為、「入力」と「一覧」を分けて作業することにしました。

ちょっと質問変わりますが、ポータルにカーソルを合わせるとすぐに「一覧」へレコードを作成するようにはできますか?
どうも製品CDを入力してから作成される為、作成時「一覧」の地域CD1等の計算が直ぐに反映されないみたいです。

よろしくお願いします。

Offline

#4 2014-03-04 17:35:49

Shin
Member

Re: ポータルで別テーブルにレコード作成し、さらにルックアップさせる。

DB上のレコード操作の原則として、
入力されたデータの削除は行わない、削除しなければいけない事情があれば、非参照な状態へ変更する
  参照 http://www.infoq.com/jp/news/2009/09/Do-Not-Delete-Data
入力されたデータの移動は行わず、オリジナルを参照していく、
  現実にはデータの移動はありえない、同じ内容で別のレコードが作られ、元のレコードが削除されることになります
を守られたほうがいいと思います。

今の一覧テーブルをそのまま参照すれば、集計機能が実装できるのではないでしょうか。または、直接集計テーブルへレコードを作ってしまえばいかがでしょう。運用が数段単純になりますよ。

> どうも製品CDを入力してから作成される為、作成時「一覧」の地域CD1等の計算が直ぐに反映されないみたいです。
一覧側のレコードに何かを入力しないことには、関連レコードの作成は無理でしょう。
トリガーなどで無理やりレコードを作ることはできますが、空白レコードを作る可能性が高くなり、その後の処理が面倒ですよ。

Offline

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

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.009 seconds, 9 queries executed - Memory usage: 558.1 KiB (Peak: 581.29 KiB) ]