やりたいことは、
ココがポイント
エクセルデータをインポートしてルックアップ値を更新させたい!
ダイヤログを表示させてファイルを選択
ファイルは自由に選択してからのインポートを考えていたので、上のような感じで設定しました。
このスクリプトを実行すると、Windowsのファイル選択画面が出現しました。
インポートしたいファイルを選択して「開く」をクリックしました。
スクリプト設定時に選んでいたインポートフィールドの画面がでてきました。
「インポート」をクリックすると、下記の様な画面が出てきました。
簡単ですね!
先頭レコード(フィールド名)を除いたインポート
インポートデータを見ると、インポートデータの先頭にあるフィールド名までインポートされていました。
FileMakerのサポートサイトやネット検索して対応策をさがしました。
インポートするデータの先頭レコードに、データではなく、フィールド名 (列タイトル) がある場合、[フィールド名が含まれる最初のレコードはインポートしない] を選択します。
[フィールド名が含まれる最初のレコードはインポートしない] を選択すると、先頭レコードはスキップされます。
ココに注意
FileMakerPro19の場合、この設定項目が見つかりません!
さんざん時間を消費させて調べた結果、下記の様な流れで作業すれば、それらしき設定がでてきました。
ココがダメ
ファイルを指定して「OK」をクリックしたら設定がでてきました!
これで、インポートしたら先頭行のフィールド名はインポートされなくなりました。
でも、これではファイル名固定になりますね。
ファイル選択してインポート
ファイル名を変数にできれば簡単にファイル名指定インポートができるのですが、なかなか適当なコマンドが見つかりません。
やっと見つけた方法が、
ココがポイント
「ファイルを挿入」を使う!?
まったくファイル名を変数にするコマンドだとは思えません。
「ファイルを挿入」からダイアログオプションにて、ファイルの種類を限定することができます。
ポイントは、
ココがポイント
ターゲットに変数名を設定する
ということです。
あとは、「レコードのインポート」からデータソース指定にて、ファイル変数名を設定すれば良いだけです。
これで、ファイル名固定ではなく、ファイル名を指定してインポートすることができました。
インポート後のルックアップ値の更新
インポートすると、ルックアップ値が表示されていませんでした。
注意ポイント
データベースからルックアップ値を確認すると、テーブルをインポートした時にリレーションシップの関係から、設定が消えて<不明>となってしまったのが原因のようです。
設定をし直して、レイアウトを他のテーブルに変更して、再度戻りましたが、ルックアップ値が更新されません。
一旦ファイルを閉じて再起動してみても更新されませんでした。
「フィールド内容の再ルックアップ」をすることで、ちょい時間はかかりますが、ルックアップ値が更新されました。
その後0インポートを再度テストしましたが、ちゃんとルックアップ値を設定してある場合は、
ココがポイント
インポートしたデータもルックアップ値は更新されました!
まだまだFileMakerに関しては素人なので、どういう動作をするのかが分かっていません。
疑問に思った事はブログにして蓄積していきたいと思います。