【ファイルメーカーpro5.5】リレーション、値一覧について
現在、日報を記録するためのデータベースをつくっております。以下、作成状況と質問事項になります。よろしくお願い致します。
--- 現在の作成状況 ---
日報を作成するにあたり、下記、3つのファイルを用意しています。
【認証ファイル】
●ログインファイル
→フィールド:名前、部署
【日報定義コード用インターフェース】
●親コードファイル
→フィールド:部署、日報コード名
【ユーザーインターフェース】
●一般入力画面ファイル
→フィールド:名前、部署、日報コード名(=親コードファイル)、作業時間
「ログインファイル」で、名前と部署を入力しユーザを認証して、
「一般入力画面ファイル」へ飛ぶ仕組み、
「一般入力画面ファイル」で表示される日報コード名は「親コードファイル」で作成したコードを表示する仕組み、を考えています。
--- 質問事項 ---
その際、「一般入力画面ファイル」でユーザは日報を登録するわけですが、
認証が通り「一般入力ファイル」が表示された時点で、「日報コード名」
フィールドにおいて以下2点が可能になっている状態したいと考えています。
●表示方法:ポップアップリスト形式
●ポップアップリストで表示される値一覧は、「ログインファイル」でユーザ が入力した部署を抽出の条件にし「親コードファイル」のレコードより抽出 して、「一般入力画面」の日報コード名に表示
※例えば、「ログインファイル」の「部署フィールド」で「管理部」を入力した場合、「一般入力ファイル」の「日報コード名」で「月次決算」「請求書作成」をポップアップリストで表示。
「親コードファイル」に作成されているレコード
管理部 月次決算
管理部 請求書作成
営業部 法人セールス
こちら上記2点の解決方法を教えて頂けますでしょうか。
どんな仕組があるのか、詳しく教えて頂けたら有難いです。
よろしくお願い致します。
ポップアップリスト形式初めてですが、やってみたら簡単に出来ましたよ。
さて、本題。
1:「一般入力画面ファイル 」の中で新規リレーションを定義します。
関連に設定したいファイルは、「親コードファイル」
「一般入力画面ファイル 」(現在のファイル)の照合フィールドは「部署」フィールド。
「親コードファイル」(関連ファイル)の方でも「部署」フィールドに関連付けます。
2:「一般入力画面ファイル 」の中で新規値一覧を定義します。
値一覧の編集ウインドウの中で、フィールドの値を使用。
そのフィールドとして、関連レコードの値のみ を選んで、
「親コードファイル」の「日報コード名」を指定します。
3:「一般入力画面ファイル 」のレイアウトの中に、「日報コード名」のフィールドを
設置します。このフィールドを、選んでおいて、書式メニューからフィールド書式
日報レコードのフィールド書式 というウインドウが開きますので、
表示形式を、標準から、ポップアップメニューに変更しましょう。
使用する値一覧は、2:で作った値一覧を使用します。
これで出来ます。
でも、ポップアップリストは、やっぱり使いにくい。
せめて、ラジオボタンの方が良いと思います。
この回答へのお礼
ご回答いただきましてありがとうございます。
早速作成してみたところ、あっという間にできました。感激です。
ありがとうございました。
ポップアップリストは、嫌いなので、自分がいつも使っている方法を書きます。
最初から、1つの「部署」に対して、あらかじめ複数の「日報コード名」が割り当てられているのですね?
こういう解決方法はいかがでしょう?
1:「一般入力画面ファイル 」の中で新規リレーションを定義します。
関連に設定したいファイルは、「親コードファイル」
「一般入力画面ファイル 」(現在のファイル)の照合フィールドは「部署」フィールド。
「親コードファイル」(関連ファイル)の方でも「部署」フィールドに関連付けます。
2:「一般入力画面ファイル 」のレイアウトの中に、ポータルのエリアを確保しましょう。
表示する行数は10個程度で垂直スクロールバー付きが良いでしょう。
そのポータルの中に、先程作ったリレーションの「日報コード名」を配置するのが良いでしょう。
3:リレーションの「日報コード名をコピーして、「一般入力画面ファイル」の「日報コード名」
フィールドにペースとするスクリプトを組みます。
4:次に、2:のポータルの中のリレーションの「日報コード名」のフィールドに ボタン を定義して、
ボタンが押されれば、3:のスクリプトを実行するように設定すれば、良いでしょう。
ログインファイルの存在意義がイマイチ見えません。
1台の端末を、複数人で使用するのでしょうか?
に、しても、ユーザ名はDBに関係有りませんよね?
DBを起動して、最初に新規レコードを作成し「部署]を選ばせるスクリプトを組めば良いと思います。
選んだ「部署」を記録する必要が無ければ、グローバルフィールドを作って、格納しましょう。
この回答への補足
ログインファイルの存在意義ですが、追加で質問させて頂きたいと思います。
多少変更がありまして、追加で用意しているファイルが以下3つあります。(1)【ログインファイル】→フィールド:メールアドレス、パスワード、(2)【個人情報ファイル】→フィールド:メールアドレス、パスワード、部署、名前、社員番号、(3)【一般入力画面】→フィールド:社員番号、と用意しております。この3つのファイルを使って認証をかけようと思っています。【ログイン】すると個人の入力画面にとぶイメージです。その方法として以下のように考えております。【ログインファイル】で入力したメールアドレスとパスワードと【個人情報ファイル】のメールアドレスとパスワードが一致した場合、【個人情報ファイル】のそのレコードから社員番号を【一般入力画面】の社員番号へコピペして、一般入力画面に、リレーションか何かで部署・名前を表示させたいと思っています。何度か試しているのですが上手くいきません。何かいい方法があったらご指導頂けますでしょうか。よろしくお願い致します。
この回答へのお礼
上記に引き続き、アドバイス頂きましてありがとうございます。こちらも試してみたとところ、やはりポップアップリストより使いやすいと思いました。改良を重ねてみたいと思います。ご指導いただき、ありがとうございました。
- 最新から表示
- |
- 回答順に表示












