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 つの方法で使用されます。

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

    情報にラベルを使用する

  • アクション ラベル 一部のラベルは、コマンド ボタンと同様に機能します。 クリックすると、コードが実行されます。 従来のコマンド ボタンの代わりにラベルを使用すると、モダンな外観が得られます。 従来のコマンド ボタンは同じように動作し、より伝統的な外観を好む場合があります。 実際、Access では複数の異なるボタン スタイルがサポートされているため、自由に探索できます。

見た目は似ていますが、アクション ラベルのキャプションを使用する方法をユーザーに伝えることができます。 リストの場合は複数形、1 つの項目には単数形であるだけでなく、ラベルには "追加" のようなキーワードを付けることができます。 

ラベルをコマンドとして使用する

メニュー項目の選択

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

リストからレコードを選択する

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

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

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

必須の値

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

個々のフォーム デザイン

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

メイン メニュー

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

メニュー自体は、メイン フォームの左側の狭い垂直領域を占有します。 7 つのラベルは、キャプションによって示されるアクションを実行します。たとえば、顧客の一覧を取得します。

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

項目の一覧の選択

基本的なユーザー ワークフローでは、注文 (sfrmMainMenu_OrderList) などの項目の一覧を選択して読み込みます。 リストは、ユーザーが一度に 1 つのレコード (注文、顧客、従業員、製品) に移動して選択するのに必要なだけであるため、読み取り専用です。

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

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

リストから 1 つの項目を選択する

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

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

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

注文の詳細

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

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

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

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

マスター子プロパティ

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

OrderS テーブル内のレコードを Orders テーブルの順序と同期するだけでなく、新しい製品を注文の詳細に追加するたびに、Orders から適切な主キーが外部キーとして自動的に提供されます。

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

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

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

注文詳細フォームには、注文の処理に関連するアクションの独自のメニューもあります。 水平方向に表示されます。 ラベルのキャプションは、アクションとターゲットを結合します。

  • 注文の追加
  • 注文の削除
  • 請求書の作成
  • 出荷注文
  • 支払いを受ける
  • 注文を閉じる

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

従業員の一覧と従業員の詳細

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

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

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

製品一覧と製品の詳細

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

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

前のリストと同様に、ハイパーリンクによって製品詳細フォーム (frmProductDetail) が開き、個々の製品を編集できます。 また、主キーではなく、一意の製品コードも示しています。これは、人間に優しい値です。

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

顧客リストと顧客の詳細

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

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

スプリッター バーは、ID/Customer Name タイトル行のすぐ上にあります。 プルダウンして、完全なスプリッター フォームが動作しているのを確認します。

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

管理設定

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

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

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

関連項目

Northwind 2.0 Starter Edition