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

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

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

You are not logged in.

Announcement

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


#1 2022-04-05 12:48:51

zouno33
Member

チェックボックスで選んだ値の英語と日本語を表記したい。

値一覧に献立テーブルのメニューフィールドにある、お品書きを指定します。

オーダテーブルの注文フィールドにチェックボックスを指定します。値一覧名OSHINAGAKIを指定します。
オーダフィールドを計算フィールドにして

を指定します。
OSHINAGAKIは、料理テーブルの一品Jフィールドに日本語表記、一品Eフィールドに英語表記で、それぞれ登録しています。

注文フィールドのチェックボックスで一品を選択して行ったとき、日本語表記、英語表記を別々に表示させるにはどうしたらいいでしょう?

試したのは、計算フィールドで、日本語表記と英語表記を間にアンダースコア挟んで、ひとつにしたものを、OSHINAGAKIのフィールドとして指定し、アンダースコアを境に、切り分けようとしました。

しかし、一行目しか切り取れず、二行目以降は表示もされません。

値一覧のフィールド指定の前処理で一つにすることなくできないものかと考えています。

一ヶ所のチェックボックスを選択するだけで、日本語表記と英語表記をそれぞれ、別々のフィールドに表示できないものでしょうか?

Offline

#2 2022-04-05 13:44:17

Shin
Member

Re: チェックボックスで選んだ値の英語と日本語を表記したい。

料理テーブルに、ユニークな主キーを持たせておき、値一覧を2個作ります。1個は、主キーと第2のフィールドとして日本語表記、2個目は、主キーと第2フィールドとして英語表記を設定します。
注文フィールドには、その主キーを保存するように設定し、そのフィールドを2個配置して、それぞれに値一覧を設定しておきます。
それだけで、対応する表示にチェックが入ります。
チェックボックで、どちらかのフィールドを隠してしまうのが簡単です。

Last edited by Shin (2022-04-05 14:05:00)

Offline

#3 2022-04-05 14:36:18

チポ
Member

Re: チェックボックスで選んだ値の英語と日本語を表記したい。

値一覧で、
日本語と英語を並列表示したい。

ですよね。

でしたら、
今まで教わってきた第二フィールドを使えばいいのでは。

値一覧の入力を日本語としたら、
英語はルックアップとか参照フィールドでいいでしょう。
逆でも同じです。

Offline

#4 2022-04-05 16:40:00

Shin
Member

Re: チェックボックスで選んだ値の英語と日本語を表記したい。

> 一ヶ所のチェックボックスを選択するだけで、日本語表記と英語表記をそれぞれ、別々のフィールドに表示
したいのですよね。
2個の値一覧で、同じフィールドを表示させるのがいいでしょう。

全くアプローチの異なるサンプルです。実運用が見えないので何とも言えませんが、レストランのオーダーとしてはいい形かも。
https://www.dropbox.com/scl/fi/h6nsepti … e8a00&dl=0

Last edited by Shin (2023-10-13 14:00:05)

Offline

#5 2022-04-06 23:16:22

zouno33
Member

Re: チェックボックスで選んだ値の英語と日本語を表記したい。

Shinさんから教えていただいてる#2を試しています。

注文フィールドには、その主キーを保存するように設定
がわかりません。
まず、対応する表示にチェックが入る状態を作りたいと考えました。

ファイルに、料理テーブル、注文テーブルを登録。
料理テーブルにユニーク値、和名、英名
注文テーブルに、ユニーク値、主キー、注文、J、E
のフィールドをそれぞれ登録
ユニーク値は、それぞれ1から1づつ増える数字を入れました。

値一覧に、
主キーとして、料理::ユニーク値
第一フィールドに料理::主キー。すべての値を含める
wameiとして、主フィールド 料理::ユニーク値、第2フィールドに、料理::和名
eimeiとして、主フィールド 料理::ユニーク値、第2フィールドに、料理::英名
をそれぞれ指定

注文::主キーに、値一覧「主キー」でチェックボックス
注文::Jに、値一覧wamei
注文::Eに、値一覧eimei


注文::主キーのチェックボックスの数字にチェックをいれると、
対応する料理テーブルの主キーにも値が入った状態になり、料理テーブルの主キーのレコードにある、それぞれの和名、英名にもチェックが入る。
と考えるのですが、思うのと実際は違って、
このフィールドは変更禁止なので、この操作は実行できません。
とアラートがでます。

Offline

#6 2022-04-07 09:58:28

チポ
Member

Re: チェックボックスで選んだ値の英語と日本語を表記したい。

値一覧のリストに
日本語と英語を併記したい
ではないのでしょうか?

#3の回答は、例えば、
値一覧のフィールドに日本語として、第二フィールドに英語とします。

両テーブルを日本語でリレーションし、
値一覧を日本語のフィールドに設定し、日本語が入力されると、
英語はルックアップで入力されます。

と書いて、、
チェックボックスと書いてありましたね!
どちらもチェックボックスにしたいのでしょうか?
また、複数選択もありますか?

