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

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

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

You are not logged in.

Announcement

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


#1 2015-01-20 13:20:52

oyama
Guest

値を取得し、別テーブルで検索

Win 8 / FM13 Ad

いつもお世話になっております。

今回は表題の件についてご質問させて頂きたいと思います。


テーブルAの「No.」を表示されている対象レコード数分をカスタム関数で取得しました。

カスタム関数はGetFieldValuesで表示されている対象レコード分の値を1つのフィールドに
リスト化して取得する関数になります。

うまくレコード数分の値を取得できたのですが、その値を別テーブルで検索をかけたいのですが、
リスト化された値を1つずつうまく検索条件へ設定ができません。

どなたかご教授願えますでしょうか。

宜しくお願い致します。

#2 2015-01-20 13:43:45

旅人
Member

Re: 値を取得し、別テーブルで検索

GetValue関数で分解する。
リスト内全部のOR検索ならリレーションして関連レコード移動でも。
という意味ではない?

Offline

#3 2015-01-20 13:59:26

Shin
Member

Re: 値を取得し、別テーブルで検索

テーブルAの「No.」のみのレイアウトを作り、全レコード/検索条件コピー すれば、クリップボードに取得できますよ。
http://www.filemaker.com/help/13/fmp/ja … tml#636184

その値を繰り返しフィールドに分解して、関連レコードへ移動、ですぐ出来るはず。

Last edited by Shin (2015-01-20 14:00:22)

Offline

#4 2015-01-20 14:05:43

Moz
Member

Re: 値を取得し、別テーブルで検索

対象レコードの特定のフィールドの値の改行区切りは
FileMaker Pro 13 なら集計フィールドの「一覧」を使えば簡単に取得できますよ。

カスタム関数やスクリプト回すより数倍早いです。
あとは 旅人さんのご提案でいけるでしょう。

Offline

#5 2015-01-20 14:48:27

oyama
Guest

Re: 値を取得し、別テーブルで検索

旅人 wrote:

GetValue関数で分解する。
リスト内全部のOR検索ならリレーションして関連レコード移動でも。
という意味ではない?

返信ありがとうございます。

ほぼ初心者のようなものですので、どういった形で式を組めば良いのか
イメージがあまり湧きません。。。

#6 2015-01-20 14:50:14

oyama
Guest

Re: 値を取得し、別テーブルで検索

Shin wrote:

テーブルAの「No.」のみのレイアウトを作り、全レコード/検索条件コピー すれば、クリップボードに取得できますよ。
http://www.filemaker.com/help/13/fmp/ja … tml#636184

その値を繰り返しフィールドに分解して、関連レコードへ移動、ですぐ出来るはず。

返信ありがとうございます。

旅人さん、Mozさんとは別の方法になるんですかね?
一旦URLをチェックしてみます。

#7 2015-01-20 14:52:42

oyama
Guest

Re: 値を取得し、別テーブルで検索

Moz wrote:

対象レコードの特定のフィールドの値の改行区切りは
FileMaker Pro 13 なら集計フィールドの「一覧」を使えば簡単に取得できますよ。

カスタム関数やスクリプト回すより数倍早いです。
あとは 旅人さんのご提案でいけるでしょう。

返信ありがとうございます。

確かにカスタム関数を使用するより、集計フィールドの一覧のほうが
早く取得ができました。(集計フィールを使用すると遅いと少し重くなると聞いたので。。。)

その後の設定は旅人さんの方法があまりイメージが湧きませんね。。。

#8 2015-01-20 15:10:25

Moz
Member

Re: 値を取得し、別テーブルで検索

一覧に関しては色々検証しましたがリスト取得の過去のバージョンのどの方法よりも高速ですね。

旅人さんのご提案を勝手にサンプル化。即興なのであってるか分かりませんが......
(別テーブル作るの面倒なので同じテーブルの別オカレンスですがやることは同じです)
http://yahoo.jp/box/_EnBbk

Last edited by Moz (2015-01-20 15:11:37)

Offline

#9 2015-01-20 15:41:43

oyama
Guest

Re: 値を取得し、別テーブルで検索

Moz wrote:

一覧に関しては色々検証しましたがリスト取得の過去のバージョンのどの方法よりも高速ですね。

旅人さんのご提案を勝手にサンプル化。即興なのであってるか分かりませんが......
(別テーブル作るの面倒なので同じテーブルの別オカレンスですがやることは同じです)
http://yahoo.jp/box/_EnBbk

Mozさん

サンプルファイルありがとうございます。
拝見させて頂きました。

こういった方法は思いつきませんでした。。。

