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

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

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

You are not logged in.

Announcement

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


#1 2023-12-05 11:11:05

0089
Guest

申込1件が1行で管理されているCSVからポータルを作る方法について

いつも大変お世話になっております。

ファイルメーカー バージョン19 を使用しています。

イベント申込の取りまとめが以下のようなCSVであります。
参加者氏名・ふりがなは20名まであります。
【申込番号,代表者氏名,代表者ふりがな,郵便番号,住所,参加者1氏名,参加者1ふりがな,参加者2氏名,参加者2ふりがな,参加者3氏名,参加者3ふりがな...】

こちらを以下のように並べ替えたリストにしたいです。
ファイルメーカーで管理しますが、最終的にエクセルに書き出しします。
[申込番号][氏名][ふりがな]
A0001,代表者,ふりがな
A0001,参加者 1,ふりがな
A0001,参加者 2,ふりがな
A0001,参加者 3,ふりがな

そこで、申込ごとのレコードを作り、申込番号のリレーションで「参加者一覧テーブル」をポータルにて表示させようと考えました。
「参加者一覧テーブル」にレコードを作る際、
CSV→FM
A0001→申込番号
参加者1→氏名
参加者1ふりがな→ふりがな
と、CSVの列を1つずつ選んで20回インポートをすることになるため
これを1度で処理するなど良い方法はございますでしょうか。

どうぞよろしくお願い申し上げます。

#2 2023-12-05 11:30:30

himadanee
Guest

Re: 申込1件が1行で管理されているCSVからポータルを作る方法について

レコード数を減らす方はインポート時の自動計算などでできる場合もありますが、
増やすのはスクリプトを作らないと無理では。
フィールド名が規則的なのでスクリプトは作りやすそうですが...

#3 2023-12-05 12:19:43

Shin
Member

Re: 申込1件が1行で管理されているCSVからポータルを作る方法について

中間テーブルを作り、そこにCSV をそのままインポートします。そのテーブルに、2個の計算フィールド(繰り返し)

Let (
[
	rpt = Get ( 計算式繰り返し位置番号 ) - 1 ;
	fld =  Case ( rpt ; "参加者" & rpt ; "代表者" ) & "氏名[1]"
] ;
	GetField ( fld )
)
Let (
[
	rpt = Get ( 計算式繰り返し位置番号 ) - 1 ;
	fld =  Case ( rpt ; "参加者" & rpt ; "代表者" ) & "ふりがな[1]"
] ;
	GetField ( fld )
)

をそれぞれに設定しておきます。
それを別テーブルの、申込番号,氏名,ふりがな にインポートするといいです。繰り返しフィールドを別レコードに分解するオプションをつけておきます。

運用についてですが、エクセルに書き戻す必要はなぜですか。
上で作った中間テーブルが、イベント1件ごとのテーブルになり、そこからイベント番号でリレーションを張れば、参加者明細テーブルとなり、ポータルで一覧できるようになります。非常に柔軟な運用が可能になります。
再考されてはいかがでしょう。

Last edited by Shin (2023-12-05 14:36:27)

Offline

#4 2023-12-05 16:42:27

0089
Guest

Re: 申込1件が1行で管理されているCSVからポータルを作る方法について

ご回答いただき、ありがとうございます。

繰り返しフィールドにして、分解するインポートでできました!
繰り返しフィールドの使い方、勉強になります。

最終的にエクセルに戻すのは、ファイルメーカーが使えるパソコンが限られているためです。
これ以上変更はないことを確認して書き出すなど、データの管理に気をつけようと思います。

こちらは解決とさせていただきます。
本当にありがとうございました!

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

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.004 seconds, 9 queries executed - Memory usage: 511.69 KiB (Peak: 518.88 KiB) ]