どちらもチェックボックスなら、値一覧は二つ必要ですね。

Offline

#7 2022-04-07 11:12:31

Shin
Member

Re: チェックボックスで選んだ値の英語と日本語を表記したい。

注文のフィールドは、1個だけですよ。同じフィールドをレイアウトに2個配置して、それぞれの値一覧を変えておくのです。

Offline

#8 2022-04-07 11:53:51

チポ
Member

Re: チェックボックスで選んだ値の英語と日本語を表記したい。

最初の質問が

> 一ヶ所のチェックボックスを選択するだけで、
> 日本語表記と英語表記をそれぞれ、別々のフィールドに表示

となっていますよ。

その方法ではもうひと手間必要では。

Offline

#9 2022-04-07 20:53:33

himadanee
Guest

Re: チェックボックスで選んだ値の英語と日本語を表記したい。

なんだか「オーダテーブルの注文フィールドにチェックボックスを指定します。」という点からすでになんか変じゃないですか?
オーダー=注文なので、テーブル名と同名のフィールドがあるということになるし、
一つの注文に複数の料理があるなら、チェックボックスで複数選択しないで料理ごとに別レコード(ポータル)にしないとよくないのでは?料理ごとに何件とか集計しないんですか?

#10 2022-04-07 20:59:42

Shin
Member

Re: チェックボックスで選んだ値の英語と日本語を表記したい。

> 一つの注文に複数の料理があるなら、チェックボックスで複数選択しないで料理ごとに別レコード(ポータル)にしないとよくないのでは?料理ごとに何件とか集計しないんですか?
#4 のサンプルが、リストの中からチェックボックスを表示させる、という動きと合わせて、その動きをつくっているのです。
ベテランだと解る、あっと驚く構成だと思いますよ。

1フィールド内で、チェックボックスで管理するテーブルを追加してあります。もし、これで会計計算もさせるつもりならばかなり面倒ですし、日集計もものすごく面倒ですよ。
https://www.dropbox.com/scl/fi/h6nsepti … e8a00&dl=0

Last edited by Shin (2023-10-13 13:59:48)

Offline

#11 2022-04-10 00:09:31

zouno33
Member

Re: チェックボックスで選んだ値の英語と日本語を表記したい。

いろいろと考えてくださりありがとうございます。
サンプルのファイルを拝見しました。
私には複雑すぎて、読み解けず理解できないところが多かったです。

最初の質問文を読み返して、「注文」という言葉を入れたのが悪かったことに気付きました。
当初、日本語表記と英語表記をつないだり分けたりを計算フィールドで行ったため、
質問文中に「計算」という言葉が入り、注文した数とか集計的な方に話しが進んでしまったのかと思いました。


改めて教えてほしいことを書きます。
メニューに日本語で料理名がならんでいます。
例えば、順に、パスタ、ミートローフ、ラザニア、チョリソ、クロックムッシュ、ローストビーフ、ワイン
等々があったとします。
それはチェックボックスで選択できるようになっています。
その中からいくつかを選びます。
ワイン、チョリソ、ローストビーフを選ぶとします。
確認フィールドに、「チョリソ、ローストビーフ、ワイン」と表示させたいです。
(料理名と料理名の間に読点が入る、選択順では無く、元のリストの並び順で。)
そして、確認フィールド英語に、「chorizo,roast beef,wine」
と表示させたいです。

>一ヶ所のチェックボックスを選択するだけで、日本語表記と英語表記をそれぞれ、別々のフィールドに表示できないものでしょうか?

ほしいのは、チェックボックスをチェックして選択させることと、日本語は読点区切りの一行の文の表示。英語表記は、カンマ区切りの一行の文の表示です。

メニューテーブルに、日本語表記料理名、英語表記料理名
確認テーブルに、チェックボックス(日本語表記料理名)、読点区切りの選択された料理名フィールド、カンマ区切りの選択された料理名フィールドが欲しいです。

以下サンプルファイル「fm-aid12922」を元に書いています。
サンプルファイルの注文テーブル2は、#2の例ですね
サンプルファイルを下敷きに考えると、
注文テーブルの左のポータル表示を、複製して、料理名1だけの表示、料理名2だけの表示をそれぞれ用意して、
ポータルに表示されてる内容を一文につないで、別のフィールドに表示できないでしょうか?。
注文キー、A54EC1DB-F995-4530-AA1C-2D2D3685976B
は、『中華ちまき、中華鶏ちまき、春巻き、リゾット』が表示されています。
それを二重カギ括弧のままの表示にさせたいです。
同様に料理名2も表示させたいです。
カテゴリと注文数は要らないです。


注文テーブルにあるスクリプトトリガの意味がわかりません。
注文テーブル::注文キーは、どこに入るのでしょう?
注文キーは、自動入力なので、それが注文明細テーブルの注文キーに渡されるのだと思ったのですが、そう読み解けなかったです。
どう関連付いてどうして必要なのか理由が知りたいです。