サンプルファイルでは検索1件のみでしたが、Loop内にレコード/検索条件/ページへ移動[次の]を
組み合わせていけば、一覧で取得した複数の検索条件が指定できるということでしょうか?
何度も質問すみません。。

#10 2015-01-20 16:32:09

Moz
Member

Re: 値を取得し、別テーブルで検索

サンプルでは対象レコードすべての「No」で検索するように作ってありますよ。

最初のテーブル(ヘッダが黒)で検索した場合、表示されているレコードの「No」のリストを利用して
別テーブル(ヘッダが緑)の関連レコードへ移動または検索を行うスクリプトが作ってあります。

下記の動きはそのようなものを指すのではないですか?

テーブルAの「No.」を表示されている対象レコード数分をカスタム関数で取得しました。
カスタム関数はGetFieldValuesで表示されている対象レコード分の値を1つのフィールドに
リスト化して取得する関数になります。
うまくレコード数分の値を取得できたのですが、その値を別テーブルで検索をかけたい

Last edited by Moz (2015-01-20 16:32:31)

Offline

#11 2015-01-20 18:14:55

旅人
Member

Re: 値を取得し、別テーブルで検索

リスト表示されたものの完全一致のOR検索なら
Shinさんの全レコードコピーを使ってこんなので。

http://pupld.net/28/150120/ubwufl1fkl/index.cgi
リスト検索.fmp12
No.だけのレイアウトしか無い手抜きです。

Offline

#12 2015-01-20 18:35:22

旅人
Member

Re: 値を取得し、別テーブルで検索

よく考えたら
カスタム関数で得た結果を他に何かに使うのかな?
検索後にそのまま関連レコード移動するだけでいいわけだし。

Offline

#13 2015-01-21 12:17:12

scripter
Guest

Re: 値を取得し、別テーブルで検索

検索の代りに関連レコード移動を使うなら、そのオプションで「対象レコード」というのがあるから、リストを作る必要がないという意味ですね。
実験してないけど、リストが集計フィールドで一瞬でできるなら、リストから関連レコード移動した方が速いかもしれない。

#14 2015-01-21 13:58:30

oyama
Guest

Re: 値を取得し、別テーブルで検索

Mozさん、旅人さん、scripterさん

返信ありがとうございます。

そもそもは提出用に抽出するエクスポート機能を実装していましたが、
Aテーブルで検索をかけ、Bテーブル(履歴側)に複数ある場合に
抽出したExcelファイルが

Aテーブル情報  Bテーブル情報
AAA         aaa iii uuu
                     eee ooo sss
                     ccc vvv nnn

のような形で抽出されてしまうため、履歴があるものに関して

Aテーブル情報  Bテーブル情報
AAA         aaa iii uuu
AAA               eee ooo sss
AAA                ccc vvv nnn

履歴がないもに関しては

BBB
CCC

の形で抽出したいという要望がありました。

なので、カスタム関数で検索Keyを取得し、履歴側で取得したkeyで
検索をかけ履歴側にある場合は上記の表記で、ない場合は
Aテーブルの顧客情報のみ書き出すような方法はないかと
思いまして、相談させて頂きました。

#15 2015-01-21 14:00:15

oyama
Guest

Re: 値を取得し、別テーブルで検索

すみません。

例で入れた部分がズレてしまいました。。。
本来はaの下にe、eの下にcの形です。

#16 2015-01-21 14:33:23

旅人
Member

Re: 値を取得し、別テーブルで検索

基本、Bから書き出すことになるのでBに無いBBBやCCCは書き出せませんよね。
AAA         aaa iii uuu
               eee ooo sss
               ccc vvv nnn
BBB
CCC
ならすぐできるけど。

Offline

#17 2015-01-21 14:46:06

oyama
Guest

Re: 値を取得し、別テーブルで検索

旅人 wrote:

基本、Bから書き出すことになるのでBに無いBBBやCCCは書き出せませんよね。
AAA         aaa iii uuu
               eee ooo sss
               ccc vvv nnn
BBB
CCC
ならすぐできるけど。


やはり厳しいですか。。。
該当しない案件のみ新規でレコードを作成し、Excelに書き出した後に削除する、
などそういった方法はできますか?

何度も質問すみません。

#18 2015-01-21 14:57:42

旅人
Member

Re: 値を取得し、別テーブルで検索

そのときだけ履歴側のAAA等のフィールドを常時ユニーク値制限しておいて
検索結果側のテーブルのレコードを履歴からインポートしたらできますけど。

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, 8 queries executed - Memory usage: 559.19 KiB (Peak: 580.09 KiB) ]