みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
いろいろ教えていただいて、助かります。有難うございます。
指定複数テーブルの全部レコードをインポートしたいですが、うまくいかないので、教えていただきたいです。
環境:FMP13、Go13
Go中の必要な複数テーブルの全部レコードをPC上空のDBにインポートしたいです。(GoとFMPは同じDBです。Go中のデータをPC上のFMPにインポートしたい。)
iPhone上のファイルをPCに保存済
スクリプト:
レコードのインポート[ダイアログなし,「指定ファイル名.fmp12」一致するレコードを更新,(この時、インポートするテーブル【1】、各レコード名をお互いに合わす。)
レコードのインポート[ダイアログなし,「指定ファイル名.fmp12」一致するレコードを更新,(この時、インポートするテーブル【2】、各レコード名をお互いに合わす。)
レコードのインポート[ダイアログなし,「指定ファイル名.fmp12」一致するレコードを更新,(この時、インポートするテーブル【3】、各レコード名をお互いに合わす。)
このように3つのテーブルのインポートを設定しました。
(【1】と【2】【3】は関連テーブルです。)
しかし、スクリプト実行後、【1】の全部レーコドが全部インポートしましたが、【2】【3】は一部しかインポートができませんでした。
解決方法を教えていただきたいです。
また、複数台のiPhoneからそれぞれのデータをインポートするも考えています、
このような場合のインポートスクリプトの設定方法も教えていただきたいです。
有難うございます。
一度にインポートしないで、ダイアログありにして個別にテストしてみたら。
テーブル【2】、テーブル【3】、のレコードが、抽出された状態になっているのでは。
インポートする前に、そのテーブルのレイアウトへ移動して、全レコードを表示、を行なってみてください。
Offline
それですね。
Shinさん、Travellerさん、有難うございます。
「そのテーブルのレイアウトへ移動して、全レコードを表示」全レコードを対象にすることが分かりますが、
PC側のスクリプトを実行するのみで、複数テーブル、の全部レコードを一括で行いたいです。
なんにが方法がありますか?
PC側のスクリプトで相手側の動かして、レイアウト移動、全レコードを対象にようなスクリプトができますか?
(相手ファイルをPC側の外部データソースしない。)
指定ファイル名.fmp12を$変数として、指定する方法がOKです。
なとなく分かりました、
スクリプトを2つ用意します。
スクリプト_1
ファイルを開く(いくつのインポート先ファイルも対応出来るように、ファイル名を$変数にします。)
スクリプト実行(スクリプト_2、外部ファイル$の変数)
各インポートを行う。
スクリプト_2
レアウト切り替え、全部レコード表示。
必要なテーブル分を指定する。
PC側でスクリプト_1を実行すれば 欲しい結果になると思います。
インポートされるテーブルが閉じていれば全てのレコードをインポートしますよ。
気になったのですが、、
照合のインポートで、
一致するレコードを更新
とすると、
そのインポートの順番で結果が左右されそうですが、いいのでしょうか。
Offline
チポ様
テーブルが閉じている状態、私に少し分かりにくい。
画面で確認が出来ますか?(このテーブルのレイアウトに移動して、レコード何にも対象レコードに成っていない、何にも表示されない状態ですか?)
一回自分の考え方で、
インポート先複数のファイル名変数設定
スクリプト内容
を確定してから、再報告します。
昔のFM会議室から皆様の応援を頂いて、ありがとうございます。
FMGo側のファイルは、どこにあるのですか。
また、、[一致しないデータを新規レコードとして追加する ] は、チェックされていますか。
Offline
Shin 様
Go側のファイルはiTunesでPCに保存済です。
いくつのiPhoneからの違うファイル1,2,3・・・ような感じ
UUIDで照合して、新規追加、既存更新ような感じでインポートします。
相手のGoファイルを
データソース開く で開いて
スクリプト実行「開いたGoファイルのレイアウト移動と全レコード表示のスクリプトを実行する」
しかし
相手開いたGoファイルのファイルパスをGetすれば、そのままに、インポート先のファイルパスに使えばOKですが。
出来ないのようです。
引き続き挑戦します。
インポート時に、データソースは関係ないですよ。
インポートのファイルの設定で、インポート先のファイルを指定します。そのファイルパスを保存したいのでしたら、スクリプトにしておけばいいでしょう。
Offline
インポートされるテーブルが閉じていれば全てのレコードをインポートします
書き方が不正確でした。
インポートされるテーブルのファイルが閉じていれば・・
です。
ですから、
これは他のファイルであることが必須ですね。
Offline
PCファイルとインポートファイルを2つ用意しました。(同じファイルですが、インポートファイルはインポート先にファイルです(新しいデータ)。)
インポートスクリプト_1
ファイルを開く(インポートファイル)
スクリプト実行(インポートファイル中のスクリプト_2(レイアウト切り替え、全レコード表示を行う)
インポート[ダイアログなし、「インポートファイル」、一致更新する、(自動入力実行しない)]
必要分。。。
このようにうまく出来ました。(毎回インポート時、新しいデータファイル名をインポートファイルに名前変更します。)
しかし、UUID照合また問題が発生しました。
別に質問をさせていただきます。
UUIDの問題も解決しました。
やはり、各テーブルに自分のUUIDを付けないといけないです。
そうしないと、親テーブルのUUIDのみ照合すると。
インポートする度に、子テーブルの数が増えます。
有難うございます。
また、質問をさせていただきたいです。
Pages: 1
[ Generated in 0.012 seconds, 9 queries executed - Memory usage: 590.93 KiB (Peak: 607.47 KiB) ]