みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
お世話になっております。
Win10
FM17です。
ExecuteSQL関数でデータを取得する際、
任意の場所に改行をいれるにはどうしたらよいでしょうか。
SELECT AAA , BBB , ここに改行 CCC
例えば
SELECT AAA , BBB , 'K' , CCC
としておき、あとから改行にしようとも試みましたが
どうもうまくいきませんでした。
よろしくお願いいたします。
Offline
ExecuteSQL ( "SELECT AAA, BBB, CHR(13)+CCC FROM テーブル" ; "," ; ¶)
とか?
Offline
SELECT AAA , BBB , ここに改行 CCC
↓
SELECT AAA , BBB , '¶' + CCC
Offline
koeda様、Hiro様
ありがとうございます。
koeda様の方法ですと、変数に格納した際はデバッグで見ると正しく改行されていますが
変数をメール送信の本文に引用すると改行されません。
例
"メール本文" & $hennsuu
Hiro様の方法ですと'¶'がテキストとし見てられるため、デバッグ上でもメール上でも
テキストしてみなされています。
実際のコード
テキストを挿入 [選択; $SQL ; 「SELECT "AAA" , "BBB" , ここに改行 , "CCC" FROM "テーブル" WHERE "フィールド1" = ? AND "フィールド2" =? AND "フィールド3" <> 0」
変数を設定 [$SQL2 ; 値: ExecuteSQL ( $SQL ; " " ; "" ; $変数1 ; $変数2 )]
メールを送信 [ "メール本文" & $SQL2 ]
日本語テーブル、フィールドが多いため一時テキストを挿入としています。
引き続きよろしくお願いいたします。
Last edited by Valon (2019-06-21 09:06:30)
Offline
Hiroさんの方法を拝見して、私もなるほどと思っていました(^^ゞ
メール本文に貼り付けるばあいの改行は\r\nなので、私の方法ならば
SELECT AAA, BBB, CHR(13)+CHR(10)+CCC FROM テーブル"
のように、LFも追加しないとダメですね。
Offline
koeda様
ありがとうございます。
意図した結果となりました。
そういった知識が足りず恥ずかしいばかりです。またお願いいたします。
Offline
終わってますが、ちょっと補足しますネ。
・SELECT '固定値'+"フィールド"
↓
・SELECT ?+"フィールド"
みたいにココでも「?」動的引数(ダイナミックパラメータ)が使えます。
なので、標準のSQL'固定値'に、動的なFM'変動値'を代入でき、非常に便利です。
他の場合でも、SQL特性とFM特性を組合せると工夫次第で
結構高機能なことが楽に実現できたりします。
Last edited by Hiro (2019-06-21 18:25:47)
Offline
Hiro様
ありがとうございます。
フィールド名の変更があっても良いように変数化しておくぐらいしか私では思いつきませんが
記憶にとどめておきます。
SQLは昨日初めて触ったものでまだまだです。
ありがとうございました。
Offline
Pages: 1
[ Generated in 0.010 seconds, 11 queries executed - Memory usage: 511.95 KiB (Peak: 516.49 KiB) ]