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

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

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

You are not logged in.

Announcement

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


#1 2019-11-03 01:58:31

Koto
Member

List関数の引数を別のフィールド値での表示について

FMP18

いつもアドバイスありがとうございます!
下記の件、ご相談させてください


◆テーブル
マスタテーブル
テーブルA
テーブルB
※各テーブルにIDフィールドを設け、関連づけています

◆フィールド
マスタT(ID、氏名)
テーブルA(ID、マスタ用外部キー)
テーブルB(ID、繰り返しF)

テーブルBに表示の為の繰り返しF(計算F)を作成したいと思っているのですがあと1歩が解らず滞っております。。。
現在出来ているのは、

GetValue( List( テーブルA : : マスタ用外部キー ) ; Get( 計算式繰り返し位置番号 ) )

希望は、テーブルBにテーブルAの外部キーが繰り返しで表示されているのを氏名で表示したいです。
List関数の引数にLookupやSubstituteを使ってみましたが上手くいかず。。


アドバイスを頂けると幸いです。
どうぞ宜しくお願い致します

Offline

#2 2019-11-03 03:23:03

Hiro
Member

Re: List関数の引数を別のフィールド値での表示について

問題の繰り返し計算フィールドのSQL計算式による式案です。

   ExecuteSQL(
      "
         SELECT ""氏名""
         FROM ""マスタテーブル""
         WHERE ""ID""=?
      "
      ; ""
      ; ""
      ; GetValue(List(テーブルA::マスタ用外部キー);Get(計算式繰り返し位置番号))
   )

Offline

#3 2019-11-05 01:55:19

Koto
Member

Re: List関数の引数を別のフィールド値での表示について

Hiro様

ご教授頂きありがとうございます!
しかしながら戻り値が「?」となって上手くいきません。。
Execute SQL関数が初めて使うので理解も追いついていないのですがデータビューアで確認したら
『The column named "マスタテーブル::氏名" does not exist in any table in the column reference's scope.』と表示されています。

計算式は

ExecuteSQL ( 
"
SELECT\"マスタテーブル::氏名\"
FROM\"マスタテーブル\"
WHERE\"マスタテーブル:ID\" = ?
" 
; "" 
; "" 
;  

GetValue(List(テーブルA::マスタ用外部キー);Get(計算式繰り返し位置番号)
)

です。
WHEREの所はどのIDか分からず順に全てのテーブルのIDを入れましたがダメでした。。


不必要かと思い割愛しておりましたがもしかしたら?と思ったので詳細をお伝えします
テーブルは
・マスタテーブル
・テーブルA(マスタIDとテーブルCのIDを割り当てる用のテーブル)
・テーブルB(レポート印刷用テーブル)
・テーブルC(入力テーブル)

リレーションは
マスタテーブル=テーブルA=テーブルC=テーブルB
※各IDで関連づけていますがテーブルAはテーブルC用外部キー、マスタ用外部キーとリレーション組んでいます                 


どのようにすれば良いでしょうか?
お忙しい中恐縮ですがご指示頂けると幸いです

Last edited by Koto (2019-11-05 02:16:53)

Offline

#4 2019-11-05 02:50:50

Hiro
Member

Re: List関数の引数を別のフィールド値での表示について

>#2の提示式と>#3の実行式は違っていますよネ。
それでは当然ダメです。
きっちり同じ式でお試しください。

Offline

#5 2019-11-05 09:45:51

Koto
Member

Re: List関数の引数を別のフィールド値での表示について

Hiro様
おはようございます!
出来ました!!!

「::」から前のテーブル名は不要であったのですね!!

ありがとうございます!
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, 10 queries executed - Memory usage: 508.77 KiB (Peak: 513.3 KiB) ]