Northwind 2.0 Starter Edition: ユーザー インターフェイス

適用先
Access for Microsoft 365 Access 2021 Access 2019

以下のセクションでは、ユーザー インターフェイスの設計と特定の選択が行われた理由について説明します。 オブジェクト名は、Northwind 2.0 Starter Edition データベースで容易に調べることができるように提供されています。

ユーザー インターフェイス

Northwind 2.0 Starter Edition のユーザー インターフェイスは、モダンな外観を持ち、シンプルで柔軟性があります。 メイン メニュー フォーム (frmMainMenu) の左側には、ユーザーがメニュー項目を選択できるアクションの列と、メニューから選択したときに顧客、製品、または注文のリストが表示される右側の大きなワークスペースがあります。 この設計では、一度に 1 つのメニュー項目をメイン メニューのワークスペースに「プル」し、他のウィンドウの上に複数の新しいフォームを開くことを回避します。

タブ付きフォーム

Access では、2 種類のフォームがサポートされています。 既定値はタブ付きドキュメントで、Northwind 2.0 Starter Edition で使用されます。 従来の代替手段は、重なり合うウィンドウを使用することです。

メニューの最新の拡張機能

メイン メニュー フォーム (frmMainMenu) には、注文、製品、顧客、および従業員に関する概要情報を表示する基本的なダッシュボードも含まれています。 たとえば、注文ラベルの下に、現在の注文数を確認できます。 マクロは、必要に応じてダッシュボード情報を更新します。注文が入力されたときや、製品が注文または販売されたときなどに実行されます。 これらは、最新の外観と強化された機能でユーザー エクスペリエンスを向上させるためにできることの例です。

メニューの機能

メニュー項目は2種類あります。 ほとんどのメニュー項目は、ユーザーが将来の作業のために選択するアプリケーションの領域を識別します。 その領域のレコードの一覧を読み込みます。 新しい注文の追加が最も頻繁なアクティビティであるため、メイン メニューには、既存の注文のリストをバイパスしてフォーム (sfrmMainMenu_OrderList) に直接移動して新しい注文を追加する [注文の追加] 項目もあります。

ラベルのモダンな外観

ラベルには次の 2 つの用途があります。

  • 情報表示 従来のラベルは、アプリケーションとその要素を識別し、ユーザーに情報を指摘します。 多くの場合、隣接するコントロールの内容が識別されます。 たとえば、"First Name" は従業員の名の列を識別します。

    情報にラベルを使用する

  • 操作のラベル 一部のラベルはコマンド ボタンのように機能します。 クリックするとコードが実行されます。 従来のコマンド ボタンの代わりにラベルを使用すると、モダンな外観が得られます。 従来のコマンド ボタンは同じように機能しますが、より従来的な外観を好む場合があります。 実際、Access ではいくつかの異なるボタン スタイルがサポートされているため、自由に調べてください。

見た目は似ていますが、アクション ラベルのキャプションから使い方がわかります。 リストの場合は複数形、1 つのアイテムの場合は単数形であることに加えて、ラベルには "追加" などのキーワードを含めることができます。 

ラベルをコマンドとして使う

メニュー項目の選択

新規注文の追加、顧客の管理、製品の追加や更新など、データベースで作業する領域を選択するには、そのメニュー項目をクリックします。 これをクリックすると、注文、顧客、製品などの編集できないリストがワークスペースに読み込まれます。

一覧からレコードを選択する

リスト内の各レコードのハイパーリンク フィールドにより、そのアイテムの編集フォーム (単一の顧客、注文、製品など) がメイン メニューのポップアップ フォームに開きます。 ポップアップ フォームを閉じると、メイン メニューに戻ります。

ポップアップ編集フォーム

ポップアップ フォームでは、既存のレコードを編集したり、新しいレコードを追加したりできます。 各ポップアップ フォームが開き、選択したレコードが表示され、そのレコードの変更を受け入れる準備ができます。  

必須値

テーブルの一部のフィールドには必須値があります。 Access では、必須フィールドに値がないレコードを保存することはできない そのため、フォームには既定の Access エラー メッセージが表示され、問題について警告します。 既存のレコードの編集が完了した場合、または新しいレコードが追加された場合は、ポップアップ フォームを閉じて、メイン メニューのリストに戻ります。

個別のフォーム デザイン

このセクションでは、各フォームの機能について説明します。

メイン メニュー

メイン メニュー (frmMainMenu) は、Access のメイン フォーム/サブフォームのデザインです。 タブ付きのドキュメントであるため、メイン メニューの形式はテンプレート用に選択した解像度で画面を塗りつぶします。 前に説明したように、ラベルには 2 つの用途があります。アプリケーションのパーツを識別し、それらの項目に関する情報を表示する目的と、コマンド ボタンとしての使用です。

