みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
エクセルの材料入庫表からFileMakerにインポートして
FileMakerで材料入庫が見れるようにしています。
エクセルの材料入庫表は毎日更新され
新しいファイルが作られるのですが
エクセルの材料入庫表をFileMakerに
新しくインポートすると古いデータの上に
重複するようにインポートされてしまいます。
FileMakerの現在の材料入庫表を
新しいエクセルの材料入庫表に
総入れ替えしたいのですが
どうすればいいでしょうか?
今のところFileMaker側の
インポートデータを全て削除し
新しいエクセルのデータをインポートしています。
インポートの時に古いデータを残さず丸々
全て更新できれば嬉しいです。
Offline
入庫状況を時系列で保存しておく意味は無いのでしょうか。
私ならば、毎日のデータを新規に追加して、日付データを追加しておき、入庫状況のデータベースを作りますが。
その必要が一切無い、と言う事でしたら、インポート前に、全レコードを削除してくのが確実でしょう。
上書き更新を行うと、インポートレコード数が少なくなると、更新されないレコードが出来てしまいます。
Offline
エクセル側の入庫表は毎日時系列で
ファイルが追加されております。
ご回答のように全て削除して
その日のデータをインポートしまいと思います。
そこで、インポートする時に
エクセルとFileMakerのインポート先の
指定をして必要な項目だけインポートしているのですが
全て削除すると、そのインポート先の設定も
再設定しなければなりません。
インポート先の設定を保存しておくこと可能でしょうか?
ご回答宜しくお願いします。
よくわかりませんが・・
> エクセルの材料入庫表は毎日更新され
> 新しいファイルが作られるのですが
毎日Excelのファイルを作っている?
一つのファイルにデータを加えている?
> エクセルの材料入庫表をFileMakerに
> 新しくインポートすると古いデータの上に
> 重複するようにインポートされてしまいます。
重複
とは?
FMのレコードに上書きするということでしょうか?
> FileMakerの現在の材料入庫表を
> 新しいエクセルの材料入庫表に
> 総入れ替えしたいのですが
総入れ替えの考え方が間違っているのでは。
現状のレコードはいじらずに、
新しい日付の分だけ新しいレコードを作る。
これが正しい考え方だと思いますよ。
Offline
Excel のファイルが、当日までのすべての履歴を持ったファイルで、それが毎日更新されている(新しいファイルが出来ている、というのと矛盾しますが)、という事でしたら、かならずレコードガ増加している事になりますので、上書きでも良いかもしれません。
もし、それらのレコードがユニークな値を持っているのでしたら、照合インポートを行ない、新規レコードの追加を行えば良いでしょう。
レコードの削除を繰り返すと、ファイルの内部フラグメンテーションが起き、急速にアクセスが遅くなって行きます。時々ファイルの最小化保存を行なっておく必要が出てきます。追加でしたらたまに行なう程度で十分でしょう。
Offline
初心者で説明が下手ですみません。
当方、組立下請けの会社でして
親会社から部品の支給が毎日行われます。
親会社から本日の支給部品のデータが毎日
エクセルデータで送られてきます。
それは更新ではなく新しいデータが
次々と増えていく感じで
昨日と今日は違うファイルとなっています。
重複とはエクセルの新しい今日のデータを
FMにインポートすると昨日の
レコードに「追加」される形で
重複するデータが生まれてしまいます。
そこで昨日のインポートしたデータを全て削除して
今日のエクセルデータの不要な項目を
除外して整理して並び替え
FileMakerにインポートしたいのです。
インポート図を説明すると
エクセル側→FileMaker
1→2
2→3
3→1
4→4
という形でインポートしたいのですが。
昨日のレコードを全て一回削除すると
また設定したインポートの図がリセットされて
1→1
2→2
3→3
4→4
と並べ替えた設定がリセットされ
もう1度設定しなければいけません。
このインポート先の設定だけでも
保存して呼び出せれば便利だと思うのですが
何もやり方がわからず。
毎回再度、並び替えをしています。
何か最適な方法があれば
ご教授宜しくお願いします。
本当の重複ではないですね。
昨日までの納入品のリストは、昨日分として保存する必要は無いのですか。
FileMaker 側に納入日付フィールドを作り、自動設定しておけば,過去の納入を区別できますので、それだけで良い様な気がします。
インポート順は、インポートの手順をスクリプト化しておけばいいでしょう。その際に必要な情報は、Excel ファイル名です。これは毎日どうなっていますか。
Offline
インポートを重複させないために
個人的に調べて試みましたが。
対象レコード内で一致するレコードを更新
一致しないデータを新規レコードとして追加する
とすればいいという情報があり試しましたが
「一致するレコードを更新するオプションに対し
少なくとも1組の一致するフィールドが指定されなければなりません。」
と表示されインポートできませんでした。
全く意味がわからず困っております。
送られてくるエクセルファイルはその日1日分だけのものなんですよね。
ならば、単に新規レコードでインポートすればいいことなのでは。
と書いたけれど・・
> 重複とはエクセルの新しい今日のデータを
> FMにインポートすると昨日の
> レコードに「追加」される形で
> 重複するデータが生まれてしまいます
「重複するデータ」
って理解できません。
> 「一致するレコードを更新するオプションに対し
> 少なくとも1組の一致するフィールドが指定されなければなりません。」
インポートのソースとターゲットに照合するフィールドが必要ということです。
その照合が一致したレコードには上書き、
照合されなければ新規レコードが作成されます。
Offline
送られてくるデータは
数ヶ月分の材料の一覧表でして
日々、追加される生産計画にしたがって
材料一覧表に追加されている感じです。
ですので今日インポートしたデータに
明日新しいデータをインポートすると
今日のデータ一覧表と明日のデータ一覧表に
変更の無いデータも含めダブってインポート
されてしまうのです。
ああ、そういうことですか。。
このような方法はいかがでしょう。
インポート用に別テーブルを作り、
そこへ全てインポート、
今日のレコードを検索、
それを元テーブルでインポート、
インポート用テーブルの全レコード削除
(必要なら、これのデメリットはShinさんが#5で書かれた通りです)
Offline
ありがとうございます。
デフラグしながら全削除で
インポートしていきたいと思います。
最後に、
インポート先の指定の各項目に
割り当てた矢印の位置の保存というのは
できないのでしょうか?
カスタマイズでマイセットのような
設定を保存する方法はございますか?
インポートするたびに
再指定しなければなりませんか?
インポートのスクリプトで設定した、
インポート順の指定
は記憶されます。
しかし、ソースファイルが変わると、記憶されたインポート順はダメでしょう。
そのファイル名が同じなら記憶通りにインポートされるはずですが。。
Offline
ソースファイルの指定を変数で行っておくと、インポート順の記憶は有効な様です。
一旦手動でインポートを行い、その状態でスクリプトに、「レコードのインポート」を追加します。その際に、ソースファイルは変数を指定しておきます。
インポートを行う前に、目的のファイルのパスを変数に設定しておけばいいでしょう。
親から送ってくる材料一覧表には、シリアル番号の様な物は含まれていないのですか。もし含まれていれば、それで照合インポートすれば良いですね。
また、もし昨日以前の一覧表の内容が修正される事が無いのでしたら、インポート後にインポートしたデータの過去分を削除しておいても良いでしょうし、修正がある様でしたら、インポートしたデータの最古のデータを見つけて、既存データの削除を行えば良いかと思います。
Offline
Pages: 1
[ Generated in 0.005 seconds, 7 queries executed - Memory usage: 553.58 KiB (Peak: 574.12 KiB) ]