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

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

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

You are not logged in.

Announcement

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


#1 2019-11-07 09:51:10

akkunn
Member

ExecuteSQLについて

いつもお世話になっております
Win10 FM16です

ExecuteSQL(
   "
      SELECT \"氏名\"
      FROM \"条件\"
      WHERE \"日\"=? AND \"ベッド\"=?
   "
   ; ""
   ; ""
   ; 日[1]
   ; Right("00"&Get(計算式繰り返し位置番号); 2)
)


レイアウト:条件から氏名を取り出しているのですが

レイアウト:条件 時間フィールドがあり「午後」と表示されている氏名のみ
文字の色を赤文字に変更したいのですが
そのようなことは可能なのでしょうか? 教えてください
よろしくお願いいたします

Offline

#2 2019-11-07 11:32:03

koeda
Member

Re: ExecuteSQLについて

SQLはデータの書式を取り扱わない(無視する)ので、ExecuteSQLの内部で直接書式を指定することはできません。
時間フィールドをSELECTの中に含め、結果を一旦変数やフィールドに格納してから書式設定関数などで加工処理することになるのでは?

そんな面倒なことをしないで印刷用/表示用のレイアウトの側の条件付き書式でなんとかする途を探った方が良いような気がしますね。

Last edited by koeda (2019-11-07 11:50:38)

Offline

#3 2019-11-07 18:50:40

Hiro
Member

Re: ExecuteSQLについて

赤文字化の条件付き書式を掛け、その条件式に以下を指定、とか?

ExecuteSQL(
   "
      SELECT ""時間""
      FROM ""条件""
      WHERE ""日""=? AND ""ベッド""=?
   "
   ; ""
   ; ""
   ; 日[1]
   ; Right("00"&Get(計算式繰り返し位置番号); 2)
) = "午後"

Offline

#4 2019-11-08 00:44:45

Hiro
Member

Re: ExecuteSQLについて

【 補足 】
もし、条件付き書式でなく、元の式の修正だけで、と云う事なら、

Let(
[
   #sql=
      ExecuteSQL(
         "
            SELECT ""氏名"" , ""時間""
            FROM ""条件""
            WHERE ""日""=? AND ""ベッド""=?
         "
         ;
         ; ""
         ; 日[1]
         ; Right("00"&Get(計算式繰り返し位置番号); 2)
      );
   #name=GetValue(#sql;1);
   #time=GetValue(#sql;2)
];
   Case(#time="午後"; TextColor(#name;RGB(255;0;0)); #name)
)

Offline

#5 2019-11-08 09:49:02

koeda
Member

Re: ExecuteSQLについて

ExecuteSQLの実行結果が複数レコードになるのではないでしょうか?
同じ日の1つのベッドに、午前、午後、夜間のように3レコードあるとか。

Offline

#6 2019-11-08 11:19:44

Hiro
Member

Re: ExecuteSQLについて

#5>koeda wrote:

ExecuteSQLの実行結果が複数レコードになるのではないでしょうか?
同じ日の1つのベッドに、午前、午後、夜間のように3レコードあるとか。

#1元SQL式に「レコード区切り」の指定が無いので、複数レコードは無いと理解してますが...

Offline

#7 2019-11-09 09:45:58

akkunn
Member

Re: ExecuteSQLについて

お返事ありがとうございます
返事が遅れ申し訳ないです

同じ日に午前、午後、夜間あります
日フィールドを午前、午後、夜間の3つのドロップダウンが存在します
そこを変更すると名前も変更するようになっています
午後と夜間はベッドが重なることはないので一緒に表記しています

上の式を入力しても赤に変更できません
赤文字のところはなにか特殊なことをしないといけないですか?
で見分けがつくように色分けを考えていました

Offline

#8 2019-11-09 12:38:37

Hiro
Member

Re: ExecuteSQLについて

>#7 akkunn wrote:

同じ日に午前、午後、夜間あります
日フィールドを午前、午後、夜間の3つのドロップダウンが存在します
そこを変更すると名前も変更するようになっています
午後と夜間はベッドが重なることはないので一緒に表記しています
上の式を入力しても赤に変更できません

  • 『同じ日に午前、午後、夜間あります』
    「時間フィールド」も含め、DB構造説明がありません。

  • 『日フィールドを午前、午後、夜間の3つのドロップダウンが存在します』
    日本語文になってない? 何が言いたいのですか?
    結局、同日かつ同ベッドのレコード数はいくつなのですか?

  • 『そこを変更すると名前も変更するようになっています』
    説明の「そこ」とは? 全体も何を説明したいのかしら?

  • 『午後と夜間はベッドが重なることはないので一緒に表記しています』
    「一緒に表記」とは?

  • 『上の式を入力しても赤に変更できません』
    「上の式」とはどちらの式?
    赤文字化できないだけで、氏名は意図した結果が得られている?

せっかくの説明内容が理解できません。
詳しいDB構造説明が無いので、良きの推論も立ちません!
※「テーブル構成」と「やりたい事」を始めから再度説明し直してください。

Last edited by Hiro (2019-11-09 13:44:02)

Offline

#9 2019-11-09 13:49:58

Shin
Member

Re: ExecuteSQLについて

40床ある透析室の管理ですよね。 その前提がわかるのは、貴方だけです。
それをきちんと書くか、前のスレッドに続けましょう。

ある日の予定患者のリストをだして、午後の人だけ色をつけた、という要望でしょうか。具体的な最終結果の表示を出されるといいです。
1予定1レコードのテーブルのレイアウト抽出して、条件付き諸式で表示するのが一番簡単です。わざわざSQLを持ち出す必要も無いと思いますが。

Offline

#10 2019-11-11 11:18:40

akkunn
Member

Re: ExecuteSQLについて

お返事ありがとうございます
いろいろと説明など、たりず申し訳ございません

初めからやり直して質問させてもらいます

Offline

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

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.005 seconds, 9 queries executed - Memory usage: 525.17 KiB (Peak: 545.71 KiB) ]