
お客様の情報をファイルメーカーで管理しています。
各お客様に担当者がいるため、ファイルを共有し、各担当者が各自のお客様の情報のみを閲覧できるようにパスを掛けたいと思っています。
レイアウトやフィールドをパスごとにアクセス権がないようにはできるのですが、それではなく1レコードに1顧客なため、レコードごとにアクセス権を設定したいと思っています。
例えば担当「A」のパスが「123」で、担当のフィールドに「A」という名前が入力してあれば、「123」にてファイルを開けば、その担当の分のみが閲覧できる、としたいのです。
これの設定方法を教えていただけますでしょうか。
また、あわせて、パスにて各自の担当の顧客のレコードが検索抽出できると助かります。
宜しくお願いします。

No.2ベストアンサー
- 回答日時:
ごめんなさい。
根本的に訂正します。1)パスワードでレコード制限できます。(FM7からの機能と思い込んでいました。)
2)ただし、ステータス関数を使うとわかるのは、そのパスワードの「グループ名」です。
普通は1グループに複数のパスワードですが、今回は1グループ1パスワードにしてみて下さい。
3)「現在の担当」というグローバルフィールドを用意して下さい。
4)”フィールド設定,「現在の担当」,「Status( グループ)」”という内容のスクリプトを作成し、ファイル起動時に実行するように設定して下さい。
5)パスワード定義で、レコードのブラウズの横の一覧を選択して「制限」を選んで下さい。
6)「制限」の中で 「現在の担当」=「担当」とします。(「担当」は各レコードの担当フィールドです)
これで、Aさんのパスワードでファイルを開いた時、担当以外のレコードは<アクセス権がありません>と表示されてデータは見えません。
次に担当レコードのみの表示です。
1)リレーションの定義を開きます。
2)新規作成で、そのファイル自身を選びます(自己リレーション)。
3)「現在の担当」と「担当」フィールドでリレーション設定して下さい。
4)レイアウトモードでボタンを作成して下さい。
5)ボタンの設定は、「関連レコードに移動」、指定は先ほど作成したリレーションです。
これで、このボタンを押すと、担当顧客のレコードだけが表示されます。
最後に「回答くださった方法ですと…」ですが、おっしゃる通りです。(^^;
これを避けるためには、パスワードで検索モードを使えなくして、検索はスクリプトのみでしてもらわないといけません。
重ねてありがとうございます。
教えていただいたとおりにしたところ、出来ました!
あわせて、担当レコードのみの表示も、パスでの制限と同じスクリプト定義に組み込んだところ、開くと同時に絞込みが出来ました。
今、パスの設定をかけているところなんですが・・・なぜか最初の一つ目は絞込みも上手くいったのに、2つ目以降のパスで開くと、開く際に閲覧の制限は出来るのですが、
「このパスワードではこの操作を行うことが出来ないか、またはファイルが変更禁止になっている」というエラーが出て、絞込みが出来ません。
あつかましいついでなのですが、このエラーの起こる原因に思い当たることはありますでしょうか。
パスでの制限はすべて同じにしてあります。
また、ファイルを閉じる際に「全レコードを表示」のスクリプトが起動するように設定してあります。
宜しくお願いします。。

No.3
- 回答日時:
「このパスワードではこの操作を行うことが出来ないか、またはファイルが変更禁止になっている」ということは、
A担当のレコードをB担当で見ようとしてるのだと思います。
1)「現在の担当」はグローバルフィールドになっているか。
2)ファイル起動時のスクリプトで「現在の担当」フィールドが担当者毎のグループ名になっているか。
などを確かめて下さい。
デバッグのコツは、仕組みを理解して、関係するフィールドを全部見える状態にして、どのステップで予想外のことが起こるかを絞り込むことです。
1質問2回答までを心がけているので今回はこれで最後にしますが FM6でレコード毎の制限がかけれると知ったのは収穫でした。
hello2さんの質問に感謝です。
それでは頑張って下さい。
何度も、本当にありがとうございました。
かなり基本的な思い違いをしていたようで、今回の回答と前の回答を読み返していて、気がつきました。
パスで制限をかける際、現在の担当=「各担当名」にしないといけないのを、フィールド指定にしておりました。
本当に丁寧なご回答をいただき、ありがとうございました!