メニュー自体は、メイン フォームの左側にある狭い垂直スペースを占有しています。 7 つのラベルは、キャプションで示されるアクションを実行します (たとえば、顧客のリストの取得)。

右側のサブフォーム コントロールは、メイン フォームの最大のシェアを占めます。 メニュー項目をクリックすると、サブフォーム コントロール内のサブフォームを連続表示の適切なフォームに置き換えるマクロが実行されます。

アイテムのリストの選択

基本的なユーザー ワークフローは、注文 (sfrmMainMenu_OrderList) などのアイテムのリストを選択して読み込むことです。 リストが読み取り専用であるのは、ユーザーが一度に 1 つのレコード (注文、顧客、従業員、製品) に移動して選択するのに役立つためです。

これらのリスト フォームは、多数のレコードが同時に表示される連続ビューで表示されます。 一度に 1 つのレコード、つまり現在のレコードにフォーカスがあります。 レコード セレクター (連続ビュー フォームの左側にある暗い四角形の中の白い矢じり) は、どのレコードが現在であるかを示します。

リスト内のアイテムにテーブルのすべてのフィールドが表示されない場合があります。フィールドのサブセットのみが必要な場合もあります。

一覧から 1 つのアイテムを選択する

項目の一覧をメイン メニューのサブフォームに "取り込み" たら、ハイパーリンクをクリックすると、その項目の詳細が選択されます。 ハイパーリンクは、レコードの主キーを使用して、編集に適したレコードを選択します。

個々のレコードの詳細を開くと、メイン メニューの上の新しいウィンドウに表示されます。 詳細はポップアップ フォームです。彼らは開いている限り、自分自身に集中し続けます。 ポップアップ フォームで一度に 1 つのレコードを操作します。

リストとは異なり、詳細フォームには、その種類のアイテムのテーブルのすべてのフィールドが表示されます。 Access フォームは通常、テーブルまたはそのテーブルに基づくクエリにバインドされます。つまり、追加のコーディングをしなくても、フォーム内で直接そのテーブルの値とレコードを編集、追加、削除できます。 もちろん、一部のコントロールはアプリケーションに属するため編集できません。 たとえば、主キーは表示できますが、ユーザーが編集することはできません。 そのため、多くの Access アプリケーションでは、フォームに主キー フィールドはまったく表示されません。 ただし、Northwind 2.0 Starter Edition ではハイパーリンク関数を使用します。

注文の詳細

注文詳細フォーム (frmOrderDetails) は、Access のメイン フォーム/サブフォーム デザインです。 フォームのメイン部分で、新しい注文を追加するか、既存の注文を更新します。 これらの注文に含まれる製品は、注文明細行品目サブフォーム (sfrmOrderDetails) で追加または更新します。

一対多リレーションシップを管理するには、メイン フォームとサブフォームを使用します。 [注文明細] フォームには、注文と注文に含まれる 1 つ以上の製品の間の一対多リレーションシップを処理する方法が表示されます。 メイン フォーム (frmOrderDetails) は 1 つのビューに表示され、受注テーブルに連結されます。 サブフォーム (sfrmOrderDetails) が連続ビューになり、[受注明細] テーブルにバインドされます。

マスター/子リンク フィールド

メイン フォームとサブフォームは、一対多リレーションシップの詳細を処理します。 サブフォームのコンテナーであるサブフォーム コントロールには、マスター フィールドおよび子リンク フィールドプロパティがあります。

マスター子プロパティ

Access では、これらのフィールドの一方向テーブルから主キーが選択され、対応する外部キーが多面テーブルから自動的に選択されます。 ただし、より高度な要件がある場合は、その選択を上書きできます。

Access では、[受注明細] テーブルのレコードを [受注] テーブルの受注と同期するだけでなく、新しい製品を受注詳細に追加するたびに、[受注] の適切な主キーが外部キーとして自動的に提供されます。

注文フォーム (frmOrderDetails) には、最近の注文 (sfrmOrders_MostRecent) というタイトルの 2 番目のサブフォームもあります。このサブフォームには、最近の注文の読み取り専用の一覧が表示されます。 このリストも連続表示で、最近の注文が表示されます。 注文を入力する前に、注文が同じ顧客によって最近行われた別の注文と重複している可能性があるかどうかをチェックできます。

新しい注文と注文の詳細を編集できますが、最近の注文のリストは情報提供のみなので編集できないことに注意してください。 また、現在の注文と他の最近の注文の間に直接的な関係がないため、最近の注文の [マスター リンク] フィールドと [子リンク] フィールドは空白である点にも注意してください。