料理明細で新規レコードを作り、注文テーブル2で選んだリストを入力する。
注文テーブルでも新規レコードを作り、自動入力される注文キーを料理明細の注文キーにコピペしてる?
で理解があってますか?
料理明細で注文キーが空っぽのレコードがあるのは、どうしてですか?

Offline

#12 2022-04-10 16:18:31

Shin
Member

Re: チェックボックスで選んだ値の英語と日本語を表記したい。

https://www.dropbox.com/s/8z3o26zwr2e4m … 2.zip?dl=0
を更新しています。
注文テーブル 2 というレイアウトでの動きでしたら、初心者でも理解できる範囲でしょう。これが、#2 のサンプルです。
フィールドの内容は、商品キーが入力されているので、それを、項目名(商品名)へ置き換えて、並べ方を調整しています。

全くアプローチの異なる方法で作っている 注文テーブル 側にも、注文品を併記する動きを追加してあります。
こちらのレコード追加の動きはとても綺麗にできていると思っていますが、非常に機転の効く上級者でないと理解できないと思います。
細かい質問内容は、その動きそのものですので、1ステップずつ考えてみてください。簡単に書くと、
    注文キーは、その時のアクティブなレコードに合わせて(トリガーを使って)商品マスターの g_注文キー に設定されます。
    このフィールドと商品キーで注文明細 テーブルへ張ったリレーションで、注文明細レコードを作っています。
単純に、それだけです。それを表現するための細かい仕組みがややこしく見せています。
注文明細テーブルの注文キーが無いレコードは、破棄されたレコードです。放置しておいてもいいですが、適当に削除しておけばいいです。
だいたい、レストランの注文ではないのでしょうが、何をしたいのですか。手の内を隠していると、いつまでも方向性がおかしいままになります。

Last edited by Shin (2022-04-11 11:15:42)

Offline

#13 2022-04-10 20:53:32

zouno33
Member

Re: チェックボックスで選んだ値の英語と日本語を表記したい。

Shinさん、今回もご教示ありがとうございます。
新しいファイルの確認はのちほどゆっくり見させていただきます。
取り急ぎ、お礼とお詫びを申し上げます。

手の内をかくしていたことで、無駄なやりとりを増やしてしまったこと反省します。
>一ヶ所のチェックボックスを選択するだけで、日本語表記と英語表記をそれぞれ、別々のフィールドに表示できないものでしょうか?

と初めの質問の最後に書いてることが望みですので、ずっとそのことを聞いていたつもりでした。今になって急に「実は本当にやりたいことは全然関係ないことです」といいだしたわけではないと思っていましたが、
何のためにチェックボックスで項目を選ぶかという目的を隠していては、方向性が定まらないということを言われてるのだと気付きました。

趣味で造形をやっていて、それで制作した作品のデータをHPに載せるのに、日本語と英語で表記したいために、今回のようなことを、できないでしょうか?という質問をさせてもらいました。
そのまま聞くことが気恥ずかしく感じ、他のことに置き換えて答えを知ろうと考えました。
チェックボックスの項目数が30弱ほどあり、作品数が100点弱ほどあります。日本語表記の項目をチェックした後、同じ英語表記をチェックするのが面倒なのと、チェック間違いの可能性を消したくて、一回で済ませたいと考えました。
あとは知識技術の向上のため。

私は初心者ではないですが、自分の希望するものを作るには、知識も経験も不足してる初級者です。これまでもいくつかの質問をさせていただいて、何回も教わり、感謝しています。解決したもの、理解できずわからないことを聞けないまま、うやむやにしてしまったことがありました。
知りたい欲求と、理解したいけどできないジレンマに負けてしまうせいです。
今は分からなくても、他のことを知ったり経験することで、補完されることもあるのではと考えています。
今後もわからないことを、質問すると思いますがよろしくお願いいたします。

Offline

#14 2022-04-10 23:23:48

Shin
Member

Re: チェックボックスで選んだ値の英語と日本語を表記したい。

30項目から数項目を選ぶ、ということですか。それは、最終的に文書になるのですか、それとも単語の羅列ですか。
最終的にはどちらの方法でも同じでしょうが、作りやすさと使いやすさは反比例します。ただ、1度だけの作業でしたら、深く考えず簡単に作れる方がいいでしょうが、どちらでもいいのでは。
通常のチェックボックスインターフェイスで使いやすいのは、項目の文字数にもよるでしょうが、せいぜい10 〜20項目位まででしょう。それ以上は、グループ分けして選択させるか、ポータルで表示させたリストから選択させるといいでしょう。サンプルファイルで簡単に実験できるので、お試しください。

それと、コードから項目名への置き換えですが、サンプルでは少し複雑なwhile() 関数を使って置き換えていますので、数百項目でも対応できますが、30項目程度でしたら、固定の計算式を作ってしまってもいいでしょうね。

Last edited by Shin (2022-04-11 09:49:35)

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, 7 queries executed - Memory usage: 574.25 KiB (Peak: 595.16 KiB) ]