軽くハマったので。
チェックボックスリストを使って検索すると、
該当しないものまでヒットしてしまいました。
□1 カンフー
□2 空手
□11 柔道
って感じで、カンフーにチェック入れてるのに、
カンフーにチェック入ってない柔道までヒットしちゃう;
フィールドがテキストになってたのがまずかったらしい。
フィールドの方を数値に変えたら治った。
軽くハマったので。
チェックボックスリストを使って検索すると、
該当しないものまでヒットしてしまいました。
□1 カンフー
□2 空手
□11 柔道
って感じで、カンフーにチェック入れてるのに、
カンフーにチェック入ってない柔道までヒットしちゃう;
フィールドがテキストになってたのがまずかったらしい。
フィールドの方を数値に変えたら治った。
FileMaker 癖がわかってくるとなかなかおもしろいかも
レコード内の複数のフィールドの条件からリレーション先の該当レコードを取得する方法。
レシピ検索 以下に該当する料理名を表示する
条件1 | 条件2 | 条件3 |
---|---|---|
パスタ | キャベツ | トマト |
レシピマスタ
料理名 | 材料1 | 材料2 | 材料3 |
---|---|---|---|
トマトとキャベツのスパゲッティー | パスタ | キャベツ | トマト |
トマトのスパゲッティー | パスタ | トマト | |
ロールキャベツ | 豚肉 | キャベツ |
通常、条件xと材料xでリレーションを組むとAND検索となり、トマトのスパゲッティーしかヒットしません。
さらにキャベツ、トマト、パスタなど、順番が入れ替わってもダメ(かも)
んで、これらをOR検索にしたい場合どうするか?
互いに結ばれる検索用フィールドを追加します。
レシピ検索
条件1 | 条件2 | 条件3 | 検索条件 |
---|---|---|---|
パスタ | キャベツ | トマト | 計算式(テキスト) |
レシピマスタ
料理名 | 材料1 | 材料2 | 材料3 | 検索材料 |
---|---|---|---|---|
トマトとキャベツのスパゲッティー | パスタ | キャベツ | トマト | 計算式(テキスト) |
トマトのスパゲッティー | パスタ | トマト | 計算式(テキスト) | |
ロールキャベツ | 豚肉 | キャベツ | 計算式(テキスト) |
追加したフィールドをそれぞれ計算式とし、計算式に以下をセット
レシピ検索 検索条件)条件1 & "¶" & 条件2 & "¶" & 条件3
レシピマスタ 検索材料)材料1 & "¶" & 材料2 & "¶" & 材料3
んで、この「レシピ検索 検索条件」と「レシピマスタ 検索材料」をリレーションするとOK
条件1にトマト、条件2にパスタといれると
料理名 | 材料1 | 材料2 | 材料3 | 検索材料 |
---|---|---|---|---|
トマトとキャベツのスパゲッティー | パスタ | キャベツ | トマト | 計算式(テキスト) |
トマトのスパゲッティー | パスタ | トマト | 計算式(テキスト) |
とヒットします。さらにキャベツを追加すると全てヒットする寸法ですよ。
ひょんなことからFilemakerの仕事
いやいや、癖があってなかなか四苦八苦してます。
しかし、意外と覚えると面白いことも多いですわ。
初心者ですので、お手柔らかに:)
★生年月日から年齢の取得方法(自動計算)
今日 ー 誕生日 = 年齢
今日 = Date(Day(Get(日付));Month(Get(日付));Year(Get(日付))) ⇐ 間違い
今日 = Date(Month(Get(日付));Day(Get(日付));Year(Get(日付)))
生年月日 = Date(Day(誕生日);Month(誕生日);Year(誕生日))
これらを単に引いても日付しか取れないので
Year(
Date(Month(Get(日付));Day(Get(日付));Year(Get(日付))) - Date(Month(誕生日);Day(誕生日);Year(誕生日))
);
とすると年数が取れる。
▼これでもいいような気がするけど、1歳ずれるんだよなぁ・・・。
Get(日付) - Date(Month(誕生日);Day(誕生日);Year(誕生日))