みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
ExecuteSQL IN演算子の引数設定について困っております。
スクリプト内で変数$xに複数の値を設定しております($x ← "1111" & ¶ & "2222" & ¶ & "3333"・・・)
その後ExecuteSQLで$xの値をキーにテーブルを検索して、
結果を取得したいのですが、IN演算子の引数にGetValueで取得した$xの値を「,」で連結したものを
設定したのですが、うまく結果が取得できませんでした。
この場合IN演算子の引数はどのようにすれば良いのでしょうか?
=======================================
ExecuteSQL (
"SELECT 項目A
FROM テーブルB
WHERE キー項目C IN (?) " ;
"" ;
"" ;
← こちらに変数$xの値を全て設定したい
)
=======================================
お知恵をお貸しください。
よろしくお願いいたします。
よろしくお願いいたします。
「?」を使わずに書いてみては。
Let([
query="
SELECT \"フィールド\"
FROM \"テーブル\"
WHERE \"フィールド\" IN ({values})
"
;query=Substitute ( query ; "{values}" ; "50075,50130" )
];
ExecuteSQL ( query ; "" ; "")
)
フィールドタイプが数字の場合、
Substitute ( query ; "{values}" ; "50075,50130" )
フィールドタイプがテキストの場合、各値をシングルクォーテーションでくるむ。
Substitute ( query ; "{values}" ; "'abc','def'" )
Offline
通常SQLのサブクエリで代入するケースですが、今回は変数$xなのでFM関数で、
ExecuteSQL (
"
SELECT ""項目A""
FROM ""テーブルB""
WHERE ""項目C"" IN ( " & Substitute("'"& $x &"'"; [¶;"','"]) & " )
"
; ""
; ""
)
Offline
qb_dpさん、Hiroさん、ご回答ありがとうございました。
解決できました。
Pages: 1
[ Generated in 0.004 seconds, 9 queries executed - Memory usage: 511.82 KiB (Peak: 523.51 KiB) ]