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

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

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

You are not logged in.

Announcement

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


#1 2016-09-14 17:42:21

kaira
Member

エクセルからのインポートについて

エクセルの材料入庫表からFileMakerにインポートして
FileMakerで材料入庫が見れるようにしています。

エクセルの材料入庫表は毎日更新され
新しいファイルが作られるのですが

エクセルの材料入庫表をFileMakerに
新しくインポートすると古いデータの上に
重複するようにインポートされてしまいます。

FileMakerの現在の材料入庫表を
新しいエクセルの材料入庫表に
総入れ替えしたいのですが
どうすればいいでしょうか?

今のところFileMaker側の
インポートデータを全て削除し
新しいエクセルのデータをインポートしています。

インポートの時に古いデータを残さず丸々
全て更新できれば嬉しいです。

Offline

#2 2016-09-14 17:58:27

Shin
Member

Re: エクセルからのインポートについて

入庫状況を時系列で保存しておく意味は無いのでしょうか。
私ならば、毎日のデータを新規に追加して、日付データを追加しておき、入庫状況のデータベースを作りますが。

その必要が一切無い、と言う事でしたら、インポート前に、全レコードを削除してくのが確実でしょう。
上書き更新を行うと、インポートレコード数が少なくなると、更新されないレコードが出来てしまいます。

Offline

#3 2016-09-15 08:01:32

kairaです
Guest

Re: エクセルからのインポートについて

エクセル側の入庫表は毎日時系列で
ファイルが追加されております。

ご回答のように全て削除して
その日のデータをインポートしまいと思います。

そこで、インポートする時に
エクセルとFileMakerのインポート先の
指定をして必要な項目だけインポートしているのですが

全て削除すると、そのインポート先の設定も
再設定しなければなりません。

インポート先の設定を保存しておくこと可能でしょうか?
ご回答宜しくお願いします。

#4 2016-09-15 09:04:28

チポ
Member

Re: エクセルからのインポートについて

よくわかりませんが・・

> エクセルの材料入庫表は毎日更新され
> 新しいファイルが作られるのですが

毎日Excelのファイルを作っている?
一つのファイルにデータを加えている?


> エクセルの材料入庫表をFileMakerに
> 新しくインポートすると古いデータの上に
> 重複するようにインポートされてしまいます。

重複
とは?
FMのレコードに上書きするということでしょうか?


> FileMakerの現在の材料入庫表を
> 新しいエクセルの材料入庫表に
> 総入れ替えしたいのですが

総入れ替えの考え方が間違っているのでは。

現状のレコードはいじらずに、
新しい日付の分だけ新しいレコードを作る。
これが正しい考え方だと思いますよ。

Offline

#5 2016-09-15 10:42:09

Shin
Member

Re: エクセルからのインポートについて

Excel のファイルが、当日までのすべての履歴を持ったファイルで、それが毎日更新されている(新しいファイルが出来ている、というのと矛盾しますが)、という事でしたら、かならずレコードガ増加している事になりますので、上書きでも良いかもしれません。
もし、それらのレコードがユニークな値を持っているのでしたら、照合インポートを行ない、新規レコードの追加を行えば良いでしょう。
レコードの削除を繰り返すと、ファイルの内部フラグメンテーションが起き、急速にアクセスが遅くなって行きます。時々ファイルの最小化保存を行なっておく必要が出てきます。追加でしたらたまに行なう程度で十分でしょう。

Offline

#6 2016-09-15 10:44:59

kaira3
Guest

Re: エクセルからのインポートについて

初心者で説明が下手ですみません。

当方、組立下請けの会社でして
親会社から部品の支給が毎日行われます。

親会社から本日の支給部品のデータが毎日
エクセルデータで送られてきます。

それは更新ではなく新しいデータが
次々と増えていく感じで
昨日と今日は違うファイルとなっています。



重複とはエクセルの新しい今日のデータを
FMにインポートすると昨日の
レコードに「追加」される形で
重複するデータが生まれてしまいます。

そこで昨日のインポートしたデータを全て削除して
今日のエクセルデータの不要な項目を
除外して整理して並び替え
FileMakerにインポートしたいのです。

インポート図を説明すると


エクセル側→FileMaker

1→2
2→3
3→1
4→4


という形でインポートしたいのですが。
昨日のレコードを全て一回削除すると
また設定したインポートの図がリセットされて

1→1
2→2
3→3
4→4

と並べ替えた設定がリセットされ
もう1度設定しなければいけません。

