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

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

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

You are not logged in.

Announcement

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


#1 2017-01-10 23:45:05

onias
Member

別テーブルからレコード検索できますか?

こんばんは!oniasです。 Win10 8.1 iPhon6s FM15

根本的に何か考え方が違うのでしょうか?
それとも無知なのでしょうか?
ご指導宜しくお願い致します。

※テーブルAのフィールド「F-1」とテーブルBの「F-1B」を
リレーションで結び付けた場合、テーブルBのレイアウト上に
テーブルAのフィールド「::F-2以下::F4まで連結」を配置して
検索する事は、不可能でしょうか?
ポートルでフィールド配置も行ってみましたが、
やはり、レコード無しと検索結果が出ます。

■別テーブルで検索したい理由
ファイル容量が大きくなりすぎるため、フィールド種の少ない
データ名は、テーブルA内に持たせて、それ以外で約50倍以上ある
フィールド「F-2~F-4」はテーブルBにレコードを持たせてます。
テーブルAでリレーションフィールド名を「F-2 & F-3 & F-4」連結
させてフィールド名「F-2A」1つにして「F-2A」で「あ」1文字でも検索
可能にしたいと考えています。

   テーブルA(F-1インポート)  テーブルB(F-2~F-4インポート)
F-1  ::F-2 ::F-3   ::F-4   F-1B   F-2   F-3     F-4
東区1 ■■+■■■+■■■  東区1 1丁目 商品あ ★▼△▼
東区2 ■■+■■■+■■■  東区2 2丁目 商品い △△▲〇
西区3 ■■+■■■+■■■  西区3 1丁目 商品あ 〇▼▼▼
西区4 ■■+■■■+■■■  西区4 2丁目 商品い ▲★〇★
****5
****6
***
**

Offline

#2 2017-01-11 00:34:27

Hiro
Member

Re: 別テーブルからレコード検索できますか?

可能ですが、連結フィールドを別テーブルAに作るなら、元テーブルBに作ってそれで検索すれば済むのでは?

Offline

#3 2017-01-11 00:36:41

Shin
Member

Re: 別テーブルからレコード検索できますか?

まず、フィールドを連結した時には、本来存在しない検索ヒットが出る可能性があります。
また、検索そのものは、通常は索引の中で行われるため、テーブルの大きさはあまり影響しません。(ふらぐめんとのもんだいはあるかも)
リレーションは完全一致が条件で、部分一致は条件成立しないですよ。

Offline

#4 2017-01-11 00:53:04

onias
Member

Re: 別テーブルからレコード検索できますか?

Hiro様

早速のレス有難うございます。
私の説明不足です、すみません。
どうも逆に記載してしまった様です。
書き直します。

   テーブルA(F-1インポート)        テーブルB(F-2~F-4インポート)
F-1    ::F-2  ::F-3     ::F-4    F-1B    F-2    F-3      F-4
★▼△ ■■+ ■■■+ ■■■   ★▼△  1丁目  商品あ  東区
△△▲  ■■+ ■■■+ ■■■   △△▲  2丁目  商品い  東区
〇▼▼  ■■+ ■■■+ ■■■   〇▼▼  1丁目  商品あ  西区
▲★〇  ■■+ ■■■+ ■■■   ▲★〇  2丁目  商品い  西区
10万種 <--2,000種--> 100種  10万種 <--2,000種--> 100種
10万レコード   2100レコード    10万レコード   2100レコード

同じテーブルにすると重複する2100種が+10万レコードとなり20万に・・
更に「1文字」でも1つのフィールドで検索したいため連結させたいので
×2倍以上になるのです、もしテーブルBで同じように検索しようとしても
10万種の検索に対応できないと考えていますが、どうでしょう。

宜しくお願い致します。

Offline

#5 2017-01-11 00:56:57

onias
Member

Re: 別テーブルからレコード検索できますか?

Shin様

レス有難う御座います。
投稿している間に挙げていただいた様ですのですみません。

解りました。”完全一致”ですね!
出来るはずないですね。検索方法を根本からやり直します。
有難う御座いました。

夜分、遅くに有難う御座います。
重ねてお礼申し上げます。

Offline

#6 2017-01-11 01:47:34

Hiro
Member

Re: 別テーブルからレコード検索できますか?

