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