みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
OS:Windows 10
Ver.FileMaker 19
---------------------
ファイルメーカーで私が誤って全削除してしまいました。
幸いExcelデータはあるので、それを繰り返しフィールドへインポートするにはどうしたらよろしいでしょうか。
例えば、Excelデータでは、
日付 受注NO 受注明細NO 商品CD 商品
2024/1/28 123 1 100S001 a
2024/1/28 123 2 100S002 b
2024/1/28 123 3 100S003 c
2024/1/29 124 1 100S001 a
2024/1/29 124 2 100S002 b
2024/1/29 124 3 100S003 c
2024/1/30 125 1 100S001 a
2024/1/30 125 2 100S002 b
2024/1/30 126 1 100S001 a
Filemakerのフィールド配置では
日付[日付フィールド]
受注NO[数字フィールド]
商品CD 商品 (両方とも繰り返しフィールド(10)です)
[テキストフィールド[1] ][テキストフィールド[1] ]
↓ ↓
[テキストフィールド[10]][テキストフィールド[10] ]
Shin先生、助けてください。
どうかご教示のほどお願い申し上げます。
Offline
FMからExcelにエクスポートしてみれば、どういうデータ構造かわかります。
区切り文字、Char(11)だったかな、で繰り返し全体が1つのセルに入るでしょう。
現状のExcelファイルでは複数のレコードに分かれちゃってるので、1レコードにまとめないと無理では。
別のFMファイルにインポートして加工してもいいですが、Excelとどっちが得意でしょうか。
時間のある時に、FMの方を繰り返しを使わない形に直したほうがいいでしょうね。
FMからExcelにエクスポートしてみれば、どういうデータ構造かわかります。
区切り文字、Char(11)だったかな、で繰り返し全体が1つのセルに入るでしょう。現状のExcelファイルでは複数のレコードに分かれちゃってるので、1レコードにまとめないと無理では。
別のFMファイルにインポートして加工してもいいですが、Excelとどっちが得意でしょうか。時間のある時に、FMの方を繰り返しを使わない形に直したほうがいいでしょうね。
himadaneeさん
ご教示いただきありがとうございます。
FMのデータはすべて削除してしまったので、データがありません...。
別のExcelデータがありますが、これをFMの繰り返しフィールドにインポートする方法を教えていただきたいです。
過去の投稿を見てやりましたがうまくいきませんでした。
ご教示ください。よろしくお願いいたします。
Offline
バックアップは無いのですか。業務データでしたら、信じられない運用です。
取り敢えず、Excel のデータをそのまま新しいテーブルとしてインポートします。そのテーブルとメインのテーブルを、受注NOでリレーションします。
メイン側の受注NOには常時ユニークの制限をつけます。
メイン側に、新テーブルをインポートします。
商品CD、商品の繰り返しごとに
GetValue ( List ( リレーション:; 商品CD ) ; Grt ( アクティブ繰り返し位置番号 ) )
などで全置換を繰り返します。
検証していませんが、たぶんうまくいくでしょう。
(20回の作業なので、スクリプト組むより手動の方が早いでしょうね)
繰り返しフィールドを使っているから、インポートが面倒なんですよ。これに懲りて、テーブル構造へ変更しましょう。
新しく作ったテーブルが、その構造の関連側のテーブルになります。そのままポータルで表示して運用しませんか。
Last edited by Shin (2024-01-29 23:34:09)
Offline
バックアップは無いのですか。業務データでしたら、信じられない運用です。
取り敢えず、Excel のデータをそのまま新しいテーブルとしてインポートします。そのテーブルとメインのテーブルを、受注NOでリレーションします。
メイン側の受注NOには常時ユニークの制限をつけます。
メイン側に、新テーブルをインポートします。
商品CD、商品の繰り返しごとに
GetVaslue ( List ( リレーション:; 商品CD ) ; Grt ( アクティブ繰り返し位置番号 ) )
で全置換を繰り返します。
検証していませんが、たぶんうまくいくでしょう。
(20回の作業なので、スクリプト組むより手動の方が早いでしょうね)繰り返しフィールドを使っているから、インポートが面倒なんですよ。これに懲りて、テーブル構造へ変更しましょう。
Shin先生のおっしゃる通りやってみましたところ、うまくできました。
明日、会社で使わせていただきます。ありがとうございました。
あの、繰り返しフィールドにループ処理は難しいでしょうか。
Offline
loop で処理すればいいですが、テストしている間に、作業終わってしまいますよ。
Offline
[ Generated in 0.010 seconds, 13 queries executed - Memory usage: 516.98 KiB (Peak: 521.52 KiB) ]