このインポート先の設定だけでも
保存して呼び出せれば便利だと思うのですが
何もやり方がわからず。

毎回再度、並び替えをしています。

何か最適な方法があれば
ご教授宜しくお願いします。

#7 2016-09-15 10:52:19

Shin
Member

Re: エクセルからのインポートについて

本当の重複ではないですね。

昨日までの納入品のリストは、昨日分として保存する必要は無いのですか。
FileMaker 側に納入日付フィールドを作り、自動設定しておけば,過去の納入を区別できますので、それだけで良い様な気がします。
インポート順は、インポートの手順をスクリプト化しておけばいいでしょう。その際に必要な情報は、Excel ファイル名です。これは毎日どうなっていますか。

Offline

#8 2016-09-15 10:54:27

kaira3
Guest

Re: エクセルからのインポートについて

インポートを重複させないために
個人的に調べて試みましたが。

対象レコード内で一致するレコードを更新
一致しないデータを新規レコードとして追加する

とすればいいという情報があり試しましたが

「一致するレコードを更新するオプションに対し
少なくとも1組の一致するフィールドが指定されなければなりません。」

と表示されインポートできませんでした。
全く意味がわからず困っております。

#9 2016-09-15 11:21:30

チポ
Member

Re: エクセルからのインポートについて

送られてくるエクセルファイルはその日1日分だけのものなんですよね。

ならば、単に新規レコードでインポートすればいいことなのでは。


と書いたけれど・・
> 重複とはエクセルの新しい今日のデータを
> FMにインポートすると昨日の
> レコードに「追加」される形で
> 重複するデータが生まれてしまいます

「重複するデータ」
って理解できません。


> 「一致するレコードを更新するオプションに対し
> 少なくとも1組の一致するフィールドが指定されなければなりません。」

インポートのソースとターゲットに照合するフィールドが必要ということです。

その照合が一致したレコードには上書き、
照合されなければ新規レコードが作成されます。

Offline

#10 2016-09-15 13:10:52

kaira4
Guest

Re: エクセルからのインポートについて

送られてくるデータは
数ヶ月分の材料の一覧表でして
日々、追加される生産計画にしたがって
材料一覧表に追加されている感じです。

ですので今日インポートしたデータに
明日新しいデータをインポートすると
今日のデータ一覧表と明日のデータ一覧表に
変更の無いデータも含めダブってインポート
されてしまうのです。

#11 2016-09-15 13:20:28

チポ
Member

Re: エクセルからのインポートについて

ああ、そういうことですか。。

このような方法はいかがでしょう。
インポート用に別テーブルを作り、
  そこへ全てインポート、
  今日のレコードを検索、
  それを元テーブルでインポート、
  インポート用テーブルの全レコード削除
   (必要なら、これのデメリットはShinさんが#5で書かれた通りです)

Offline

#12 2016-09-15 14:41:20

kaira5
Guest

Re: エクセルからのインポートについて

ありがとうございます。
デフラグしながら全削除で
インポートしていきたいと思います。

最後に、

インポート先の指定の各項目に
割り当てた矢印の位置の保存というのは
できないのでしょうか?

カスタマイズでマイセットのような
設定を保存する方法はございますか?

インポートするたびに
再指定しなければなりませんか?

#13 2016-09-15 15:46:12

チポ
Member

Re: エクセルからのインポートについて

インポートのスクリプトで設定した、
インポート順の指定
は記憶されます。

しかし、ソースファイルが変わると、記憶されたインポート順はダメでしょう。
そのファイル名が同じなら記憶通りにインポートされるはずですが。。

Offline

#14 2016-09-15 17:14:31

Shin
Member

Re: エクセルからのインポートについて

ソースファイルの指定を変数で行っておくと、インポート順の記憶は有効な様です。
一旦手動でインポートを行い、その状態でスクリプトに、「レコードのインポート」を追加します。その際に、ソースファイルは変数を指定しておきます。
インポートを行う前に、目的のファイルのパスを変数に設定しておけばいいでしょう。

親から送ってくる材料一覧表には、シリアル番号の様な物は含まれていないのですか。もし含まれていれば、それで照合インポートすれば良いですね。
また、もし昨日以前の一覧表の内容が修正される事が無いのでしたら、インポート後にインポートしたデータの過去分を削除しておいても良いでしょうし、修正がある様でしたら、インポートしたデータの最古のデータを見つけて、既存データの削除を行えば良いかと思います。

Offline

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

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.005 seconds, 7 queries executed - Memory usage: 553.58 KiB (Peak: 574.12 KiB) ]