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

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

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

You are not logged in.

Announcement

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


#1 2017-03-01 15:17:45

vgnr
Member

クリックした繰り返しフィールドの値を取得するには

ファイルメーカー15をウインドウズで使用しております。

ごく初歩的なものかもしれないのですがしばらく詰まってしまって
なにかアドバイスいただけないでしょうか。

■現状
繰り返し設定した計算フィールドで、関連レコード先の数字を取得している(最大10)

計算フィールド内の計算式:
Case ( Get ( 計算式繰り返し位置番号 ) ≤ Count ( Extend ( 関連レコード::ID) ) ;
   GetNthRecord ( Extend ( 関連レコード::数字フィールド ) ; Get ( 計算式繰り返し位置番号 ) ) )

■計算フィールドに表示される例

1行目・・・「1」「2」「3」
2行目・・・「10」「15」
3行目・・・「200」「400」「800」「5000」「8888」

それぞれの数字、たとえば「15」とか「200」とかは、
それぞれが繰り返しフィールドのひとつに格納されています。

■やりたいこと
この状態で「15」が格納されているフィールドをクリックすれば15を、
「200」が格納されているフィールドをクリックすれば200という値そのものを取得したい(変数に格納したい)ということです。


いろいろなスクリプトの仕様を見てためしていますが
繰り返しフィールドの最初の値を持ってきたり、
繰り返し番号を持ってきたりする関数はあるものの
繰り返しフィールドにある値そのものを取得する方法が見つかりませんでした。

Offline

#2 2017-03-01 15:33:50

チポ
Member

Re: クリックした繰り返しフィールドの値を取得するには

取得関数
  Get ( アクティブフィールド内容 )
が有ります。

フィールドのトリガ、
  OnObjectEnter
でスクリプトを実行させれば、フィールドに入っただけで変数に格納出来ますね。


わざわざ繰返しフィールドにしなくても、ポータルでいいのではないですか?

Offline

#3 2017-03-01 15:36:37

シャチ
Member

Re: クリックした繰り返しフィールドの値を取得するには

最終目的がわからないので 値を得る計算式だけ
Evaluate("テーブル名::フィード名["&Get ( アクティブ繰り返し位置番号 ) & "]" )
でいいと思うけど

もっと簡単に行けたかも。思いつきでごめんなさい

Offline

#4 2017-03-01 18:40:06

vgnr
Member

Re: クリックした繰り返しフィールドの値を取得するには

書き込み大変ありがとうございます。

実は、自分用のファイル検索のシステムを作っていまして
https://fm-aid.com/bbs2/viewtopic.php?id=5551
「のGoogleの画像検索のようにする」トピックを参考にトライしています。

で、画像検索した結果をこのトピックのように表示させ、
タイル状表示になった画像をクリックすれば
→その画像を拡大表示して
→前後の画像へも移動できて
→検索結果に戻ることもできる

というようなものを作ろうとしています。

それでまず手始めに、Google画像検索のような表示を
「画像」ではなく「画像のID」で行っていました。
それに関しては、チポさんの書いていただいた方法で
繰り返しフィールド上の値を取得することができました!ありがとうございます。

ただ、次の段階の「画像」でやろうとすると、繰り返しフィールド上の画像のIDを取得することができず
また壁に当たっている状態です。

別のトピックを参考にそれ以降の処理を考えていたので
どういう説明方法をすればいいかわからずに
あまりわかり易くない説明で申し訳ありません。

このような理由から、ポータルではなく繰り返しフィールドを使っているのです。

Offline

#5 2017-03-01 18:59:23

シャチ
Member

Re: クリックした繰り返しフィールドの値を取得するには

繰り返しを使うと面倒だなぁ。。
手前味噌でもし訳ないですが、
https://fm-aid.com/bbs2/viewtopic.php?id=5754
FMPのデータの表示方法とデータの絞り込みの方法 のサンプルファイル
で紹介している画像DBの表示、絞り込みなどの事例があります。
参考になるかどうかはわかりませんが、一度ご覧いただければと思います。

直接のダウンロードは
http://yahoo.jp/box/goXNmR

Last edited by シャチ (2017-03-01 23:04:57)

Offline

#6 2017-03-02 09:12:52

チポ
Member

Re: クリックした繰り返しフィールドの値を取得するには

オブジェクトフィールドでも同じ様に、
  Get ( アクティブフィールド内容 )
をテキストで返すと、
そのファイル名かパスを返します。

その値は一意でしょう。


または、
IDを直接得たいのでしたら、
オブジェクトと同じ繰返し位置にIDを入力したフィールドを作れば、
  Get ( アクティブ繰り返し位置番号 )
で同じ繰返し位置を指定出来ます。

Offline

#7 2017-03-03 18:05:15

vgnr
Member

Re: クリックした繰り返しフィールドの値を取得するには

シャチさん
ありがとうございます。リンク先のトピックとファイルも拝見しました。
いまやろうとしていることとはちょっと趣が異なりますが
ポータルの絞り込みも結構難儀していたので、別の部分で参考にさせていただきます。
お体、ご自愛ください。

チポさん
>オブジェクトと同じ繰返し位置にIDを入力したフィールドを作れば
これは盲点でした。
そういう方法も確かに有りですね・・・・

ただ、
>  Get ( アクティブフィールド内容 )
で帰ってくる値のファイル名やファイルパスが一意では無いことに
今更ながら気づきました。

フォルダごと画像をインポートすると、
画像フィールドが「外部格納」だった場合
同じファイル名の画像なら上書きされてしまいます。
ファイルメーカーのレコードとしては別物になるのですが・・・

これはオブジェクトフィールドの外部格納で
同一ディレクトリに出力されることに起因する問題ですね。
ちょっとこの部分からなんとかしないとデータベースとして破綻しそうです。

インポート時にファイル名も一意に変換してくれる関数や処理が
ファイルメーカーにあれば良いのですが・・・
一度調べてみます

Offline

#8 2017-03-03 19:12:04

シャチ
Member

Re: クリックした繰り返しフィールドの値を取得するには

vgnr wrote:

シャチさん
ポータルの絞り込みも結構難儀していたので、別の部分で参考にさせていただきます。
お体、ご自愛ください。

お気にかけていただき、ありがとうございます。
抜歯のことかと思いますが。
おかげで抜歯ingの嵐。。。。(ウソです)
近々、穴埋めをします。皆さんも、歯に健康にはお気をつけください。

本題外れてます。ご容赦を。

Offline

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

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.006 seconds, 9 queries executed - Memory usage: 564.54 KiB (Peak: 579.27 KiB) ]