No.1
- 回答日時:
今手元にファイルメーカーが無いので記憶を頼りに書いています。
基本的には、最後にかかれてあった「各自の担当の顧客のレコードが検索抽出」ができれば解決するのではないかと思います。
スクリプトで、ステータス関数を使えば、今ファイルメーカーを使っている人がわかるはずです。
それが「A」さんであれば、担当フィールドに「A」が入っているものを検索する、とするのはいかがでしょう。
また担当者「A」さんが担当顧客「B」さんを検索したい時は、検索モードで担当フィールドに「A」が入った状態までをスクリプトで準備します。
他には、担当者名を入れるグローバルフィールドを用意して、そのグローバルフィールドと各レコードの担当フィールドを自己リレーションしておくと簡単に担当データのみを表示することもできます。
それと、結果がオブジェクトの計算フィールドを用意して担当顧客以外のレコードデータの背景色を変えて見えにくくするということもできます。
きっとまだまだ色んな方法があると思います。がんばってください。
この回答への補足
ご回答いただきありがとうございます。
なんとなく、仰られていることでどういう風になるのか、の想像はつくのですが、実は関数はCASEしか理解できておらず、ステータスの活用方法も全くわかっていないのが現状のため、回答いただいた状態にどうすればなるのかが分からない状況です。
関数とスクリプトのサンプル活用辞典なるものを片手にもう少し悩んでみます。
ありがとうございました。
ちなみに、回答くださった方法ですと、担当以外のお客さまの情報も見ようと思えば見ることはできてしまうのでは無いかと思ったのですが・・・違いましたでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- サーバー WIN10のファイル又はフォルダを社内LAN上HDDで共有する場合、特定の人だけが見えるようにしたい 3 2023/04/18 00:32
- Visual Basic(VBA) VBAでの共有パスにつきまして 1 2023/03/04 17:24
- その他(データベース) 更新クエリをリンクデータベーステーブルに実行し実行時エラー3362固有インデックスに重複する値が含ま 1 2022/09/21 11:44
- フリーソフト イーファンビューでwebpファイルが開けません 1 2022/07/12 07:07
- Excel(エクセル) エクセルについて教えてください。 1 2023/02/23 10:08
- その他(データベース) c言語の問題です。これを踏まえてコーディングしたいのでおしえていただきたいです。 3 2023/08/03 09:27
- Access(アクセス) Access IF文でテーブルに存在しない場合の処理について 2 2022/10/10 18:09
- その他(データベース) accessについて 2 2022/05/31 16:58
- その他(悩み相談・人生相談) これはマナー違反ですか? 5 2022/09/15 18:23
- Visual Basic(VBA) 指定月分の顧客データファイルを統合して並べ替え、所定の場所に貼り付ける (再質問) 4 2022/09/14 22:51
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Access2000 2番目に大きい数値...
-
【至急】Mp3tagで歌手情報を追...
-
ACCESS クエリで重複データを最...
-
テーブルに主キーを作らないデ...
-
ACCESSにてフィールド間の最小...
-
アクセス 0以外をカウントす...
-
アクセスのフォームのビューが...
-
アクセスでの項目追加について...
-
ACCESSでクエリを作成したら「...
-
選択したチェックボックスのみ...
-
アクセスでテーブルの変更内容...
-
Accessのフォーム上にレコード...
-
Access200のFilterとFindの違い
-
Accessを使って日付を比較したい
-
SqlServer2012 ビューとクエリ
-
access・カウント結果がゼロで...
-
ACCESS レコードセット
-
Accessのクエリによる集計が出...
-
SQLで優先順位が高いレコードを...
-
Accessが不良です
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Accessのクエリで、Left関数を...
-
アクセスで前年対比を出す方法...
-
別のテーブルのフィールドを抽...
-
Access2000 2番目に大きい数値...
-
Accessでグループ化した結果フ...
-
Accessでフォームへのフィール...
-
【access】テキストから日付へ...
-
ファイルメーカーで名前のよみ...
-
NULL値を含む場合のフィルタ
-
ファイルメーカーで住所内の市...
-
Accessの入力について
-
[Access]クエリの抽出条件について
-
access で「指定したフィール...
-
図面の管理をしたい
-
ACCESSのフィールドに記述する...
-
筆王の宛名書き
-
LotusNotesで全角の空白を半角...
-
VBAで日付型とテキストでフィル...
-
ファイルメーカーのチェックボ...
-
Access_vbaフィルタ機能
おすすめ情報