みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
[OS]Windows10
[Ver.]17
最近Master BooK初級編の勉強を始めた初心者です。
初歩的な質問で恐縮ですが定期的なインポートについて質問させてください。
外部ソフトウェアで都度出力したCSVを自動でインポート出来るようにしたいのですが、定期的なインポートの設定時に出てくる初期スクリプトをどのように変更すれば可能になるのかがよく分からず困っております。
可能であれば、スクリプトを教えていただけますと非常に助かります。
一応、初期スクリプトは以下になります。
If[$$fmauto_1065094 <> 1 or Get(スクリプト引数)]
レイアウト切り替え
ウィンドウの固定
全レコードを表示
対象レコード削除
レコードのインポート[ダイアログあり:オン;「patient_data(26).csv」; 追加 ; シフト JIS]
変数を設定[$$fmauto_1065094; 値 : 1]
レイアウト切り替え
End if
patient_dataの後ろにある数字が、外部ソフトウェアで都度出力する度に1ずつ増えていきます。
恐れ入りますがご教示いただければ幸いです。
patient_data(26).csv の数値を 1づつ増やしたいという事でしょうか?
例:
番号保存用のテーブル・フィールドを作成し、デカルト積リレーションシップ で接続
変数を設定[$File; 値 : "patient_data(" & 番号保存用フィールド + 1 & ").csv"]
レコードのインポート[ダイアログあり:オン;「$File」; 追加 ; シフト JIS]
比較演算子を使用したリレーションシップ
https://fmhelp.filemaker.com/help/18/fm … ators.html
Offline
番号保存用フィールドも1を加えておかないと、、
クライアントでなければ、
グローバルフィールドにしてもいいでしょうね。
Offline
インポートしたレコードに、ファイル名を保存するフィールドを追加する、というのはいかがでしょう。変数$Fileを自動入力させればいいだけです。
次の数字もこれから得られます。
ちょっと気になるのが、
全レコードを表示
対象レコード削除
ですが、全レコードのインポートを全てやり直すと、フラグメントを助長する可能性が高くなります。Patient ID などのユニークなデータがあると思います。それをキーにして照合インポートを行うほうがいいのでは。
また、毎回全 Patient の最新データが送られてくる、という事でしょうから、最新ファイル以外は不要なのでは。そうすると、そのファイルのフォルダーをインポートする仕組みを別に作ればファイルリストが得られるので、それを使えばカウントする必要がありません。
Last edited by Shin (2019-10-24 17:33:57)
Offline
お返事遅れてしまい大変申し訳ございません。
qb_dp様、チポ様、Shin様ご回答ありがとうございます。
しばらく試行錯誤した結果、無事に皆様からいただいた情報をもとに完成させることができました。
また照合インポートにしたので、都度全レコードの削除をする必要もなくなりました。
この度は誠にありがとうございました。
Pages: 1
[ Generated in 0.006 seconds, 7 queries executed - Memory usage: 509.8 KiB (Peak: 515.84 KiB) ]