照合キー「F-1」と「F-1B」は完全一致なのでリレーションの問題は此処では関係ありません。
たとえ万が一に、部分一致のリレーションが必要でも組む事は可能です。
(特殊リレーション → https://fm-aid.com/bbs2/viewtopic.php?id=4086

単純連結すると隣同士で意図しない検索文字列が生じるのでスペース区切りで連結するのが良いかも、
      Substitute(List(::F-2; ::F-3; ::F-4); [¶;" "])   → 〇〇 〇〇〇 〇〇〇〇
でも、関連レコード参照は索引が取れないのでLookupで結果保存した方が検索目的には有利かな、
      Substitute(List(Lookup(::F-2); Lookup(::F-3); Lookup(::F-4)); [¶;" "])

Last edited by Hiro (2017-01-11 02:30:22)

Offline

#7 2017-01-11 06:56:21

onias
Member

Re: 別テーブルからレコード検索できますか?

hiro様

重ねて有難う御座います。
ファイルをDLしていくつか拝見し、FM15に変換してレイアウトを
自分の思いに近づけてみましたが、今の私の能力ではサンプルを
応用して利用するまでには、しばらく時間が必要な気がします。

でも可能性は見えてきました。ゆっくり汗をかきたいと思います。
どうしても実現させたいと思いますので、次元の低い質問を重ねますが
宜しくお願い致します。

Offline

#8 2017-01-11 20:08:57

onias
Member

Re: 別テーブルからレコード検索できますか?

hiro様

いつもありがとうございます。

いろいろ考えているうちに、やはり私が未だ
迷っている為に説明が間違っている事に気付きました。
もう一度、思いを書き直してみます。

最初にExcelから取込みした状態のデータの状態
     【テーブルA】
  F1    F2    F3    F4    F5
000001   AAA   ああ  アア   あア1x
000002   AAA   ああ  アア   xウ112y2
000003   AAA   ああ  アア   ア01kesa
000003   AAA   ああ  アイ   3so90x
000003   AAA   ああ  アイ   djd4m0
000004   AAA   ああ  アウ   sZ3s7mrx
000005   AAA   ああ  アエ   0a2msui
000006   AAA   あい  アオ   88deyn
000007   AAA   あい  アオ   xj00
000008   AAA   あい  アキ   s8
000007   AAA   あい  アク   mwh1La9
000008   AAA   あう  アケ   smed92yd
000009   AAA   あう  アコ   j377ag
000010   BBB   あえ  アサ   19c7nsh
000011   BBB   あお  アシ   ksua
000012   BBB   あか  アス   shd6gs
000013   CCC   あき  アセ   asSjd
10万種  50種 180種  2,000種 10万種

この段階で約34MBのファイルになります。
F2だけで5MB、F3で5MB、F4で14MB、F5で10MB
1文字だけで全検索したい為、F2~F5連結に
すると70MBを超えてしまい、PCでは問題
ないのですが、iPhonでFileMekerGoで利用
すると、レイアウト移動に耐えないのです。
そこで、F2~F4を数値化し容量減らし
何とか実用に耐える速度に25MBまでOKでしが
しかし、検索ができない事に気づき相談と
なりました。25MBの場合は、テーブルAに
F2~F4数値化した値を入れ、テーブルBに
F1ユニーク22万種リレーション組む、
F2とF3はテーブルAと同数値入れ計算式で値表示、
F4はテーブルAだけに存在させてます。

テーブルA=22万種で約20MB
テーブルB=2000種で約5MB 合計25MB

※この段階では、1文字検索できない状態です。

【条件として】
F1は10万全ユニークな値、F1からF5までは
左から右へ読み順が決まって変更不可です。
連結は、順不動でも構わないのですが、結果は
F1~F5の並びで表示する必要があるのです。

ちなみにポータルするということは、検索が
可能となるわけですが、テーブルBにも
22万種を存在させなければ、ならないと理解
しますが、よろしいでしょうか?

Offline

#9 2017-01-11 21:41:50

Hiro
Member

Re: 別テーブルからレコード検索できますか?

再度詳しく説明して貰ってもやはり良く分かりませんが、
推察するに、要は、
複数フィールド(F1 ~F5全部?かF2~F4一部?かも解りませんが)を一括検索したいのですよネ?
モシそうなら、「 クイック検索 」機能で一発解決の様にも思いますが?、的外れかしら!

Offline

#10 2017-01-15 14:58:32

onias
Member

Re: 別テーブルからレコード検索できますか?

oniasです。

皆さま、ご指導ありがとうございました。
お蔭様で、目的をほぼ達成できました。
有難う御座いました。

今回、結局は、容量減らす為の相談となりましたが
クイック検索でのできる条件や1文字検索のポータル機能
関連レコードの完全一致、また、ワイルドカードも利用しいろいろ
やってみました。理解できていなかったのは、索引設定の
是非でファイル容量が極端に変わることが理解できました。

Offline

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

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.008 seconds, 10 queries executed - Memory usage: 548.66 KiB (Peak: 569.56 KiB) ]