みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
環境は
Windows7
Filemaker12 Pro
です。
注文データのテーブル、仕入データのテーブルがあります。
注文データには、PO#、パーツ#、仕様、個数があるとして、
仕入データには、PO#、パーツ#、仕様、シリアルナンバーを個数分登録させたいと考えてます。
個数は通常1~5個くらいが多いのですが、たまに50個、100個ということもあります。
そのたまにあることのために、シリアルナンバーを100個作成しておくのも、見た目が悪いので、
個数分を作成させたいのですが、いろいろ調べてますが、どういうふうなscriptにすればいいのか
分からず、こちらに相談させていただきたいと・・・。
当初1つのフィールドに、シリアルナンバーを改行でいれていくという方法にしたのですが、
注文したパーツの型番とは違う型番とミックスで入荷することがあるということもあって、
やはり単品で登録する必要があります。
つたない説明ですが、よろしくお願いします。
Last edited by caroline0525 (2018-07-29 16:59:47)
Offline
仕入入力用の別テーブルを作り、それに個数分のシリアル番号が繰り返しフィールドへ自動展開するようにして、
この入力用テーブルを本テーブルから「繰り返しフィールドのレコード分解」オプション指定でインポートする、
のが楽な実装法かな、
あるいは、
ループスクリプトで、元本レコードを個数分レコード複製し、シリアル番号だけ新値更新させる、とかも、
Last edited by Hiro (2018-07-29 18:56:05)
Offline
仕入入力用の別テーブルを作り、それに個数分のシリアル番号が繰り返しフィールドへ自動展開するようにして、
この入力用テーブルを本テーブルから「繰り返しフィールドのレコード分解」オプション指定でインポートする、
のが楽な実装法かな、あるいは、
ループスクリプトで、元本レコードを個数分レコード複製し、シリアル番号だけ新値更新させる、とかも、
Hiro様
ご教授ありがとうございます。
ただ、具体的な設定方法がわからず…。特に最初の方は。
下の方は、自分でもそういうイメージはもっていたのですが、具体的にどうやったら個数分複製するのか
分からなかったので、そちらを具体的な方法を教えていただけると大変助かります。
よろしくお願いします。
Offline
繰り返しフィールドをインポートする実験をしてみて下さい。
説明の意味が体感できると思います。
Offline
シリアル番号を付けるんですよね?
ならば、入力値の自動化を設定しておいて、
必要個数分のレコードを作成するだけでは。
最初に一つレコードを作成し必要事項を入力、
それをコピーすればいいでしょう。
Offline
チポ様
返信ありがとうございます。
すみません、シリアル番号というのは、入荷したコンピュータ部品の個体識別の番号のことで、
自動入力ではなく、手入力するものです。
分かりにくくて、申し訳ございません。
HIRO様
フィールドの繰り返しフィールド機能を初めて使うのですが、使い方を今ググって調べております。
ご報告までお時間かかりそうです。
お知らせまで。
Offline
HIRO様
試しに作ってみて、分かりましたが、この方法だと、繰り返しフィールドにしたフィールドはその個数分できますが、
他のフィールド例えば、パーツナンバーも同じ数だけ欲しいので、最初HIRO様が2番目の提案で言っていた
「ループスクリプトで、元本レコードを個数分レコード複製し、シリアル番号だけ新値更新させる、とかも、」
の方が合っていると思いました。
例えば ABCD というパーツを5個を注文した際、時に、同じ仕様で違う型番がMIXで入ってくる場合があります。
その場合、
ABCDが2個、 EFGHが2個 IJKLが1個が入った場合、
注文テーブル(仕様は下記には省略)
パーツナンバー 個数
ABCD 10
仕入テーブルには、(仕様は下記には省略)
パーツナンバー シリアルナンバー
ABCD A123
ABCD A345
EFGH E254
EFGH E456
IJKL I789
なので、注文の個数を判定して、ループスクリプトで仕入の方にその個数分レコードを作る方がいいのかなんと思いました。
説明が長く、すみません。
この場合、どこにスクリプトをどのように入れたらよいのかをご教授いただけませんか?
よろしくお願い致します。
Offline
パーツナンバーと、シリアルナンバーをそれぞれの繰返しに入力して、
それを分解でインポートすると、同じ繰返し位置が一つのレコードになりますよ。
Offline
説明とそこから導かれる最終目標が良く分かりません。
なお更 融通の利かない機械(=PC)のこと、魔法のスクリプトはありません。
Offline
注文データから、PO#、仕様 で仕入データにリレーションを張り、ポータルの中でパーツ#とシリアルをそちらに入力させていくのがいいのでは。
仕入れデータの方で、パーツ#に自動入力で直前のデータを貼り付けておくと、楽に入力できるかと。
Offline
返信いただきありがとうございます。
最終目標が不明ということでしたので、補足させていただきますと、
このシステムは案件管理(営業、購買部、技術部が使用するシステム)で、
質問しているのは、営業が購買部に発注依頼したPCパーツが入荷した後、
仕入処理、それは前に書いたとおり、単品管理なので、シリアルナンバーや実型番を
入力する必要があります。
仕入処理した内容が、検証結果のシートにも表示されて、エンジニアが検証結果を入力します。
そして最終的に案件の売上伝票というものに、その結果も表示されるようにします。
ちなみに、売上伝票には、その仕入れたものの販売先情報(注文元、出荷先等)、仕入情報
(仕入先、仕入たものの情報(金額等含む))がまとまって表示されるものです。
チボ様
繰り返しフィールドに関して、「同じ繰り返し位置」をどう見極めるかのとか、もっと調べてみます。
Shin様のおっしゃっていることは、特段難しい設定は必要はなさそうですが、
ポータルで+ボタンを作って、入力者にレコードを増やさせるということでしょうか。
Offline
リレーションで、レコード作成を許可しておくと、ポータルの新規行(普通は最下行)に入力するだけ新規レコードが作成されます。
Offline
Shin様
あ、そうでした。
その方向でやってみます。最初からレコード行が用意されるのを考えておりましたが・・。
まずは、やってみます。
ありがとうございます。結果、また報告させていただきます。
Offline
注文データから、PO#、仕様 で仕入データにリレーションを張り、ポータルの中でパーツ#とシリアルをそちらに入力させていくのがいいのでは。
仕入れデータの方で、パーツ#に自動入力で直前のデータを貼り付けておくと、楽に入力できるかと。
試してみたのですが、確かに直前のレコード値が自動で入力されるのですが、実型番で異なる型番を手入力すると、前後の変わって欲しくない型番もその手入力したものに置き換わってしまいます。また、直前のレコード値を自動入力すると設定していない、シリアルまで1つ入れると全部そのシリアルになってしまうという現象が起きてます。
仕入レイアウト(レコード:注文)
ポータルには、仕入のフィールドを持ってきています。
掲示板で、ポータル 直前のレコードで検索してみましたが、同様な問題はなかったので、私のやり方がまずいということでしょうか。
よろしくお願いします。
Offline
リレーションの設定か、ポータル内のフィールドの設定が誤っているのでは。
Offline
繰り返しフィールドをインポートする実験をしてみて下さい。
説明の意味が体感できると思います。
半月経って、試行錯誤の末、改行でシリアルナンバーを仕入した個数分を入力したものが繰り返しフィールドに
反映させ、それを別テーブルに分解してレコードを作成させる方法を実装することができました。
【仕入登録画面】仕入データテーブル
ID、PO#、パーツ#、仕様、シリアルナンバー(繰り返しフィールド) (ほかにもありますが省略)
入力して、ボタンを押すと、個数分の
【仕入確認画面】仕入詳細データテーブル
ID、PO#、パーツ#、仕様、シリアルナンバー 判定 分類 のレコードがインポートされる
といった感じです。
ここまでは当初の目的は果たしているのですが、仕入登録画面で最初登録して、
その個数分のレコードが仕入詳細データテーブルに作成された後に、
仕入登録画面でもう一度入れ直しをしたい場合、2重で仕入詳細テーブルにレコードが作成されてしまいます。
もちろん仕入詳細データで修正することも考えられるのですが、できれば仕入登録画面で修正したいという
場合、修正したところだけ、仕入詳細テーブルの方のレコードも修正されるという風にしたい場合は
どうしたらいいでしょうか。
仕入詳細テーブルの該当レコードをいったん削除させるとかでしょうか。
よろしくお願いします。
Offline
リレーションの設定か、ポータル内のフィールドの設定が誤っているのでは。
見直しをしてもわからず・・・、分からないままにするのもよくないとは思いつつも、時間が経つばかりで、
繰り返しフィールドで試してみているところです。
返信が遅くなり申し訳ございません。
Offline
インポート画面内のオプションをよく見てもらえば、お尋ねの機能もありそうなのが分かると思います。
ただ、変更内容により、使うオプションを使い分けねばならず、ミスない管理運用が大変ですし、
また、削除(インポート?)などは、インポートとは無縁で、当然、できません。
そんな訳で、前回データを全てクリアして、新にクリーンインポートするのが、安全確実です。
また、前回インポートレコードは、対象レコードとして抽出された状態を保持していますから、
前回レコードだけ残らず一括消去するのは至って簡単です。
ご自身でまた軽くテストして説明を体感ください。
Offline
インポート画面内のオプションをよく見てもらえば、お尋ねの機能もありそうなのが分かると思います。
ただ、変更内容により、使うオプションを使い分けねばならず、ミスない管理運用が大変ですし、
また、削除(インポート?)などは、インポートとは無縁で、当然、できません。
そんな訳で、前回データを全てクリアして、新にクリーンインポートするのが、安全確実です。
また、前回インポートレコードは、対象レコードとして抽出された状態を保持していますから、
前回レコードだけ残らず一括消去するのは至って簡単です。
ご自身でまた軽くテストして説明を体感ください。
ありがとうございます。
確かにインポートするオプションにそれらしいのはあって、いくつか試しましたがおっしゃってる通りなかなか思った通りの結果を得られず、質問させていただきました。
前回のレコードをクリアするということをやってみます。
ありがとうございました。
Offline
Hiro様
ご説明ありがとうございました。
なんとか、思い通りにレコードのインポートをさせることができるようになりました。
他にもご回答くださった方々
まだ、完成にはいたっていないので、また質問させていただくことがあるかと思いますが、
よろしくお願いします。
Offline
[ Generated in 0.027 seconds, 9 queries executed - Memory usage: 573.53 KiB (Peak: 610.07 KiB) ]