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

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

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

You are not logged in.

Announcement

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


#1 2024-01-29 21:54:56

aries106
Member

【緊急教示願います】Excelデータから繰り返しフィールドへインポートしたい

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

#2 2024-01-29 22:24:42

himadanee
Guest

Re: 【緊急教示願います】Excelデータから繰り返しフィールドへインポートしたい

FMからExcelにエクスポートしてみれば、どういうデータ構造かわかります。
区切り文字、Char(11)だったかな、で繰り返し全体が1つのセルに入るでしょう。

現状のExcelファイルでは複数のレコードに分かれちゃってるので、1レコードにまとめないと無理では。
別のFMファイルにインポートして加工してもいいですが、Excelとどっちが得意でしょうか。

時間のある時に、FMの方を繰り返しを使わない形に直したほうがいいでしょうね。

#3 2024-01-29 22:33:43

aries106
Member

Re: 【緊急教示願います】Excelデータから繰り返しフィールドへインポートしたい

himadanee wrote:

FMからExcelにエクスポートしてみれば、どういうデータ構造かわかります。
区切り文字、Char(11)だったかな、で繰り返し全体が1つのセルに入るでしょう。

現状のExcelファイルでは複数のレコードに分かれちゃってるので、1レコードにまとめないと無理では。
別のFMファイルにインポートして加工してもいいですが、Excelとどっちが得意でしょうか。

時間のある時に、FMの方を繰り返しを使わない形に直したほうがいいでしょうね。

himadaneeさん
ご教示いただきありがとうございます。
FMのデータはすべて削除してしまったので、データがありません...。
別のExcelデータがありますが、これをFMの繰り返しフィールドにインポートする方法を教えていただきたいです。
過去の投稿を見てやりましたがうまくいきませんでした。
ご教示ください。よろしくお願いいたします。

Offline

#4 2024-01-29 22:53:38

Shin
Member

Re: 【緊急教示願います】Excelデータから繰り返しフィールドへインポートしたい

バックアップは無いのですか。業務データでしたら、信じられない運用です。

取り敢えず、Excel のデータをそのまま新しいテーブルとしてインポートします。そのテーブルとメインのテーブルを、受注NOでリレーションします。
メイン側の受注NOには常時ユニークの制限をつけます。
メイン側に、新テーブルをインポートします。
商品CD、商品の繰り返しごとに
GetValue ( List ( リレーション:; 商品CD ) ; Grt ( アクティブ繰り返し位置番号 ) )
などで全置換を繰り返します。
検証していませんが、たぶんうまくいくでしょう。
(20回の作業なので、スクリプト組むより手動の方が早いでしょうね)

繰り返しフィールドを使っているから、インポートが面倒なんですよ。これに懲りて、テーブル構造へ変更しましょう。
新しく作ったテーブルが、その構造の関連側のテーブルになります。そのままポータルで表示して運用しませんか。

Last edited by Shin (2024-01-29 23:34:09)

Offline

#5 2024-01-29 23:06:39

aries106
Member

Re: 【緊急教示願います】Excelデータから繰り返しフィールドへインポートしたい

Shin wrote:

バックアップは無いのですか。業務データでしたら、信じられない運用です。

取り敢えず、Excel のデータをそのまま新しいテーブルとしてインポートします。そのテーブルとメインのテーブルを、受注NOでリレーションします。
メイン側の受注NOには常時ユニークの制限をつけます。
メイン側に、新テーブルをインポートします。
商品CD、商品の繰り返しごとに
GetVaslue ( List ( リレーション:; 商品CD ) ; Grt ( アクティブ繰り返し位置番号 ) )
で全置換を繰り返します。
検証していませんが、たぶんうまくいくでしょう。
(20回の作業なので、スクリプト組むより手動の方が早いでしょうね)

繰り返しフィールドを使っているから、インポートが面倒なんですよ。これに懲りて、テーブル構造へ変更しましょう。

Shin先生のおっしゃる通りやってみましたところ、うまくできました。
明日、会社で使わせていただきます。ありがとうございました。
あの、繰り返しフィールドにループ処理は難しいでしょうか。

Offline

#6 2024-01-30 08:35:02

Shin
Member

Re: 【緊急教示願います】Excelデータから繰り返しフィールドへインポートしたい

loop で処理すればいいですが、テストしている間に、作業終わってしまいますよ。

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, 10 queries executed - Memory usage: 517.46 KiB (Peak: 522 KiB) ]