レコードアクセス権の編集
アクセス権セットにより、ファイル内のレコードへのアクセスを制限することができます。ファイルに対して、 次の内容を設定することができます。
 •
すべてのテーブルに適用するアクセス権:特定のアクセス権セットで、ファイル内のすべてのテーブルに存在するレコードを作成、編集、および削除できるかどうかを設定することができます。
 •
個々のテーブルに適用するカスタムアクセス権:各テーブルに対して、レコードアクセスを個別に設定することができます。たとえば、アクセス権セットにより次の操作を制限することができます。
 •
 •
各テーブル内の特定のレコードの表示、編集、または削除。各レコードに対して論理値の結果を返す計算式を使用してアクセス権を制限します。計算結果が「真」の場合は、レコードの表示などの特定の操作に対するアクセスが許可され、「偽」の場合は禁止されます。
 •
各テーブル内の特定のフィールドへのアクセスまたは変更。テーブル内にある1つまたは複数のフィールドへのアクセスが制限されている場合、ユーザには、フィールドデータの代わりに「<アクセスがありません>」と表示されます(制限されていない場合はデータが表示されます)。
現在使用中のファイルで定義されているテーブルに対しては、レコードアクセス権のみを設定することができます。使用中のファイルに他のファイル内のテーブルとのリレーションシップが設定されていて、それらのテーブルを保護したい場合は、他のファイルの方にアカウントとアクセス権セットを作成する必要があります。データベースの保護についてを参照してください。
レコードアクセス権を編集するには、次の操作を行います。
1.
新規アクセス権セットの作成または既存のアクセス権セットの編集を参照してください。
2.
[アクセス権セットの編集] ダイアログボックスで、[レコード:] ドロップダウンリストから、次のいずれかのオプションを選択します。
 
[すべてのテーブルでの作成、編集、および削除] を選択して、手順 10 に進みます。
[すべてのテーブルでの作成および削除] を選択して、手順 10 に進みます。
[すべてのテーブルでの表示のみ] を選択して、手順 10 に進みます。
[すべてアクセスなし] を選択して、手順 10 に進みます。
[カスタムアクセス権...] を選択して、次の手順に進みます。
3.
[カスタムレコードアクセス権] ダイアログボックスで、カスタムアクセス権を編集する1つまたは複数のテーブルを選択します([新規フィールド] を選択すると、今後作成するすべてのテーブルで使用するアクセス権を設定することができます)。
[カスタムレコードアクセス権] ダイアログボックスに、ファイル内のテーブルと、各テーブルのカスタムアクセス権が表示されます。アクセス権を変更するには、変更するテーブルを選択してから、ダイアログボックスの下にある [アクセス権を設定:] 領域でアクセス権を選択します。
 •
 •
 •
 •
すべてのテーブルを選択する場合は、[すべてを選択] をクリックします。
4.
レコードの表示、編集、作成、および削除に対してカスタムアクセス権を設定するには、[アクセス権を設定:] 領域の [表示]、[編集]、[作成]、および [削除] の一覧から、次のいずれかのオプションを選択します。
 
[制限...](選択されているテーブルが1つの場合に有効)
メモ  作成する表示、編集、作成、および削除アクセス権の組み合わせに矛盾がないように設定してください。たとえば、レコードの表示が禁止されているユーザに対して、レコードの削除を許可する必要はありません。
5.
6.
7.
[カスタムフィールドアクセス権] ダイアログボックスで、アクセス権を制限する各フィールドを選択します([新規フィールド] を選択すると、今後作成するすべてのフィールドで使用するカスタムアクセス権を設定することができます)。続いて、次のいずれかのオプションを選択します。
 
メモ  テーブル内にある1つまたは複数のフィールドへのアクセスが制限されている場合、ユーザには、フィールドデータの代わりに「<アクセスがありません\>」と表示されます(制限されていない場合はデータが表示されます)。
8.
[OK] をクリックします。
9.
[OK] をクリックします。
[アクセス権セットの編集] ダイアログボックスが表示されます。
10.
定義できるさまざまなアクセス権の詳細については、次のトピックを参照してください。
 •
 •
 •
 •
 •
11.
12.
 •
アカウントとアクセス権の設定が終了した場合は、[OK] をクリックします。続いて表示されるダイアログボックスで、[完全アクセス] アクセス権セットに割り当てられているアカウント名とパスワードを入力して、[OK] をクリックします。
 •
メモ
 •
 •
 •
 •
 
ルックアップおよび再ルックアップ
 •
リレーションシップで使用される照合フィールドには、少なくとも表示アクセス権が必要です。また、ルックアップのコピー元とコピー先の両方のテーブルで表示できないレコードでは、照合を実行することができないため、ルックアップは行われません。これには、関連する最初の照合レコード、および近似値(小さい値または大きい値)のコピーに使用されるレコードも含まれます。
対象レコードは、常に、少なくとも表示アクセス権を持つレコードのみが表示されるようにフィルタされます。アクセスを制限すると、Get (対象レコード数)関数の結果にも影響があります。
レコード単位でアクセスを制限する式の入力
テーブル内の特定のレコードに対する表示、編集、および削除アクセス権を許可または禁止するには、アクセス権が許可されているかどうかを判断する論理計算式を指定する必要があります。データベースの各レコードに対して、計算式が「真」またはゼロ以外の結果に評価される場合はアクセスが許可され、「偽」またはゼロの場合はアクセスが禁止されます。次に2つの例を示します。
 •
現在のアカウントで作成されたレコードにのみアクセスを制限するには、次の操作を行います。Record_Created_By」という名前のテキストフィールドを定義し、レコードの作成時にアカウント名が自動的に入力されるように、フィールドに自動入力オプションを設定します入力値の自動化の定義を参照してください。続いて、カスタムレコードアクセス権を定義する際に、次の計算式を使用します。
Record_Created_By = Get(アカウント名)
この計算式が「真」に評価されるレコードに対してのみ、ユーザにブラウズアクセスが許可されます。
 •
現在の日付で作成されたレコードにのみアクセスを制限するには、次の操作を行います。Record_creation_date」という名前のテキストフィールドを定義し、レコードの作成時に作成日が自動的に入力されるように、フィールドの自動入力オプションを設定します。入力値の自動化の定義を参照してください。続いて、カスタムレコードアクセス権を定義する際に、次の計算式を使用します。
Record_creation_date = Get(日付)
この計算式が「真」に評価されるレコードに対してのみ、ユーザにブラウズアクセスが許可されます。
ヒント  ほとんどの場合、テーブル内の特定のレコードの表示を禁止する計算式を指定するときは、同じ計算式を使用して、同じタイプのレコードの編集と削除も禁止することをお勧めします。このように設定しないと、レコードの表示が禁止されているユーザに対して、誤ってレコードの編集や削除が許可されてしまう可能性があります。
メモ
 •
また、ファイルが共有されていて、レコードアクセス権を決定する論理値計算に1つまたは複数のグローバルフィールドが含まれる場合も、一部のグローバルフィールドを別のテーブルに移動することによって、ネットワークパフォーマンスを向上できることがあります。グローバルフィールド(グローバル格納を使用するフィールド)の定義の注意事項を参照してください。
 •