一対多リレーションシップは、多くの場合、コンボ ボックスまたはリスト ボックスで処理できます。 たとえば、注文のために複数の顧客が一緒に参加しない場合などです。 "注文" テーブルに必要な情報は、得意先 ID の 1 つだけです。 ユーザーは、既存のすべての顧客を一覧表示するコンボ ボックスから適切な顧客の外部キーを選択します。

注文明細フォームには、注文の処理に関連するアクションの独自のメニューもあります。 横方向に表示されます。 ラベルのキャプションは、アクションとターゲットを組み合わせたものです。

  • 注文の追加
  • 注文の削除
  • 請求書の作成
  • 発送注文
  • 支払いを受ける
  • 注文の決済

基本的なエラー チェックを行う埋め込みマクロを実行し、適切なアクションを実行します。

従業員リストと従業員の詳細

従業員リスト (frmEmployeeDetail) は、注文リスト (frmOrderDetails) とほとんどの点で似ています。 たとえば、個々の従業員を選択するためのハイパーリンクが含まれており、読み取り専用でもあります。

インターフェイス設計の選択肢とビジネス ルール

多くの場合、特定の設計はアプリケーションのビジネス ルールを反映します。 たとえば、メイン メニュー (frmMainMenu) には [注文の追加] というアクション ラベルがありますが、従業員、製品、または顧客用のアクション ラベルはありません。 これは、新しい従業員、製品、または顧客の追加は、新しい注文を追加するよりもはるかに少ない頻度で発生するためです。 したがって、リストまたは詳細フォームに他の追加ラベルを配置してメニューの項目の数を減らすことは理にかなっています。 それ以外の場合、このフォームは注文フォームと同様のアプローチに従います。

製品リストと製品詳細

Northwind の製品カタログは従業員よりも揮発性が高いため、製品のリスト フォームには [ 製品の追加 ] ラベルが表示されますが、新しい注文ほど頻繁に更新されません。

[ファイルにエクスポート] ラベルをクリックすると、組み込みの Access ウィザードが開き、製品の一覧を作成して、Word 形式、Excel 形式、PDF 形式などのオプションで外部ファイルにエクスポートできます。

前のリストと同様に、ハイパーリンクを使用して製品詳細フォーム (frmProductDetail) を開き、個々の製品を編集できます。 また、主キーではなく、一意のプロダクト コードを示すため、よりわかりやすい値です。

製品の詳細ポップアップ フォームの追加機能の 1 つに 、[製品に移動 ] コンボ ボックスがあります。 このコンボ ボックスは、リボンからアクセスできる Access Control ウィザードで作成されたもので、現在のフィルターを削除し、コンボ ボックスで選択した製品に再フィルターします。

顧客リストと顧客の詳細

分割フォームはデベロッパーによってあまり使用されませんが、Northwind 2.0 Starter Edition で説明するために、顧客リストは分割フォームです。 詳細については、「 分割フォームを作成する」を参照してください。

分割フォームには 2 つの部分があり、1 つのビュー パーツには現在選択されているレコードが表示され、1 つのビュー パーツにはレコードの一覧が表示されます。 分割フォームはサブフォーム コントロールでは機能しないため、その機能を表示するには、新しいウィンドウとして読み込む必要があります。 この動作を、サブフォーム コントロールに読み込まれる他のリスト フォームと比較します。

スプリッター バーは、[ID/顧客名] のタイトル行のすぐ上にあります。 それを引き下げて、完全なスプリッター フォームの動作を確認します。

このフォーム (frmCustomerList) では、さらにいくつかの Access 機能も示しています。 [ フィールドの表示/非表示 ] ラベルを使用すると、表示されるフィールドを変更できます。 ラベル を作成する と、Access ウィザードが開き、顧客への郵送用の住所ラベルの作成を実行できます。

管理設定

ほとんどの Access アプリケーションを正しく動作させるには、グローバル設定が必要です。 一部は開発者によって決定されますが、一部はユーザーが随時アクセスできるようにする必要があります。 管理フォーム (frmAdmin) は、ユーザーが直接的または間接的に制御するいくつかの設定を示しています。

  • TaxRate はすべての注文で同じですが、ここで変更できます。
  • AutoLogin と PromptForPersonalLogin は、Northwind 2.0 Starter Edition を初めて起動するとき、または初めて使用した後に戻るときのユーザー エクスペリエンスを決定します。 これらを使用して、新しいユーザーの初期エクスペリエンスをリセットします。
  • LastResetDate は、リセット日付が最後に使用された日付が保存される場所です。 その唯一の目的は、左側のナビゲーションにその日付をちょっとした "目の保養" として表示することです。

管理メニューには、Web サイトを通じて受け取った注文をシミュレートするインターネット注文を作成できるフォーム (sfrmAdmin_InternetOrders) があります。 また、毎回作成される注文数を制限することでの検証についても示します

関連項目

Northwind 2.0 Starter Edition