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

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

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

You are not logged in.

Announcement

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


#1 2023-07-05 23:28:47

社員
Guest

1対多のExcelからのインポートについて

売上伝票テーブル、詳細テーブルがあり日付と取引先でリレーションして一対多にしています
普通は詳細テーブルをポータルにしてレコードを入力しています

売上伝票には取引先や請求日などがあり、詳細は、商品名や数量です

それとは別にExcelで、詳細テーブルに該当するものが入力されているデータがあり、
それをそのポータルにインポート(1対多で入力したのと同じ状態になればいいです)としたいです
どのようにしたら実現できますか?

Excelのデータはどのように編集してもかまいません

Excelからコピペでポータルに貼れればいいのですが、それには対応していないようなので
助けてください

#2 2023-07-05 23:57:11

Shin
Member

Re: 1対多のExcelからのインポートについて

Excel には、具体的にどのようなデータが入っていますか。
動きの流れは、そのデータを明細側にインポートし、そこの日付と取引先を伝票テーブルへ重複が無いようにインポートします。

ちょっと気になったのですが、同一取引先へ同日に複数回の納品はあり得ない事ですか。

Last edited by Shin (2023-07-05 23:59:37)

Offline

#3 2023-07-06 01:05:05

社員
Guest

Re: 1対多のExcelからのインポートについて

ファイルメーカー上でも特定の取引先を対象としたレイアウトにしていますので
取引先は売上伝票レコード作成時に自動不要されるようにしています

Excelには日付 商品コード 個数 が入っています

特定の取引先だけExcelファイルがあるので、取引先は入力されておらず
すべて同一のA社になりますが、同一日のデータは複数あります
Excel上でも、「○月分A社売上データ」といった具合です

完全に、詳細テーブルに入力している内容(日付をのぞいて)がExcelにあることになります
日付をぬけてそのままポータルにコピペできればよい、といった状態です

一度明細に日付こみでインポートして、Excel側で重複なしの日付のみのデータをつくり
再度売上伝票テーブルに日付のみをインポートする形がになるのでしょうか?

質問文の段階からそうですが、
日付が主キーになるということになり、データベース理論的には誤りとされますが
運用上は問題ないということになりますでしょうか?
ファイルメーカー上で直接入力するだけならば、別途伝票IDを付与して、主キーとすることもできるとは思います

#4 2023-07-06 07:10:50

Shin
Member

Re: 1対多のExcelからのインポートについて

特定の取引先 というのは、A社1社だけなのでしょうか。将来複数になる事はありませんか。

1社だけなら、伝票側の日付フィールドに、常時ユニークの制限をつけて、日付をインポートすればいいです。

リレーションキーについては、ユニークになるのでしたら何でもいいので、1社だけなら日付でも十分です。複数になるのでしたら、社名と日付を合わせた自動入力を行うフィールドを作り、それを常時ユニークに制限すればいいです。
好みでしょうが、私はuuidの設定されたフィールドを使うことにしています。

Last edited by Shin (2023-07-06 09:21:37)

Offline

#5 2023-07-06 08:49:03

チポ
Member

Re: 1対多のExcelからのインポートについて

> ポータルにインポート
インポートはテーブルでするので、
ポータルで表示しているテーブルでインポートします。

インポート直後は、
インポートしたレコードのみが対象レコードとなっていますから、
全置換で社名を入力すればいいでしょう。

Offline

#6 2023-07-06 14:21:56

社員
Guest

Re: 1対多のExcelからのインポートについて

ありがとうございます

詳細テーブルにExcelをインポート
伝票テーブルにExcelの日付のみと取引先をユニークでインポート
とすれば、ポータルで1対多でいれたのと同じ状態ということになりますか?

理想としては伝票テーブルに基礎情報を入力したあと
明細テーブル(ポータル)にExcelからコピペできたらいいのですがそれはむずかしいようです
ポータルの表状態の部分とExcelとは同じ形です

#7 2023-07-06 16:01:49

Shin
Member

Re: 1対多のExcelからのインポートについて

Excel のシートから1行ずつ読み込み、ポータルの中のフィールドに設定していく処理も作れますが、インポートにすると数ステップで処理が終わります。
データ化が済んでいるのでしたら、それを結びつける処理を行なった方が早いです。

Offline

#8 2023-07-06 17:36:38

社員
Guest

Re: 1対多のExcelからのインポートについて

結びつけるのは教えていただいた方法を自分なりに解釈した#6の方法であってますか?

1行ずつ読み込んで転記するのは、かなり複雑な処理になりますか?
カウンタを増やしていきループなどで回すという感じでしょうか?

#9 2023-07-07 09:29:46

チポ
Member

Re: 1対多のExcelからのインポートについて

重ねて、、
インポートが簡単ですよ。

伝票は
取引先&日付
というフィールドを作り、入力値の制限でユニーク・常時
として、
詳細にExcelをインポート、
インポートしたレコードが対象となっているときに、
伝票でこれをインポート。

これでレコードができます。

Offline

#10 2023-07-08 00:49:04

社員
Guest

Re: 1対多のExcelからのインポートについて

ありがとうございます
面倒な処理を簡潔にできそうで助かりました

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

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.008 seconds, 9 queries executed - Memory usage: 563.09 KiB (Peak: 578.21 KiB) ]