みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
お世話になります。
win7、filemaker pro 13adを使用しています。
別のシステムDBのデータをODBCを使ってインポートしようとしているのですが
その際初回インポート以降は、インポート元で新たに生成されたレコードとインポート元で変更されたレコードのみインポートする
差分インポートをしたいと考えています。
インポート元のフィールドには更新日及び日付フィールドがあります。
またODBCには接続済みです。
スプリプトで上記処理を行いたいのですが、その手順として
1.事前に「前回インポート日付」フィールドを作成
2.前回インポート日付を変数に格納(変数名:$前回インポート日付)
3.SQLを実行にて「計算済みのSQLテキスト」を選択し以下の内容を入力
SELECT " 氏名 "," 更新日 "," 最終購入物品 " FROM " 顧客データ " WHERE " 更新日 " > " $前回インポート日付 "
4.レコードのインポートにて「対象レコード内で一致するレコードを更新」「一致しないデータを新規レコードとして追加する」に設定し
インポート実行
5.インポート完了後、実行した日付を「前回インポート日付」フィールドに上書き
というスクリプトを作成し実行したのですが、「SQLを実行」の段階で「テーブルが見つかりません。」というエラーがでます。
「ファイル」→「レコードのインポート」では問題なくインポートできますのでODBC接続の問題ではなく、
SQLのクエリーの問題だと思いますがご指南いただけませんでしょうか?
よろしくお願い致します。
計算式なので””で囲まないとだめです。それと無駄なスペースが全部に入ってるようですが
"SELECT \"氏名\",\"更新日\",\"最終購入物品\" FROM \"顧客データ\" WHERE \"更新日\" > " & $前回インポート日付
日付も囲みが必要のはずですが、SQLサーバは何ですか?
位相学様
ご返信ありがとうございます。
SQLサーバについてですが業者さんが作成したシステムのため、申し訳ありませんが詳しい仕様が分かりません。
教えていただいたクエリを参考にやってみたところSQLを実行までは処理が進むようになりました。
ただインポートの段階で「対象レコード内で一致するレコードを更新」を選択すると
「少なくとも1組の照合フィールドが指定されなければなりません。」と表示されます。
フィールドデータのインポート順画面ではインポート元のフィールドが表示されていませんが
これを表示させ照合フィールドの指定をするにはいかがすればよろしいでしょうか?
変数部分を定数にして指定します。
Pages: 1
[ Generated in 0.010 seconds, 9 queries executed - Memory usage: 507.91 KiB (Peak: 514.53 KiB) ]