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

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

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

You are not logged in.

Announcement

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


#1 2017-12-11 16:19:58

mihochama
Member

executeSQLするとデータビューアの変数に表示されない

変数の設定[$a; 値: ExecuteSQL("SELECT \"id\" FROM \"テーブル\"" ;"";"")]
これをデバッガを開いて$aを見ていると、正しく$aにデータが入ったのがわかります。

続けて、
変数の設定[$b; 値: ExecuteSQL("SELECT \"id\" FROM \"テーブル\" where id = '1'" ;"";"")]
変数の設定[$b; 値: ExecuteSQL("SELECT \"id\" FROM \"テーブル\" where id = ?" ;"";""; id)]

このようにすると、変数$bがそもそもデータビューアに表示されません。
何回試しても同じなのですが、原因が全くわかりません。何か解決する手段はあるでしょうか?

Offline

#2 2017-12-11 16:48:50

mihochama
Member

Re: executeSQLするとデータビューアの変数に表示されない

SQLが実行されて値が返ってくるものは変数にセットされていました。
よく見ると、値が返ってこないもの(selectした結果、何も引っかからない)は
データビューアの変数のところに何も表示されませんでした。せめて変数にnullとかがセットされると思ったのですが・・・そういう仕様なのでしょうか。

Offline

#3 2017-12-11 18:06:57

Shin
Member

Re: executeSQLするとデータビューアの変数に表示されない

変数に null が設定されると、その変数は存在しないモノとされる仕様の様ですね。

Offline

#4 2017-12-11 19:28:05

Hiro
Member

Re: executeSQLするとデータビューアの変数に表示されない

$変数 = "" は、
$変数を削除する時の所作で、
FMとしては当然の挙動です。

> せめて変数にnullとかがセットされる
式で判別・表示すれば良いのでは、
   Let([
      #sql=ExecuteSQL(・・・・・・);
      #sql=Case(IsEmpty(#sql); Char(8203); #sql)
   ];
      #sql
   )
※ Char(8203)は、非表示文字(ゼロ幅スペース文字)で、FMにない null の代わり

Last edited by Hiro (2017-12-12 01:16:08)

Offline

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

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.011 seconds, 11 queries executed - Memory usage: 549.73 KiB (Peak: 564.91 KiB) ]