みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
売上伝票テーブル、詳細テーブルがあり日付と取引先でリレーションして一対多にしています
普通は詳細テーブルをポータルにしてレコードを入力しています
売上伝票には取引先や請求日などがあり、詳細は、商品名や数量です
それとは別にExcelで、詳細テーブルに該当するものが入力されているデータがあり、
それをそのポータルにインポート(1対多で入力したのと同じ状態になればいいです)としたいです
どのようにしたら実現できますか?
Excelのデータはどのように編集してもかまいません
Excelからコピペでポータルに貼れればいいのですが、それには対応していないようなので
助けてください
Excel には、具体的にどのようなデータが入っていますか。
動きの流れは、そのデータを明細側にインポートし、そこの日付と取引先を伝票テーブルへ重複が無いようにインポートします。
ちょっと気になったのですが、同一取引先へ同日に複数回の納品はあり得ない事ですか。
Last edited by Shin (2023-07-05 23:59:37)
Offline
ファイルメーカー上でも特定の取引先を対象としたレイアウトにしていますので
取引先は売上伝票レコード作成時に自動不要されるようにしています
Excelには日付 商品コード 個数 が入っています
特定の取引先だけExcelファイルがあるので、取引先は入力されておらず
すべて同一のA社になりますが、同一日のデータは複数あります
Excel上でも、「○月分A社売上データ」といった具合です
完全に、詳細テーブルに入力している内容(日付をのぞいて)がExcelにあることになります
日付をぬけてそのままポータルにコピペできればよい、といった状態です
一度明細に日付こみでインポートして、Excel側で重複なしの日付のみのデータをつくり
再度売上伝票テーブルに日付のみをインポートする形がになるのでしょうか?
質問文の段階からそうですが、
日付が主キーになるということになり、データベース理論的には誤りとされますが
運用上は問題ないということになりますでしょうか?
ファイルメーカー上で直接入力するだけならば、別途伝票IDを付与して、主キーとすることもできるとは思います
特定の取引先 というのは、A社1社だけなのでしょうか。将来複数になる事はありませんか。
1社だけなら、伝票側の日付フィールドに、常時ユニークの制限をつけて、日付をインポートすればいいです。
リレーションキーについては、ユニークになるのでしたら何でもいいので、1社だけなら日付でも十分です。複数になるのでしたら、社名と日付を合わせた自動入力を行うフィールドを作り、それを常時ユニークに制限すればいいです。
好みでしょうが、私はuuidの設定されたフィールドを使うことにしています。
Last edited by Shin (2023-07-06 09:21:37)
Offline
> ポータルにインポート
インポートはテーブルでするので、
ポータルで表示しているテーブルでインポートします。
インポート直後は、
インポートしたレコードのみが対象レコードとなっていますから、
全置換で社名を入力すればいいでしょう。
Offline
ありがとうございます
詳細テーブルにExcelをインポート
伝票テーブルにExcelの日付のみと取引先をユニークでインポート
とすれば、ポータルで1対多でいれたのと同じ状態ということになりますか?
理想としては伝票テーブルに基礎情報を入力したあと
明細テーブル(ポータル)にExcelからコピペできたらいいのですがそれはむずかしいようです
ポータルの表状態の部分とExcelとは同じ形です
Excel のシートから1行ずつ読み込み、ポータルの中のフィールドに設定していく処理も作れますが、インポートにすると数ステップで処理が終わります。
データ化が済んでいるのでしたら、それを結びつける処理を行なった方が早いです。
Offline
結びつけるのは教えていただいた方法を自分なりに解釈した#6の方法であってますか?
1行ずつ読み込んで転記するのは、かなり複雑な処理になりますか?
カウンタを増やしていきループなどで回すという感じでしょうか?
重ねて、、
インポートが簡単ですよ。
伝票は
取引先&日付
というフィールドを作り、入力値の制限でユニーク・常時
として、
詳細にExcelをインポート、
インポートしたレコードが対象となっているときに、
伝票でこれをインポート。
これでレコードができます。
Offline
ありがとうございます
面倒な処理を簡潔にできそうで助かりました
Pages: 1
[ Generated in 0.006 seconds, 9 queries executed - Memory usage: 563.77 KiB (Peak: 578.95 KiB) ]