みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
下記のようなフィール構成となっているテーブルがあります。
カレンダー上に生産計画数が入っています。
フィールド① 部品番号(値:部品番号:テキスト)
フィールド② 名称 (値:名称:テキスト)
フィールド③ DATE1(値:生産計画数:数字)
フィールド④ DATE2(値:生産計画数:数字)
フィールド⑤ DATE3(値:生産計画数:数字)
フィールド⑥ DATE4(値:生産計画数:数字)
フィールド⑦ DATE5(値:生産計画数:数字)
・
・
・
基データのDATEは、DATE1~DATE180迄あります。
このようなテーブルを基に、別テーブルに下記のようなフィールド構成のテーブル
をスクリプトでインポートしたいのですが、
どのような方法がありますでしょうか?
フィールド① 部品番号(値:部品番号:テキスト)
フィールド② 名称 (値:名称:テキスト)
フィールド③ DATE(値:生産計画日:日付)
フィールド④ 計画数(値:生産計画数:数字)
また、若し数字がなければ(0より大きくなければ)別テーブルへインポートしないという設定もしたいです。
ご教授をお願いします。
DATE1〜DATE180
に対応する日付はどこに有るのですか?
方法は、
1〜180の各フィールドをひとつの繰り返しフィールドにすれば、
別テーブルからそれをばらしたインポートが出来ます。
空白の処理は面倒ですから、
中間テーブルにインポートして、空白レコードを削除(対象外でもいいでしょう)
それを別テーブルでインポート。
この手順ではいかがでしょう。
最初の設計が間違えていましたね、
最初からご説明の別テーブルのかたちで運用するべきでしたよ。
Offline
ちぽ様
ありがとうございます。
設計ですが、実は元テーブルが基幹システムのものでして、この形しかないのです。
日付は、別のテーブルにありますので、リレーションで参照する形となります。
繰り返しフィールドというのは良くわかっていないので、
『方法は、
1〜180の各フィールドをひとつの繰り返しフィールドにすれば、
別テーブルからそれをばらしたインポートが出来ます。』という意味が全く理解できません。
少し、追加で詳しく説明していただけないでしょうか?
よろしくお願いします。
> DATE1
から
DATE180
がフィールド名を条件として、
計算フィールド(繰り返し180回)を作り、その計算式
GetField ( "DATE" & Get ( 計算式繰り返し位置番号 ) & "[1]" )
とすると、
DATE各フィールドの値が入力されます。
これを別テーブルでインポートします。
インポート時のオプションで、
「繰り返しフィールドの値のインポート方法」
を
「複数のレコードに分ける」
と設定します。
これでいいのですが、
> 若し数字がなければ(0より大きくなければ)別テーブルへインポートしないという設定もしたい
これに対応するには、
上記の通りですと、繰り返し位置が空欄の場合はインポートされませんので、
対応する日付が分らなくなっちゃいますね。
対応する日付も繰り返しフィールドに入力し、これも同時にインポートとか、
繰り返しに数字が無い場合は特別な値を入力するとか、
考えないとダメですね。
Offline
> 日付は、別のテーブルにありますので、リレーションで参照
は、どのようなリレーションでしょうか。
目的とするテーブルで loop を回します。カウンタをスクリプト引数にして、計画数 のテーブルのスクリプトを呼び出します。そのスクリプトは、GetField ( "DATE" & Get ( スクリプト引数 ) ) を結果に戻す、だけにして、元のスクリプトを結果を取得しておきます。
日付のテーブルも、同様のスクリプトを作ります。
それらの結果を見て、レコードを作っていく、という構造にしてみると、条件を満たし易いと思いますが。
https://www.dropbox.com/s/hnxl3eo4foea6 … 7.zip?dl=0
Last edited by Shin (2016-03-26 11:03:13)
Offline
Pages: 1
[ Generated in 0.004 seconds, 7 queries executed - Memory usage: 516.05 KiB (Peak: 520.96 KiB) ]