初心者のFileMaker pro Q&A (旧掲示板)

みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。

1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)

You are not logged in.

Announcement

新しい掲示板は、こちら:https://fm-aid.com/forum/t/filemaker


#1 2016-01-29 21:01:54

テイク
Guest

ODBCを使用した差分インポートについて

お世話になります。

win7、filemaker pro 13adを使用しています。


別のシステムDBのデータをODBCを使ってインポートしようとしているのですが
その際初回インポート以降は、インポート元で新たに生成されたレコードとインポート元で変更されたレコードのみインポートする
差分インポートをしたいと考えています。

インポート元のフィールドには更新日及び日付フィールドがあります。
またODBCには接続済みです。

スプリプトで上記処理を行いたいのですが、その手順として
1.事前に「前回インポート日付」フィールドを作成

2.前回インポート日付を変数に格納(変数名:$前回インポート日付)

3.SQLを実行にて「計算済みのSQLテキスト」を選択し以下の内容を入力
SELECT " 氏名 "," 更新日 "," 最終購入物品 " FROM " 顧客データ " WHERE " 更新日 " > " $前回インポート日付 "

4.レコードのインポートにて「対象レコード内で一致するレコードを更新」「一致しないデータを新規レコードとして追加する」に設定し
インポート実行

5.インポート完了後、実行した日付を「前回インポート日付」フィールドに上書き


というスクリプトを作成し実行したのですが、「SQLを実行」の段階で「テーブルが見つかりません。」というエラーがでます。
「ファイル」→「レコードのインポート」では問題なくインポートできますのでODBC接続の問題ではなく、
SQLのクエリーの問題だと思いますがご指南いただけませんでしょうか?

よろしくお願い致します。

#2 2016-01-29 23:34:04

位相学
Guest

Re: ODBCを使用した差分インポートについて

計算式なので””で囲まないとだめです。それと無駄なスペースが全部に入ってるようですが
"SELECT \"氏名\",\"更新日\",\"最終購入物品\" FROM \"顧客データ\" WHERE \"更新日\" > " & $前回インポート日付

日付も囲みが必要のはずですが、SQLサーバは何ですか?

#3 2016-01-30 18:02:02

テイク
Guest

Re: ODBCを使用した差分インポートについて

位相学様

ご返信ありがとうございます。
SQLサーバについてですが業者さんが作成したシステムのため、申し訳ありませんが詳しい仕様が分かりません。

教えていただいたクエリを参考にやってみたところSQLを実行までは処理が進むようになりました。
ただインポートの段階で「対象レコード内で一致するレコードを更新」を選択すると
「少なくとも1組の照合フィールドが指定されなければなりません。」と表示されます。

フィールドデータのインポート順画面ではインポート元のフィールドが表示されていませんが
これを表示させ照合フィールドの指定をするにはいかがすればよろしいでしょうか?

#4 2016-02-09 16:50:08

scripter
Guest

Re: ODBCを使用した差分インポートについて

変数部分を定数にして指定します。

Registered users online in this topic: 0, guests: 1
[Bot] ClaudeBot

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.004 seconds, 7 queries executed - Memory usage: 508.83 KiB (Peak: 515.67 KiB) ]