MSAccess-クイックガイド
Microsoft Accessは、リレーショナルMicrosoft Jetデータベースエンジンとグラフィカルユーザーインターフェイスおよびソフトウェア開発ツールを組み合わせた、Microsoftのデータベース管理システム(DBMS)です。これは、Professional以上のエディションに含まれているMicrosoftOfficeスイートのアプリケーションのメンバーです。
Microsoft Accessは、Microsoftの全体的なデータ管理製品戦略の一部にすぎません。
AccessJetデータベースエンジンに基づいた独自の形式でデータを保存します。
リレーショナルデータベースと同様に、MicrosoftAccessでも関連情報を簡単にリンクできます。たとえば、顧客と注文のデータ。ただし、Access 2013は、いくつかの強力な接続機能を備えているため、他のデータベース製品も補完します。
また、他のアプリケーションやデータベースに保存されているデータを直接インポートまたはリンクすることもできます。
その名前が示すように、Accessは、多くの一般的なPCデータベースプログラム、デスクトップ、サーバー、ミニコンピューター、またはメインフレーム上の多くのSQL(Structured Query Language)データベースを含む他のソースからのデータ、およびに保存されているデータを直接操作できます。インターネットまたはイントラネットWebサーバー。
Accessは、他の多くのデータベースファイル構造を含む、他のさまざまなデータ形式を理解して使用することもできます。
ワードプロセッシングファイル、スプレッドシート、またはデータベースファイルにデータを直接エクスポートしたり、そこからデータをインポートしたりできます。
Accessは、SQL Server、Oracle、DB2など、Open Database Connectivity(ODBC)標準をサポートする最も一般的なデータベースで機能します。
ソフトウェア開発者は、MicrosoftAccessを使用してアプリケーションソフトウェアを開発できます。
Microsoft Accessは、データベースと呼ばれる情報を格納します。MS Accessを使用するには、次の4つの手順に従う必要があります-
Database Creation − Microsoft Accessデータベースを作成し、保存するデータの種類を指定します。
Data Input −データベースが作成された後、毎日のデータをAccessデータベースに入力できます。
Query −これは、基本的にデータベースから情報を取得するプロセスを説明するための空想的な用語です。
Report (オプション)-データベースからの情報は、Accessレポートに印刷できる素敵なプレゼンテーションにまとめられています。
建築
Accessは、オブジェクトという名前を持つことができるすべてのものを呼び出します。Accessデスクトップデータベース内の主なオブジェクトは、テーブル、クエリ、フォーム、レポート、マクロ、データマクロ、およびモジュールです。
デスクトップコンピュータで他のデータベースシステムを使用したことがある場合は、データベースという用語が、データを保存するファイルのみを指すために使用されているのを見たことがあるかもしれません。
ただし、Accessでは、デスクトップデータベース(.accdb)には、データの使用を自動化するために定義したオブジェクトを含む、保存されたデータに関連するすべての主要なオブジェクトも含まれます。
Microsoft Accessは、レイアウトとナビゲーションの側面に関する限り、他のMicrosoft Office製品のルックアンドフィールを備えていますが、MS Accessはデータベースであり、より具体的にはリレーショナルデータベースです。
MS Access 2007より前は、ファイル拡張子は *.mdb、ただし、MS Access 2007では、拡張子が次のように変更されています。 *.accdb 拡張。
以前のバージョンのAccessはaccdb拡張機能を読み取ることができませんが、MS Access2007以降のバージョンは以前のバージョンのAccessを読み取って変更できます。
Accessデスクトップデータベース(.accdbまたは.mdb)は、完全に機能するRDBMSです。
大量のデータを管理するために必要なすべてのデータ定義、データ操作、およびデータ制御機能を提供します。
Accessデスクトップデータベース(.accdbまたは.mdb)は、単一のワークステーション上のスタンドアロンRDBMSとして、またはネットワーク全体の共有クライアント/サーバーモードで使用できます。
デスクトップデータベースは、会社のイントラネットのWebページに表示されるデータのデータソースとしても機能します。
Accessデスクトップデータベースを使用してアプリケーションを構築する場合、AccessはRDBMSです。
データ定義
データ定義とは何かを理解しましょう-
ドキュメントまたはスプレッドシートでは、通常、ドキュメントのコンテンツまたはスプレッドシートの各セルを完全に自由に定義できます。
ドキュメントには、テキストの段落、表、グラフ、または複数のフォントで表示されるデータの複数の列を含めることができます。
スプレッドシートでは、上部にテキストデータを配置して、印刷または表示する列ヘッダーを定義できます。また、行の機能に応じて、同じ列内にさまざまな数値形式を設定できます。
RDBMSを使用すると、データの種類とデータの保存方法を定義できます。
通常、RDBMSがデータの整合性を確保するために使用できるルールを定義することもできます。
たとえば、検証ルールにより、ユーザーが数字を含む必要のあるフィールドに誤って英字を格納しないようにすることができます。
データ操作
RDBMSでのデータの操作は、ワードプロセッシングまたはスプレッドシートプログラムでのデータの操作とは大きく異なります。
ワードプロセッシングドキュメントでは、表形式のデータを含めて、ドキュメント内のデータに対して限定された一連の機能を実行できます。
元のドキュメント内のテキスト文字列を検索し、ActiveXコントロールを使用して、他のアプリケーションの表、グラフ、または画像を含めることもできます。
スプレッドシートでは、一部のセルに目的の結果を決定する関数が含まれ、他のセルでは、関数のソース情報を提供するデータを入力します。
単一のテーブルで情報を検索したり、複数の関連テーブルにわたる複雑な検索を要求したりできます。
1つのコマンドで1つのフィールドまたは多数のレコードを更新できます。
RDBMSコマンドを使用して、表示するデータをフェッチし、ユーザーがデータを更新できるようにするプログラムを作成できます。
RDBMSは、データを操作するための多くの方法を提供します。例えば、
Accessは、強力なSQLデータベース言語を使用してテーブル内のデータを処理します。SQLを使用すると、特定の問題を解決するために必要な一連の情報を定義できます。これには、おそらく多くのテーブルからのデータが含まれます。
データ制御
スプレッドシートとワードプロセッシングドキュメントは、シングルユーザーの問題を解決するのに最適ですが、複数の人がデータを共有する必要がある場合は使用が困難です。
情報を他のユーザーと共有する必要がある場合、RDBMSは、複数のユーザーがデータを読み取ったり更新したりできる柔軟性を提供します。
データ共有を可能にするように設計されたRDBMSは、2人が同時に同じデータを変更できないようにする機能も提供します。
最高のシステムでは、変更(トランザクションとも呼ばれます)をグループ化して、すべての変更をデータに表示するか、まったく表示しないようにすることもできます。
また、注文のすべてを入力するまで、他の人が注文のどの部分も表示できないようにすることもできます。
Accessデータを他のユーザーと共有できるため、さまざまなユーザーが表示または更新できるものにいくつかの制限を設定する必要がある場合があります。
MS Accessは「オブジェクト」を使用して、ユーザーが情報を一覧表示および整理し、特別に設計されたレポートを作成します。データベースを作成すると、Accessはテーブル、クエリ、フォーム、レポート、マクロ、およびモジュールを提供します。Accessのデータベースは構成されています。多くのオブジェクトの、しかし以下は主要なオブジェクトです-
- Tables
- Queries
- Forms
- Reports
これらのオブジェクトを組み合わせることで、データの入力、保存、分析、およびコンパイルが可能になります。これは、Accessデータベースの主要なオブジェクトの概要です。
テーブル
テーブルは、データを定義および保存するために使用されるオブジェクトです。新しいテーブルを作成すると、Accessは列見出しとも呼ばれるフィールドを定義するように要求します。
各フィールドには、一意の名前とデータ型が必要です。
テーブルには、名前や住所などのさまざまな種類のデータを格納するフィールドまたは列と、顧客や従業員に関するすべての情報など、サブジェクトの特定のインスタンスに関するすべての情報を収集するレコードまたは行が含まれます。
主キー、各レコードに固有の値を持つ1つ以上のフィールド、および各テーブルに1つ以上のインデックスを定義して、データをより迅速に取得できるようにすることができます。
クエリ
1つ以上のテーブルからのデータのカスタムビューを提供するオブジェクト。クエリは、1つ以上のテーブルからデータを検索してコンパイルする方法です。
クエリの実行は、データベースに詳細な質問をするようなものです。
Accessでクエリを作成するときは、特定の検索条件を定義して、必要なデータを正確に検索します。
Accessでは、例によるグラフィカルクエリ機能を使用するか、構造化クエリ言語(SQL)ステートメントを記述してクエリを作成できます。
データを選択、更新、挿入、または削除するクエリを定義できます。
1つ以上の既存のテーブルのデータから新しいテーブルを作成するクエリを定義することもできます。
形
フォームは、主にデータの入力や表示、またはアプリケーションの実行の制御のために設計されたデスクトップデータベース内のオブジェクトです。フォームを使用して、アプリケーションがクエリまたはテーブルから抽出するデータの表示をカスタマイズします。
フォームは、レコードの入力、変更、および表示に使用されます。
フォームが頻繁に使用される理由は、フォームがデータを正しく入力するように人々を導く簡単な方法だからです。
Accessのフォームに情報を入力すると、データは、データベース設計者が1つ以上の関連テーブルに入れたい場所に正確に移動します。
報告する
レポートは、選択したデータのフォーマット、計算、印刷、および要約用に設計されたデスクトップデータベースのオブジェクトです。
印刷する前に、画面にレポートを表示できます。
フォームが入力用の場合、レポートは出力用です。
名前と住所のリスト、ある期間の財務概要、または一連の宛名ラベルなど、印刷する予定のすべてのものはレポートに値します。
レポートを使用すると、データベースのコンポーネントを読みやすい形式で表示できるので便利です。
レポートの外観をカスタマイズして、視覚的に魅力的なものにすることもできます。
Accessを使用すると、任意のテーブルまたはクエリからレポートを作成できます。
その他のMSAccessオブジェクト
ここで、他のMSAccessオブジェクトを見てみましょう。
大きい
このオブジェクトは、定義されたイベントに応答してAccessに実行させる1つ以上のアクションの構造化された定義です。Accessマクロは、いくつかの仕事をするためのスクリプトです。たとえば、レポートを開くボタンを作成するには、OpenReportアクションを起動するマクロを使用できます。
マクロに単純な条件を含めて、マクロ内の1つ以上のアクションをいつ実行またはスキップするかを指定できます。
マクロを使用して、クエリを開いて実行したり、テーブルを開いたり、レポートを印刷または表示したりできます。
マクロ内から他のマクロまたはVisualBasicプロシージャを実行することもできます。
データマクロは、新しいレコードの挿入、既存のレコードの編集、レコードの削除などのテーブルイベントに直接アタッチできます。
Webアプリのデータマクロは、他のデータマクロまたはマクロオブジェクトから呼び出すことができるスタンドアロンオブジェクトにすることもできます。
モジュール
モジュールは、VisualBasicを使用してコーディングするカスタムプロシージャを含むデスクトップデータベース内のオブジェクトです。モジュールは、より個別のアクションフローを提供し、エラーをトラップできるようにします。
マクロで実行できることはすべてモジュールでも実行できますが、各アクションに必要なものを要求するマクロインターフェイスは取得できません。
モジュールははるかに強力であり、マクロにはエラー処理を含めることができないため、マルチユーザー環境用のコードを作成する場合は不可欠です。
モジュールは、アプリケーションのどこからでも呼び出すことができる関数を含むスタンドアロンオブジェクトにすることも、フォームまたはレポートに直接関連付けて、関連付けられたフォームまたはレポートのイベントに応答することもできます。
この章では、Accessを起動してデータベースを作成する基本的なプロセスについて説明します。この章では、テンプレートを使用してデスクトップデータベースを作成する方法と、データベースを最初から構築する方法についても説明します。
テンプレートからデータベースを作成するには、最初にMS Accessを開く必要があります。次の画面が表示され、さまざまなAccessデータベーステンプレートが表示されます。
可能なすべてのデータベースを表示するには、下にスクロールするか、検索ボックスを使用することもできます。
検索ボックスにプロジェクトを入力して、Enterキーを押します。プロジェクト管理に関連するデータベーステンプレートが表示されます。
最初のテンプレートを選択します。このテンプレートに関連する詳細情報が表示されます。
要件に関連するテンプレートを選択した後、に名前を入力します File name フィールドに追加し、必要に応じてファイルの別の場所を指定することもできます。
次に、[作成]オプションを押します。次のスクリーンショットに示すように、Accessはそのデータベーステンプレートをダウンロードし、新しい空のデータベースを開きます。
次に、左側のナビゲーションペインをクリックすると、このデータベースに付属している他のすべてのオブジェクトが表示されます。
プロジェクトナビゲーションをクリックし、メニューでオブジェクトタイプを選択します。
これで、すべてのオブジェクトタイプ(テーブル、クエリなど)が表示されます。
空のデータベースを作成する
データベースの要件が非常に具体的であるため、既存のテンプレートを使用および変更するには、データベースを最初から作成するだけでなく、より多くの作業が必要になる場合があります。そのような場合、私たちは空のデータベースを利用します。
Step 1 − MSAccessを開くことから始めましょう。
Step 2− [空白のデスクトップデータベース]を選択します。名前を入力し、[作成]ボタンをクリックします。
Step 3 − Accessは新しい空のデータベースを作成し、完全に空のテーブルを開きます。
テーブル内のすべてのフィールドにはプロパティがあり、これらのプロパティはフィールドの特性と動作を定義します。フィールドの最も重要なプロパティは、そのデータ型です。フィールドのデータ型によって、保存できるデータの種類が決まります。MS Accessは、それぞれ特定の目的を持つさまざまな種類のデータをサポートしています。
- データ型は、ユーザーが特定のフィールドに格納できる値の種類を決定します。
- 各フィールドには、単一のデータ型のみで構成されるデータを格納できます。
一般的なMicrosoftAccessデータベースで使用される最も一般的なデータ型のいくつかを次に示します。
データの種類 | 説明 | サイズ |
---|---|---|
短いテキスト | 計算を必要としない番号(電話番号など)を含む、テキストまたはテキストと番号の組み合わせ。 | 最大255文字。 |
長いテキスト | 長いテキストまたはテキストと数字の組み合わせ。 | 最大63、999文字。 |
数 | 数学計算で使用される数値データ。 | 1、2、4、または8バイト(レプリケーションIDに設定されている場合は16バイト)。 |
日付時刻 | 100年から9999年までの日付と時刻の値。 | 8バイト |
通貨 | 小数点以下1桁から4桁のデータを含む数学計算で使用される通貨値と数値データ。 | 8バイト |
オートナンバー | 新しいレコードがテーブルに追加されるたびに、Microsoft Accessによって割り当てられる一意の連続(1ずつ増加)番号または乱数。 | 4バイト(レプリケーションIDに設定されている場合は16バイト)。 |
はい・いいえ | はいおよびいいえの値と、2つの値(はい/いいえ、True / False、またはオン/オフ)のいずれか1つのみを含むフィールド。 | 1ビット。 |
以前のバージョンのAccessを使用している場合は、これら2つのデータ型の違いに気付くでしょう。
Access 2013では、短いテキストと長いテキストの2つのデータ型があります。Accessの以前のバージョンでは、これらのデータ型はテキストおよびメモと呼ばれていました。
テキストフィールドはショートテキストと呼ばれ、メモフィールドはロングテキストと呼ばれるようになりました。
Accessで選択できる、その他のより特殊なデータ型のいくつかを次に示します。
データ型 | 説明 | サイズ |
---|---|---|
アタッチメント |
デジタル写真などのファイル。レコードごとに複数のファイルを添付できます。このデータ型は、以前のバージョンのAccessでは使用できません。 |
最大約2GB。 |
OLEオブジェクト |
OLEオブジェクトは、画像、オーディオ、ビデオ、またはその他のBLOB(バイナリラージオブジェクト)を格納できます。 |
最大約2GB。 |
ハイパーリンク |
テキストまたはテキストとして保存され、ハイパーリンクアドレスとして使用されるテキストと数字の組み合わせ。 |
最大8,192文字(ハイパーリンクデータ型の各部分には最大2048文字を含めることができます)。 |
ルックアップウィザード |
デザインビューの[データ型]列のルックアップウィザードエントリは、実際にはデータ型ではありません。このエントリを選択すると、ウィザードが開始され、単純または複雑なルックアップフィールドを定義できます。 単純なルックアップフィールドは、別のテーブルまたは値リストの内容を使用して、行ごとに1つの値の内容を検証します。複雑なルックアップフィールドを使用すると、同じデータ型の複数の値を各行に格納できます。 |
ルックアップフィールドのデータ型によって異なります。 |
計算済み |
1つ以上のフィールドのデータを使用する式を作成できます。式からさまざまな結果データ型を指定できます。 |
1つ以上のフィールドのデータを使用する式を作成できます。式からさまざまな結果データ型を指定できます。 |
これらはすべて、MicrosoftAccessテーブルにフィールドを作成するときに選択できるさまざまなデータ型です。
データベースを作成するときは、データをテーブルに保存します。他のデータベースオブジェクトはテーブルに大きく依存しているため、データベースの設計は、すべてのテーブルを作成してから、他のオブジェクトを作成することから始める必要があります。テーブルを作成する前に、要件を慎重に検討し、必要なすべてのテーブルを決定してください。
次の表に示すように、従業員に関する基本的な連絡先情報を格納する最初のテーブルを作成してみましょう。
フィールド名 | データ・タイプ |
---|---|
EmployeelD | オートナンバー |
ファーストネーム | 短いテキスト |
苗字 | 短いテキスト |
住所(1 | 短いテキスト |
アドレス2 | 短いテキスト |
市 | 短いテキスト |
状態 | 短いテキスト |
Zip | 短いテキスト |
電話 | 短いテキスト |
電話の種類 | 短いテキスト |
これらすべてのフィールドのデータ型として短いテキストを使用し、Accessで空のデータベースを開きます。
これは私たちが物事を中断したところです。データベースを作成すると、Accessはこのテーブルを自動的に開きました-テーブルの1つのデータシートビュー。
[フィールド]タブに移動すると、自動的に作成されていることがわかります。AutoNumberフィールドであるIDは、一意の識別子として機能し、このテーブルの主キーです。
IDフィールドはすでに作成されているので、条件に合わせて名前を変更します。これは従業員テーブルであり、これは従業員の一意の識別子になります。
クリックしてください Name & Caption リボンのオプションをクリックすると、次のダイアログボックスが表示されます。
このフィールドの名前をに変更します EmployeeIDこのテーブルをより具体的にするため。必要に応じて他のオプション情報を入力し、[OK]をクリックします。
これで、「従業員ID」というキャプションが付いた「従業員ID」フィールドができました。これは自動的に自動番号に設定されるため、データ型を実際に変更する必要はありません。
クリックしてさらにフィールドを追加しましょう click to add。
選択 Short Textフィールドとして。短いテキストを選択すると、Accessはそのフィールド名を自動的に強調表示し、フィールド名を入力するだけです。
タイプ FirstNameフィールド名として。同様に、次のスクリーンショットに示すように、すべての必須フィールドを追加します。
すべてのフィールドが追加されたら、[保存]アイコンをクリックします。
これで、 Save As テーブルのテーブル名を入力できるダイアログボックス。
「テーブル名」フィールドにテーブルの名前を入力します。ここにtblプレフィックスはテーブルを表します。[OK]をクリックすると、ナビゲーションペインにテーブルが表示されます。
テーブルデザインビュー
を使用してすでに1つのテーブルを作成しているため Datasheet View。次に、を使用して別のテーブルを作成します。Table Design View。このテーブルに次のフィールドを作成します。これらのテーブルには、さまざまな本のプロジェクトに関する情報の一部が格納されます。
フィールド名 | データ・タイプ |
---|---|
プロジェクトID | オートナンバー |
ProjectName | 短いテキスト |
編集長 | 短いテキスト |
著者 | 短いテキスト |
PStatus | 短いテキスト |
契約 | アタッチメント |
ProjectStart | 日付時刻 |
ProjectEnd | 日付時刻 |
予算 | 通貨 |
ProjectNotes | 長いテキスト |
次に、[作成]タブに移動します。
テーブルグループで、テーブルをクリックすると、データシートビューとは完全に異なって見えることがわかります。このビューでは、field name そして data type 並んで。
私たちは今作る必要があります ProjectID このテーブルの主キーなので、選択しましょう ProjectID をクリックします Primary Key リボンのオプション。
これで、そのフィールドの横に表示される小さなキーアイコンが表示されます。これは、フィールドがテーブルの主キーの一部であることを示しています。
このテーブルを保存して、このテーブルに名前を付けましょう。
[OK]をクリックすると、このテーブルがデータシートビューでどのように表示されるかを確認できます。
リボンの左上隅にあるデータシート表示ボタンをクリックしてみましょう。
このテーブルまたは特定のフィールドに変更を加えたい場合は、必ずしもデザインビューに戻って変更する必要はありません。データシートビューから変更することもできます。次のスクリーンショットに示すように、PStatusフィールドを更新しましょう。
[OK]をクリックすると、変更が表示されます。
Accessデータベースは、Microsoft OfficeWordドキュメントやMicrosoftOfficePowerPointと同じ意味でのファイルではありません。代わりに、Accessデータベースは、データベースが正しく機能するために連携する必要があるテーブル、フォーム、レポート、クエリなどのオブジェクトのコレクションです。これで、データベースに必要なすべてのフィールドとフィールドプロパティを含む2つのテーブルが作成されました。Access内のテーブルのデータを表示、変更、挿入、または削除するには、テーブルのデータシートビューを使用できます。
データシートは、特別なフォーマットなしで行と列のデータを確認する簡単な方法です。
新しいWebテーブルを作成するたびに、Accessは自動的に2つのビューを作成し、データ入力にすぐに使用できるようにします。
データシートビューで開いているテーブルはExcelワークシートに似ており、1つ以上のフィールドにデータを入力または貼り付けることができます。
データを明示的に保存する必要はありません。Accessは、カーソルを同じ行の新しいフィールドに移動したとき、またはカーソルを別の行に移動したときに、テーブルへの変更をコミットします。
デフォルトでは、Accessデータベースのフィールドは、テキストや数値などの特定の種類のデータを受け入れるように設定されています。フィールドが受け入れるように設定されているデータのタイプを入力する必要があります。そうしないと、Accessはエラーメッセージを表示します-
作成したAccessデータベースを開いて、テーブルにデータを追加しましょう。
を選択 Views → Datasheet 次のスクリーンショットに示すように、リボンのオプションを表示し、いくつかのデータを追加します。
同様に、次のスクリーンショットに示すように、2番目の表にいくつかのデータを追加します。
データシートビューでは、スプレッドシートでの作業と同様に、新しいデータの挿入と既存のデータの更新が非常に簡単であることがわかります。ただし、データを削除する場合は、次のスクリーンショットに示すように、最初に行全体を選択する必要があります。
次に、削除ボタンを押します。確認メッセージが表示されます。
クリック Yes 選択したレコードが削除されたことがわかります。
クエリは、データの結果とデータに対するアクションの要求です。クエリを使用して、簡単な質問に答えたり、計算を実行したり、異なるテーブルのデータを結合したり、テーブルデータを追加、変更、または削除したりすることもできます。
テーブルのサイズが大きくなると、数十万のレコードが含まれる可能性があるため、ユーザーはそのテーブルから特定のレコードを選択できなくなります。
クエリを使用すると、テーブルのデータにフィルタを適用して、必要な情報のみを取得できます。
テーブルからデータを取得したり、計算を行ったりするために使用するクエリは、選択クエリと呼ばれます。
データを追加、変更、または削除するクエリは、アクションクエリと呼ばれます。
クエリを使用して、フォームまたはレポートのデータを提供することもできます。
適切に設計されたデータベースでは、フォームまたはレポートを使用して表示するデータは、多くの場合、いくつかの異なるテーブルに配置されます。
クエリのトリッキーな部分は、実際に使用する前に、クエリの作成方法を理解する必要があることです。
選択クエリの作成
テーブル内の特定のフィールドのみのデータを確認する場合、複数のテーブルのデータを同時に確認する場合、または特定の基準でデータベース化されたデータを確認する場合は、 Selectクエリ。ここで、情報を取得する簡単なクエリを作成する簡単な例を見てみましょう。tblEmployeesテーブル。データベースを開き、をクリックしますCreate タブ。
クリック Query Design。
の中に Tables タブ、 Show Table ダイアログで、をダブルクリックします tblEmployees テーブルそして次に Close ダイアログボックス。
tblEmployeesテーブルで、クエリの結果として表示するすべてのフィールドをダブルクリックします。次のスクリーンショットに示すように、これらのフィールドをクエリデザイングリッドに追加します。
今クリック Run に Design タブをクリックし、をクリックします Run。
クエリが実行され、クエリで指定されたフィールドのデータのみが表示されます。
クエリ条件は、Accessデータベースから特定のアイテムを取得するのに役立ちます。アイテムが入力したすべての条件に一致する場合、そのアイテムはクエリ結果に表示されます。フィールドの値に基づいてクエリの結果を制限する場合は、クエリ条件を使用します。
クエリ基準は、Accessがクエリフィールドの値と比較して、各値を含むレコードを含めるかどうかを決定する式です。
一部の基準は単純で、基本的な演算子と定数を使用します。その他は複雑で、関数や特殊な演算子を使用し、フィールド参照を含みます。
クエリにいくつかの条件を追加するには、デザインビューでクエリを開く必要があります。
次に、基準を指定するフィールドを特定します。
例
クエリで基準を使用する簡単な例を見てみましょう。最初にAccessデータベースを開き、次に[作成]タブに移動して[クエリデザイン]をクリックします。
[テーブルの表示]ダイアログの[テーブル]タブで、をダブルクリックします。 tblEmployees テーブルを開き、ダイアログボックスを閉じます。
次のスクリーンショットに示すように、EmployeeID、FirstName、LastName、JobTitle、Emailなどのフィールドをクエリグリッドに追加しましょう。
クエリを実行すると、クエリ結果としてこれらのフィールドのみが表示されます。
JobTitleがマーケティングコーディネーターである人だけを見たい場合は、その基準を追加する必要があります。もう一度クエリデザインに移動し、JobTitleのCriteria行にMarketingCoordinatorと入力します。
クエリをもう一度実行すると、マーケティングコーディネーターの役職のみが取得されていることがわかります。
複数のフィールドに基準を追加する場合は、複数のフィールドに基準を追加するだけです。「マーケティングコーディネーター」と「経理アシスタント」のデータのみを取得したいとします。次のスクリーンショットに示すように、OR行演算子を指定できます-
クエリをもう一度実行すると、次の結果が表示されます。
の機能を使用する必要がある場合 AND演算子の場合、Criteria行で他の条件を指定する必要があります。すべての経理アシスタントを取得したいとしますが、姓が「Pollard」のマーケティングコーディネーターの役職のみを取得します。
クエリをもう一度実行すると、次の結果が表示されます。
MS Accessやその他のDBMSシステムでは、クエリはデータを表示するだけでなく、実際にはデータベース内のデータに対してさまざまなアクションを実行できます。
アクションクエリは、一度に複数のレコードを追加、変更、または削除できるクエリです。
追加の利点は、実行する前にAccessでクエリ結果をプレビューできることです。
Microsoft Accessは、4種類のアクションクエリを提供します-
Append
Update
Delete
Make-table
アクションクエリは元に戻せません。更新クエリを使用して更新するテーブルのバックアップを作成することを検討する必要があります。
追加クエリを作成する
Append Queryを使用して、1つ以上のテーブルからデータを取得し、そのデータを別のテーブルに追加できます。からのデータを追加する新しいテーブルを作成しましょうtblEmployeesテーブル。これはデモ用の一時的なテーブルになります。
それを呼ぼう TempEmployees これには、次のスクリーンショットに示すようなフィールドが含まれています。
の中に Tables [テーブルの表示]ダイアログボックスのタブで、をダブルクリックします。 tblEmployeesテーブルを開き、ダイアログボックスを閉じます。表示したいフィールドをダブルクリックします。
クエリを実行して、最初にデータを表示しましょう。
次に、クエリデザインに戻り、 Append ボタン。
[クエリの種類]で、[追加]オプションボタンを選択します。次のダイアログボックスが表示されます。
ドロップダウンリストからテーブル名を選択し、[OK]をクリックします。
クエリグリッドでは、 Append To 行すべてのフィールドがデフォルトで選択されています。 Address1。これは、Address1フィールドがで使用できないためです。TempEmployeeテーブル。したがって、ドロップダウンリストからフィールドを選択する必要があります。
アドレスフィールドを調べてみましょう。
クエリを実行すると、次の確認メッセージが表示されます。
クリック Yes あなたの行動を確認するために。
あなたが開くとき TempEmployee テーブルでは、すべてのデータがtblEmployeesからTempEmployeeテーブルに追加されていることがわかります。
この章でクエリを作成する方法を理解しましょう。
更新クエリを作成する
更新クエリを使用してテーブルのデータを変更したり、更新クエリを使用して条件を入力して、更新する行を指定したりできます。更新クエリは、更新を実行する前に、更新されたデータを確認する機会を提供します。もう一度[作成]タブに移動し、[クエリデザイン]をクリックします。
[テーブル]タブの[テーブルの表示]ダイアログボックスで、[テーブル]をダブルクリックします。 tblEmployees テーブルを開き、ダイアログボックスを閉じます。
に Designタブの[クエリの種類]グループで、[更新]をクリックし、値を更新するフィールドをダブルクリックします。「Rex」のFirstNameを「Max」に更新するとします。
の中に Update の行 Designグリッドで、更新された値を入力し、[基準]行に、更新する元の値を追加して、クエリを実行します。確認メッセージが表示されます。
クリック Yes データシートビューに移動すると、最初のレコードが表示されます—FirstNameが「Max」に更新されました。
削除クエリを作成する
削除クエリを使用してテーブルからデータを削除したり、削除クエリを使用して条件を入力して、削除する行を指定したりできます。削除クエリは、削除を実行する前に、削除される行を確認する機会を提供します。に行きましょうCreate もう一度タブをクリックしてクリックします Query Design。
[テーブルの表示]ダイアログボックスの[テーブル]タブで、[テーブル]をダブルクリックします。 tblEmployees テーブルを開き、ダイアログボックスを閉じます。
に Design タブ、 Query Type グループをクリックします Delete をダブルクリックします EmployeeID。
Design GridのCriteria行に、11と入力します。ここでは、EmployeeIDが11の従業員を削除します。
クエリを実行してみましょう。このクエリは確認メッセージを表示します。
クリック Yes データシートビューに移動すると、指定した従業員レコードが削除されていることがわかります。
テーブル作成クエリを作成する
make-tableクエリを使用して、他のテーブルに格納されているデータから新しいテーブルを作成できます。に行きましょうCreate tab もう一度クリックします Query Design。
[テーブル]タブの[テーブルの表示]ダイアログボックスで、[テーブル]をダブルクリックします。 tblEmployees テーブルを開き、ダイアログボックスを閉じます。
別のテーブルにコピーするすべてのフィールドを選択します。
[クエリの種類]で、 Make Table オプションボタン。
次のダイアログボックスが表示されます。作成する新しいテーブルの名前を入力し、[OK]をクリックします。
次に、クエリを実行します。
次のメッセージが表示されます。
クリック Yes ナビゲーションペインに新しいテーブルが作成されます。
クエリの最良の部分は、同じクエリを何度も保存して実行できることですが、条件を変更するだけで同じクエリを何度も実行すると、クエリがパラメータを受け入れると見なされる場合があります。
特定のクエリのバリエーションを頻繁に実行する場合は、パラメータクエリの使用を検討してください
パラメータクエリはインタラクティブな方法で情報を取得し、クエリを実行する前にエンドユーザーに基準を指定するように促します。
パラメータが受け入れるデータのタイプを指定することもできます。
任意のパラメーターのデータ型を設定できますが、数値、通貨、または日付/時刻データのデータ型を設定することが特に重要です。
パラメータが受け入れるデータ型を指定すると、通貨が予想されるときにテキストを入力するなど、間違った種類のデータを入力すると、より役立つエラーメッセージが表示されます。
パラメータがテキストデータを受け入れるように設定されている場合、入力はすべてテキストとして解釈され、エラーメッセージは表示されません。
例
パラメータクエリを作成して、簡単な例を見てみましょう。データベースを開き、[テーブルの作成]タブで[クエリデザイン]を選択します。
をダブルクリックします tblProjects を閉じます Show ダイアログボックス。
次のスクリーンショットに示すように、クエリ結果として表示するフィールドを選択します。
クエリデザイングリッドの[ProjectStart]列の[Criteria]行に、次のように入力します。 [Enter a project start data]。文字列[Enter a project start data]パラメータプロンプトです。角かっこは、クエリで入力を求めることを示し、テキストは次のとおりです。Enter a project start data プロンプトが表示するパラメータです。
クエリを実行すると、次のプロンプトが表示されます。
次の日付を入力してみましょう。
[OK]をクリックして確認します。
その結果、2007年2月1日に開始されたプロジェクトの詳細が表示されます。デザインビューに移動して、クエリを再度実行してみましょう。
上のスクリーンショットのように日付を入力し、[OK]をクリックします。これで、2008年5月1日に開始されたプロジェクトの詳細が表示されます。
クエリには多くの利点があります。同じクエリを保存して何度も実行でき、多くの場合、別の条件を追加する必要があります。
次の2つの方法で代替基準を追加できます-
- OR演算子を使用して、2セットの基準を組み合わせることができます。
- クエリデザイングリッドを使用することもできますが、同じ行に条件を指定する代わりに、複数の行に区切る必要があります。
例
代替基準の簡単な例を見てみましょう。データベースを開き、[作成]タブで[Query Design。
をダブルクリックします tblEmployee [テーブルの表示]ダイアログボックスを閉じます。
クエリ結果として表示するすべてのフィールドをダブルクリックします。
これで、代替基準がの異なる行で指定されていることがわかります。 LastNameフィールド。このクエリを実行すると、姓が次のいずれかである従業員が表示されます。Pollard または Manning。このクエリを実行してみましょう。
ご覧のとおり、代替基準のため、2人の従業員のみが取得されています。
複数のフィールドに代替基準を追加する場合は、すべてのフィールドに異なる行を使用する必要があります。ここで、姓が次のいずれかである従業員の情報を取得できる別の代替基準を追加しましょう。Pollard または Manning または役職は Accounting Assistant。
このクエリを実行してみましょう。
次の結果が表示されます。
この章では、関連データの基本を理解します。異なるデータ間の関係について話し、作成する前に、なぜそれが必要なのかを確認しましょう。それはすべて正規化に戻ります。
正規化
データベースの正規化、または単に正規化は、データの冗長性を最小限に抑えるために、リレーショナルデータベースの列(属性)とテーブル(関係)を編成するプロセスです。これは、データを複数のテーブルに分割して、全体的なパフォーマンス、整合性、および寿命を向上させるプロセスです。
正規化は、データベース内のデータを整理するプロセスです。
これには、データを保護し、冗長性と一貫性のない依存関係を排除することでデータベースをより柔軟にするように設計されたルールに従って、テーブルを作成し、それらのテーブル間の関係を確立することが含まれます。
データを含む次の表を見てみましょう。ただし、問題は、このデータが非常に冗長であり、データ入力中にタイプミスや一貫性のないフレージングが発生する可能性が高くなることです。
CustID | 名前 | 住所 | クッキー | 量 | 価格 | 合計 |
---|---|---|---|---|---|---|
1 | エセル・スミス | 12 Main St、Arlington、VA 22201 S | チョコチップ | 5 | $ 2.00 | $ 10.00 |
2 | トムウィルバー | 1234 Oak Dr.、Pekin、IL 61555 | チョコチップ | 3 | $ 2.00 | $ 6.00 |
3 | Ethil Smithy | 12 Main St.、Arlington、VA 22201 | チョコチップ | 5 | $ 2.00 | $ 10.00 |
この問題を解決するには、次の3つの表に示すように、データを再構築して複数のテーブルに分割し、それらの冗長性の一部を排除する必要があります。
ここでは、顧客用のテーブルが1つあり、2つ目は注文用、3つ目はCookie用です。
ここでの問題は、データを複数のテーブルに分割するだけでは、あるテーブルのデータが別のテーブルのデータとどのように関連しているかを判断するのに役立たないことです。複数のテーブルのデータを接続するには、外部キーをに追加する必要がありますOrders テーブル。
関係の定義
関係は、キー列のデータ、通常は両方のテーブルの同じ名前の列を照合することによって機能します。ほとんどの場合、関係は、各行に一意の識別子を提供する1つのテーブルの主キーと、他のテーブルの外部キーのエントリと一致します。テーブル間の関係には3つのタイプがあります。作成される関係のタイプは、関連する列がどのように定義されているかによって異なります。
Let us now look into the three types of relationships −
One-to-Many Relationships
A one-to-many relationship is the most common type of relationship. In this type of relationship, a row in table A can have many matching rows in table B, but a row in table B can have only one matching row in table A.
For example, the Customers and Orders tables have a one-to-many relationship: each customer can place many orders, but each order comes from only one customer.
Many-to-Many Relationships
In a many-to-many relationship, a row in table A can have many matching rows in table B, and vice versa.
You create such a relationship by defining a third table, called a junction table, whose primary key consists of the foreign keys from both table A and table B.
For example, the Customers table and the Cookies table have a many-to-many relationship that is defined by a one-to-many relationship from each of these tables to the Orders table.
One-to-One Relationships
In a one-to-one relationship, a row in table A can have no more than one matching row in table B, and vice versa. A one-to-one relationship is created if both the related columns are primary keys or have unique constraints.
This type of relationship is not common because most information related in this way would be all in one table. You might use a one-to-one relationship to −
- Divide a table into many columns.
- Isolate part of a table for security reasons.
- Store data that is short-lived and could be easily deleted by simply deleting the table.
- Store information that applies only to a subset of the main table.
In this chapter, we will understand the need to create relationships between related tables. One of the goals of good database design is to remove data redundancy.
To achieve that goal, you divide your data into many subject-based tables so that each fact is represented only once.
To do this, all the common fields which are related to each other are placed in one table.
To do this step correctly, you must first understand the relationship between your tables, and then specify these relationships in your Access database.
Why Create Table Relationships?
MS Access uses table relationships to join tables when you need to use them in a database object. There are several reasons why you should create table relationships before you create other database objects, such as forms, queries, macros, and reports.
To work with records from more than one table, you often must create a query that joins the tables.
The query works by matching the values in the primary key field of the first table with a foreign key field in the second table.
When you design a form or report, MS Access uses the information it gathers from the table relationships you have already defined to present you with informed choices and to prepopulate property settings with appropriate default values.
When you design a database, you divide your information into tables, each of which has a primary key and then add foreign keys to related tables that reference those primary keys.
These foreign key-primary key pairings form the basis for table relationships and multi-table queries.
Let us now add another table into your database and name it tblHRData using Table Design as shown in the following screenshot.
Click on the Save icon as in the above screenshot.
Enter tblHRData as table name and click Ok.
tblHRData is now created with data in it.
Let us now understand One-to-One Relationship in MS Access. This relationship is used to relate one record from one table to one and only one record in another table.
Let us now go to the Database Tools tab.
Click on the Relationships option.
Select tblEmployees and tblHRData and then click on the Add button to add them to our view and then close the Show Table dialog box.
To create a relationship between these two tables, use the mouse, and click and hold the EmployeeID field from tblEmployees and drag and drop that field on the field we want to relate by hovering the mouse right over EmployeeID from tblHRData. When you release your mouse button, Access will then open the following window −
The above window relates EmployeeID of tblEmployees to EmployeeID of tblHRData. Let us now click on the Create button and now these two tables are related.
リレーションシップが自動的に保存されるようになり、[保存]ボタンをクリックする必要がなくなりました。最も基本的な関係が作成されたので、テーブル側に移動して、この関係で何が起こったかを確認しましょう。
開いてみましょう tblEmployees テーブル。
ここでは、すべてのレコードの左側に、デフォルトで小さなプラス記号が表示されます。リレーションシップを作成すると、Accessはそのテーブルにサブデータシートを自動的に追加します。
プラス記号をクリックすると、このレコードに関連する情報が表示されます。 tblHRData テーブル。
クリックしてください Save アイコンと開く tblHRData 入力したデータがすでにここにあることがわかります。
関係の大部分は、テーブルの1つのレコードが別のテーブルの多くのレコードに関連付けられる可能性がある、この1対多くの関係である可能性が高くなります。
1対多の関係を作成するプロセスは、1対1の関係を作成するプロセスとまったく同じです。
まず、をクリックしてレイアウトをクリアしましょう。 Clear Layout のオプション Design tab。
最初に別のテーブルを追加します tblTasks 次のスクリーンショットに示すように。
クリックしてください Save アイコンと入力します tblTasks テーブル名として、に移動します Relationship 見る。
クリックしてください Show Table オプション。
追加 tblProjects そして tblTasks を閉じます Show Table ダイアログボックス。
同じプロセスをもう一度実行して、これらのテーブルを関連付けることができます。tblProjectsからProjectIDをクリックしたまま、tblTasksからProjectIDまでドラッグします。さらに、マウスを離すと、関係ウィンドウがポップアップします。
[作成]ボタンをクリックします。これで、非常に単純な関係が作成されました。
この章では、多対多の関係を理解しましょう。多対多の関係を表すには、多対多の関係を2つの1対多の関係に分解する、ジャンクションテーブルと呼ばれることが多い3番目のテーブルを作成する必要があります。そのためには、ジャンクションテーブルも追加する必要があります。最初に別のテーブルを追加しましょうtblAuthers。
作成しましょう many-to-many relationship。複数の著者が複数のプロジェクトに取り組んでおり、その逆も同様です。ご存知のように、tblProjectsにはAuthorフィールドがあるので、そのためのテーブルを作成しました。このフィールドはもう必要ありません。
[作成者]フィールドを選択して削除ボタンを押すと、次のメッセージが表示されます。
クリック Yes。次に、ジャンクションテーブルを作成する必要があります。次のスクリーンショットに示すように、このジャンクションテーブルには2つの外部キーがあります。
これらの外部キーフィールドは、一緒にリンクされた2つのテーブルの主キーになります— tblAuthers そして tblProjects。
Accessで複合キーを作成するには、これらのフィールドと table tools design タブで、その主キーを直接クリックすると、これらのフィールドの1つではなく両方がマークされます。
これら2つのフィールドの組み合わせは tables’ unique identifier。このテーブルを次のように保存しましょうtblAuthorJunction。
多対多の関係をまとめる最後のステップは、それに戻ることです relationships view をクリックしてそれらの関係を作成します Show Table。
上記の3つの強調表示されたテーブルを選択し、[追加]ボタンをクリックして、このダイアログボックスを閉じます。
クリックしてドラッグします AuthorID からのフィールド tblAuthors そしてそれを上に置きます tblAuthorJunction テーブル AuthorID。
作成している関係は、Accessが1対多の関係と見なす関係です。また、参照整合性を適用します。今度はオンにしましょうCascade Update をクリックします Create 上のスクリーンショットのようにボタン。
さあ、開催しましょう ProjectID、その上にドラッグアンドドロップします ProjectID から tblAuthorJunction。
私達はします Enforce Referential Integrity そして Cascade Update Related Fields。
以下は多対多の関係です。
ワイルドカードは、テキスト値内の不明な文字を表すことができる特殊文字であり、類似しているが同一ではないデータを持つ複数のアイテムを見つけるのに便利です。ワイルドカードは、指定されたパターン一致でデータベース化するのにも役立ちます。
Accessは、構造化照会言語の2つの標準をサポートしているため、2セットのワイルドカード文字をサポートしています。
- ANSI-89
- ANSI-92
原則として、実行時にANSI-89ワイルドカードを使用します queries そして find-and-replace などのAccessデータベースに対する操作 *.mdb そして *.accdb ファイル。
Accessプロジェクト(Microsoft SQL Serverデータベースに接続されているアクセスファイル)に対してクエリを実行する場合は、ANSI-92ワイルドカードを使用します。SQL ServerはANSI-92標準を使用しているため、アクセスプロジェクトはANSI-92標準を使用します。
ANSI-89ワイルドカード文字
次の表に、ANSI-89でサポートされている文字を示します。
キャラクター | 説明 | 例 |
---|---|---|
* | 任意の数の文字に一致します。アスタリスク(*)は、文字列のどこでも使用できます。 | wh* 何、白、そして理由を見つけますが、しばらくは見ません。 |
? | 任意の1つの英字に一致します。 | B?ll ボール、ベル、および請求書を検索します。 |
[] | 角かっこ内の任意の1文字に一致します。 | B[ae]ll ボールとベルを見つけますが、請求書は見つけません。 |
! | 角かっこで囲まれていない任意の文字に一致します。 | b[!ae]ll 請求書と雄牛を検出しますが、ボールやベルは検出しません。 |
- | 文字の範囲のいずれかに一致します。範囲は昇順で指定する必要があります(ZからAではなくAからZ)。 | b[a-c]d bad、bbd、およびbcdを検出します。 |
# | 任意の1つの数字に一致します。 | 1#3S 103、113、および123を検索します。 |
ANSI-92ワイルドカード文字
次の表に、ANSI-92でサポートされている文字を示します。
キャラクター | 説明 | 例 |
---|---|---|
% | 任意の数の文字に一致します。文字列の最初または最後の文字として使用できます。 | wh% 何、白、そして理由を見つけますが、しばらくは見ません。 |
_ | 任意の1つの英字に一致します。 | B_ll ボール、ベル、および請求書を検索します。 |
[] | 角かっこ内の任意の1文字に一致します。 | B[ae]ll ボールとベルを見つけますが、請求書は見つけません。 |
^ | 角かっこで囲まれていない任意の文字に一致します。 | b[^ae]ll 請求書と雄牛を検出しますが、ボールやベルは検出しません。 |
- | 文字の範囲のいずれかに一致します。範囲は昇順で指定する必要があります(ZからAではなくAからZ)。 | b[a-c]d bad、bbd、およびbcdを検出します。 |
例
クエリデザインを開いて、これらのワイルドカード文字を使用する簡単な例を見てみましょう。
ハイライトされたテーブルを追加し、 Show Table ダイアログボックス。
クエリ結果として表示するクエリグリッドのフィールドを追加します。
クエリを実行します。
もう一度行きましょう query design プロジェクト名のプロンプトを追加します。
ここでクエリを実行し、正確なプロジェクト名がわからないと仮定しますが、プロジェクト名に「ポーション」という単語が含まれていることはわかっています。クリックOk。
上記の手順では、結果は生成されません。これは、Accessが完全に一致するものを探しているためです。project name field。それは言葉を持っているそのプロジェクトを探していますpotion その名前で。
ユーザーがワイルドカードを入力して不明な文字を置き換えることができるようにする場合は、基準を調整して演算子を含める必要があります like。
クエリを実行すると、ユーザーはワイルドカードを使用して任意の数の文字を置き換えることができます。
あなたがその言葉を知っていると仮定しましょう potion タイトルのどこかに表示されますが、どこにあるのか正確にはわかりません。
*を追加して、単語ポーションの前の任意の数の文字を置き換えてから、の後に別の*を追加できます。クリックOk。
入力できるワイルドカードをユーザーが知っていることは常に良いことです。ただし、入力できるワイルドカードと入力できないワイルドカードを知らないユーザーもいます。その場合、ワイルドカードを自分で入力できます。
この状況では、 Like演算子とパラメータプロンプトを使用すると、これらのワイルドカードを追加できます。これを記述するための非常に具体的な方法があります。言葉の後like使用しているワイルドカードを引用符で囲んで入力します。この場合、任意の数の文字を「*」で置き換えています。これをパラメータに追加します。そのためには、アンパサンドが必要です(&)シンボルとスペース。この手順を繰り返し、別のアンパサンド(&)を追加します。これは、ユーザーがそのプロジェクト名に入力した条件にワイルドカードを結合し、引用符で囲んで「*」を付けるためです。
クエリをもう一度実行してみましょう。単語を入力してくださいpotion ワイルドカードなしのプロンプトで。
クエリは、ここに入力されたもののいずれかの側でそれらのワイルドカードを追跡します。ポーションを入力してEnterキーを押すだけです。
これで、探していた結果が得られ、ユーザーが何を入力しても結果は同じになります。
タイトルに「the」という単語が含まれるすべてのプロジェクトを検索するとします。次に、単語を入力するだけで、Enter またはをクリックします Ok。
このクエリを使用すると、名前に「the」という単語が含まれるプロジェクトを簡単に検索できます。2回目の結果のレベルも「」単語の一部である単語「母」とプロジェクト名を含むことができます。
MS Accessでは、式はExcelの数式のようなものです。これは、結果を生成するために単独でまたは組み合わせて使用できるいくつかの要素で構成されています。式には、演算子、定数、関数、および識別子を含めることができます。
式を使用して、コントロールの値の取得やクエリへの条件の提供から、計算されたコントロールとフィールドの作成、レポートのグループレベルの定義まで、さまざまなタスクを実行できます。
この章では、計算式と呼ばれる非常に特殊な種類の式の作成に焦点を当てます。データベース自体のどこにも保存されていないが、保存されている個別のフィールドから計算されたデータを計算して表示するいくつかの計算フィールドを作成します。
これで、計算するデータがさらに含まれる新しいAccessデータベースができました。
例
これを理解するために例を試してみましょう。さまざまなテーブルからいくつかの情報を取得します—tblCustomers, tblOrders, tblOrdersDetails そして tblBooks さまざまな分野をレビューします。
クエリを実行すると、次の結果が表示されます。
注文した本の数量を取り、それを本の小売価格で乗算する小計の非常に簡単な計算が必要です。すべての式または任意の式を名前で始めて、そのフィールドを呼び出すことをお勧めします。これを呼ぼうsubtotal。
完全な表現 (Subtotal: [tblOrdersDetails]![QTY]*[tblBooks]![RetailPrice])テーブル名、最初のtblOrdersDetailsを角括弧内に含めます。これは、数量フィールドが存在する場所だからです。現在、感嘆符はAccessに、そのテーブル内でフィールドQTYを探し、それをtblBooksの小売価格フィールドで乗算するように指示しています。
クエリを実行してみると、最後に小計フィールドが表示されます。
消費税を計算したいとしましょう。クエリグリッドでは、以前とまったく同じ方法で実行します。今回は、フィールドを単にTaxと呼び、小計に9%の税率を掛けます。
クエリをもう一度実行すると、新しいクエリが表示されます Tax field 最終的には。
インデックスはデータ構造であり、データ取得の速度を向上させるために設計された特別なデータ構造です。テーブルを頻繁に検索したり、特定のフィールドでレコードを並べ替えたりする場合は、フィールドのインデックスを作成することで、これらの操作を高速化できます。Microsoft Accessは、書籍のインデックスを使用してデータを検索するときに、テーブルのインデックスを使用します。
- 主キーなどの場合、Accessは自動的にインデックスを作成します。
- また、自分でインデックスを作成したい場合もあります。
- インデックスには、インデックスを作成するために選択した1つまたは複数のフィールドに基づいてレコードの場所が格納されます。
- Accessはインデックスから場所を取得した後、正しい場所に直接移動してデータを取得できます。
- このように、インデックスを使用すると、すべてのレコードをスキャンしてデータを見つけるよりもかなり高速になります。
- インデックスはクエリの検索を高速化できますが、レコードを追加または更新する際のパフォーマンスを低下させる可能性もあります。
ここで、Microsoft Accessがデフォルトで作成するインデックスと、それらを自分で作成する方法を調べ、不要なインデックスを削除する方法を学びましょう。を開きますtblEmployees 作成したAccessデータベースのテーブル。
- このデータベースのインデックスを実際に試したことはありませんが、インデックスがないという意味ではありません。
- 実際、Accessで主キーとして設定されているフィールドには、自動的にインデックスが付けられます。
- Accessは、フィールドの名前に応じて追加のセカンダリインデックスを作成します。
次に、[ファイル]メニューに移動し、[オプション]を選択します。
[アクセスオプション]ウィンドウが表示されます。
に移動します Object Designersインポート/作成時にAutoIndexというラベルの付いたセクションが表示され、テキストボックスにID; key; code; numが表示されます。デフォルトでは、accessは、これらの名前で開始または終了するフィールドにセカンダリインデックスを自動的に追加します。これは、インポートしたフィールドと手動で作成したフィールドに適用されます。
フィールドにインデックスを付けたい場合は、 Field タブ。
インデックスを作成するフィールドを選択し、[フィールドの検証]セクションの[インデックス]チェックボックスをオンにします。インデックスを作成または削除するための代替オプションもあります。あなたはに戻ることができますDesign View。
任意のフィールドを選択してインデックスを調整できます。また、下のフィールドプロパティ領域でそれらがどのようにインデックス付けされているかを確認できます。あるフィールドNoインデックス付きの横に選択されている場合は、その特定のフィールドにインデックスがないことを意味します。ドロップダウンメニューをクリックし、他の2つのオプションを選択することで、これを変更できます—Yes (Duplicate OK) そして Yes (No duplicates)。
最後のオプション Yes (No Duplicates)これは、Accessがそのフィールドの重複値を自動的に禁止することを意味します。次に、姓フィールドのインデックスを作成しましょう。
選択しましょう LastName インデックスを付けて言う Yes (Duplicates OK)。保存すると、Accessによってそのインデックスが作成されます。テーブルのインデックスを表示および調整できるもう1つの領域は、のテーブルデザイン領域です。Show/Hide グループ。
この[インデックス]ボタンをクリックすると、このテーブル用に作成されたすべてのインデックスを表示する特別なビューが表示されます。
これで、tblEmployeesの2つのインデックスができました。1つは主キーフィールドに基づいて自動的に作成されたもので、もう1つはLastNameフィールド用に作成したものです。これらは、MicrosoftAccessテーブルのインデックスを処理するさまざまな方法です。
この章では、Accessのレコードのグループを計算する方法について説明します。行ごとまたはレコードごとに計算して行の合計または小計フィールドを作成するフィールドを作成しましたが、個々のレコードではなくレコードのグループで計算したい場合はどうでしょうか。これを行うには、Aggregate Query。
集計クエリ
合計または要約クエリとも呼ばれる集計クエリは、合計、質量、またはグループの詳細です。これは、合計または総額、あるいはレコードのグループまたはサブセットにすることができます。集計クエリは、さまざまな操作を実行できます。これは、レコードのグループを合計する方法のいくつかをリストした簡単な表です。
S.No | 集計関数と説明 |
---|---|
1.1。 | Sum フィールド値を追加します |
2.2。 | Avg フィールド値の平均 |
3.3。 | Min 最小(最小)フィールド値 |
4.4。 | Max 最高(最大)フィールド値 |
5.5。 | Count 値の数(レコード) |
6.6。 | StDev 日付/時刻フィールドを含むフィールド値の標準偏差 |
7。 | Var 日付/時刻を含むフィールド値の差異 |
データベースを開いてクエリデザインに移動し、次のテーブルを含めましょう-
このダイアログボックスを閉じると、次のスクリーンショットのクエリグリッドに示すように、次の2つのフィールドが表示されます。
これは単純なクエリであり、2つのフィールドのみを表示しています— book title そして quantity それを実行すると、データベースに個々の注文がすべて表示されます。
このクエリを実行すると、次の結果が表示されます。
これが本のタイトルが繰り返されている理由です。ここでは、これらの書籍ごとに個別の注文が行われ、数量が異なります。一度だけリストされたその本のタイトルだけの要約を見たいとしましょう。そして、その横に記載されている数量の合計。
デザインビューに移動すると、[デザイン]タブにシグマシンボルが表示されます。これはあなたの合計ボタンです。
シグマシンボルをクリックすると、テーブル行のフィールドの下に別の行が開きます。ここから、このクエリをグループ化する方法を指定できます。
次に、本のタイトルでグループ化し、数量フィールドを合計します。
クリックすると group by areaドロップダウンメニューをさらにクリックすると、すべてのオプションが一覧表示されます。この場合、オプションを選択しますSum 次に、クエリを実行します。
これで、個々の本と、本の名前の横に表示されるすべての個々の注文を確認できます。
Accessでの連結
情報を別々のフィールドに保存して、正規化のプロセスを学びました。姓と名のフィールドを1つのフィールドとして組み合わせるなど、データを一緒に表示または表示したい場合があります。1つ以上の文字列を連結する計算フィールドを作成することにより、その情報を一緒に表示できます。必要に応じて、コンマやピリオドなどの他の文字を追加することもできます。
Accessで連結するには、2つの異なる演算子を使用できます。 ampersand (&) そしてその plus (+) 符号。
アンパサンドは2つの文字列を1つに結合しますが、プラス記号は2つの文字列を結合し、NULL値を伝播します。たとえば、1つの値がNULLの場合、式全体がnullと評価されます。
例
クエリデザインを使用して新しいクエリを作成するプロセスを理解するために、簡単な例を見てみましょう。これは、顧客のテーブルから情報を取得する非常に単純なクエリになります。
ここで追加しましょう tblCustomersテーブルを閉じるダイアログボックスを表示します。いくつかの単純な名前付きフィールドとの連結を試みます。
ここで、名と姓のフィールドを追加して、クエリを実行してみましょう。
ご覧のとおり、姓と名は2つの異なるフィールドに分かれています。
この情報を一緒に表示する必要があります。
に戻る Design View 3番目のフィールドに、という新しいフィールドを作成します full name。次に、フルネームを追加し、これら2つのフィールドを連結する式を入力します。
クエリを実行すると、新しい計算フィールドが表示されます。
これらの2つのフィールドからの情報を連結することはできますが、希望どおりに表示されるとは限りません。それは私たちが要求したように実行しているので、そのテキストのすべてを一緒に実行します。次に、Accessに、これら2つのフィールドの情報の間にスペースを追加するように依頼する必要があります。
ここで、デザインビューに戻り、この式に別のセクションを追加しましょう。
引用符と別のアンパサンドの中にスペースを追加します。これにより、Accessはその名フィールドから情報を取得します。スペースを入れて追加し、最後に姓フィールドの情報を追加します。ここで、クエリを再度実行すると、次の結果が表示されます。
集計クエリは、特定の1つの数値だけを探している場合に最適ですが、スプレッドシートのような要約のような情報を要約したい場合は、クロス集計クエリの試行を検討することをお勧めします。要約データを再構築して読みやすく理解しやすくしたい場合は、Crosstab Query。
クロス集計クエリは、 Select Query。クロス集計クエリを実行すると、結果がデータシートに表示されます。このデータシートは、他のタイプのデータシートとは構造が異なります。
次のスクリーンショットに示すように、クロス集計クエリの構造により、同じデータを表示する単純な選択クエリよりも読みやすくなります。
Accessでクロス集計クエリを作成する最も簡単な方法は、Accessに付属のウィザードを使用してクロス集計クエリを作成することです。次に、クエリグループの[作成]タブに移動し、クエリウィザードをクリックします。
上記のダイアログボックスでは、あらゆる種類の特別なクエリを確認できます。デザインビューからこれまで行ってきたような簡単なクエリウィザードを作成できます。2つ目は、必要なものです。データをコンパクトなスプレッドシートのような形式で表示するクロス集計クエリです。次に、クロス集計クエリを選択して、[OK]をクリックします。
ウィザードの最初の画面では、クロス集計クエリの結果に必要なフィールドが含まれているテーブルまたはクエリを確認するメッセージが表示されます。クリックしてくださいQueries ラジオボタンと選択 qryOrdersInformation —これは、小計、消費税などを含む、以前に作成したものです。をクリックします。 Next。
次に、そのクエリから使用可能なフィールドを調べます。行見出しとして必要なフィールド値を入力するように求められます。さまざまな本のタイトルすべての簡単なリストが必要だとしましょう。次に、本のタイトルフィールドを選択し、選択したフィールド領域に送信して、をクリックします。Next。
上記のダイアログボックスでの質問は、列見出しとして何を使用するかであり、それは実際には何を評価するかによって異なります。あなたが私たちを見たいと思っているとしましょうsales by date、選択 TransactionDate をクリックします Next。
上記のダイアログボックスの質問は、日時列を選択したために以前に選択したフィールドに基づいた特殊な質問です。日時列情報を特定の間隔でグループ化するかどうかを尋ねています。年オプションを選択して、Next。
上記のダイアログ画面の次の質問は、行の交差部分の各列について計算する数値を尋ねます。この場合、選択することで販売された本の数量で行くことができますquantity (QTY) 関数から合計してクリックします Next。
ウィザードの最後の画面で質問があります what do you want to name your query さらに、をクリックします Finish に View that query。
現在、本ごとの情報と、それぞれの売上が発生したときのような総売上に関する情報があります。
データベースは、相互の論理関係を可能にするデータのテーブルのコレクションです。リレーションシップを使用して、共通のフィールドでテーブルを接続します。テーブルは任意の数のリレーションシップの一部にすることができますが、各リレーションシップには常に正確に2つのテーブルがあります。クエリでは、関係は次のように表されます。Join。
結合とは
結合は、データベース内の2つ以上のテーブルのレコードを組み合わせる方法を指定します。概念的には、結合はテーブルの関係と非常によく似ています。実際、結合は、テーブルとの関係を照会することです。
以下は、この章で説明する2つの基本的なタイプの結合です。
- 内部結合
- 外側の結合
どちらも簡単に作成できます queries design view。
内部結合
今理解しましょう Inner Join −
- 最も一般的なタイプの結合は内部結合であり、これはMicrosoftAccessのデフォルトの結合タイプでもあります。
- 内部結合は、両方のテーブルの結合フィールドが等しい行またはレコードのみを表示します。
- この結合タイプは、これらの共通フィールドとそれに含まれるデータを調べます。一致するものだけが表示されます。
アウタージョイン
何を理解しましょう Outer Join は−
- 外部結合は、1つのテーブルのすべての行と、結合されたフィールドが等しい他のテーブルの行またはレコードのみを表示します。
- つまり、外部結合には、一方のテーブルのすべての行と、もう一方のテーブルの対応する行のみが表示されます。
他の結合タイプもあります-
左外部結合と右外部結合
今理解しましょう Left Outer Join そして Right Outer Join −
- すべての行を表示するテーブルを選択できます。
- 最初のテーブルのすべての行を含む左外部結合を作成できます。
- 2番目のテーブルのすべての行を含む右外部結合を作成できます。
さあ、 Create タブをクリックして、からクエリを作成します Design View。選択するtblProjects そして tblTasks 次のスクリーンショットのように、[テーブルの表示]ダイアログボックスを閉じます。
追加します ProjectName からのフィールド tblProjects、および TaskTitle, StartDate そして DueDate から tblTasks テーブル。
クエリを実行してみましょう。
いくつかのプロジェクトのレコードのみを表示しています。これらのプロジェクトのいくつかには、そのプロジェクトに関連する多くのタスクがあり、この情報はProjectID フィールド。
Microsoft Accessでこのクエリを作成すると、Accessは作成した関係からこの関係を取得します。
デフォルトでは、それはとして知られているものを作成しています Inner Join between these two fields、これら2つのテーブル間で、これら2つのテーブルからこの情報を関連付ける方法です。
一致するものだけが表示されているので、このクエリを実行すると、他にも多くのプロジェクトがリストされています。 tblProjects これは、このクエリで設定されたレコードの一部としては表示されません。これは、これら2つのテーブルが、クエリのデフォルトの結合である内部結合を介してどのように結合されるかによるものです。
ただし、関係を変更する場合は、外部結合を作成する、つまり、からのすべてのプロジェクトを表示するとします。 tblProjects、そのテーブルにあるすべてのレコードと、からのすべてのタスク tblTasks—結合プロパティを開きます。これは、リレーションシップラインをダブルクリックするだけで実行できます。
Accessは、[プロパティの結合]ダイアログに左側のテーブル名と右側のテーブル名を表示します。
左側の列名と右側の列名、および最初のラジオボタンは、両方のテーブルの結合フィールドが等しい行のみを含めることです。これは内部結合であり、関係の作成時、結合の作成時にデフォルトで選択されます。クエリ内ですが、変更できます。
他にも2つのオプションがあります。からのすべてのレコードを含めることができますtblProjects、およびからのレコードのみ tblTasks ここで、結合されたフィールドは等しく、これは左外部結合です。
3番目のオプションがあり、tblTasksからのすべてのレコードと、結合されたフィールドが等しく、これがRight OuterJoinであるtblProjectsからのレコードのみを含めます。
これらは、デザインビューから簡単に作成できるさまざまな種類の結合です。2番目のオプションである左外部結合を選択してクリックしますOk。
他のステップを見てみましょう-
関係線を見ると、小さな矢印が ProjectID に tblTasks。このクエリを実行すると、次の結果が表示されます。
ご覧のとおり、関連するタスクがあるかどうかに関係なく、すべてのプロジェクト名が表示されています。また、多数のnullフィールドが表示されます。に関連情報がないため、これはすべて空白になりますtblTasks、これらのフィールドの由来。さあ、Design View もう一度、関係行をダブルクリックします。
[結合プロパティ]ダイアログボックスで、右外部結合用の3番目のオプションを選択し、[ Ok。
今、私たちの関係の線を見てください。小さな矢印がに向かっていることがわかりますProjectID に tblProjects。このクエリを実行すると、次の結果が表示されます。
自己結合
自己結合は、別の種類の結合です。自己結合は、同じテーブル内の一致するフィールドを関連付けます。たとえば、スーパーバイザフィールドを持つ従業員のテーブルを見てください。スーパーバイザフィールドは、同じテーブル内の別のフィールドに格納されている同じ種類の番号、つまり従業員IDを参照しています。
Kaitlin Rasmussenの上司が誰であるかを知りたい場合は、その上司フィールドに保存されている番号を取得し、その従業員IDフィールドのまったく同じテーブル内で調べて、CharityHendricksが上司であることを知る必要があります。
このテーブルは正規化されていないため、リレーショナルデータベースにとって理想的な構造ではありません。
上司の名前と一緒に従業員の名前をリストするだけのクエリを作成したい場合、自己結合を作成しない限り、それをクエリする簡単な方法はありません。
自己結合を表示するには、次のフィールドを使用してテーブルを作成し、いくつかのデータを入力します。
ここでは、従業員の名、次に上司の名前のリストを再度作成します。からクエリを作成しましょうquery design view。
今、追加します tblEmployees テーブル。
このダイアログボックスを閉じます。
次に、従業員の姓名を追加します。
ここで、このテーブルとそれ自体の間に関係を作成する方法が必要です。そのためには、開く必要がありますthe show table dialog box tblEmployeesをもう一度追加します。
このクエリビューに同じテーブルの別のコピーを作成しました。次に、自己結合を作成する必要があります。これを行うには、でスーパーバイザーをクリックしますtblEmployees テーブルを押したままマウスボタンを押したまま、 EmployeeID そのコピーされたテーブルで— tblEmployees_1。次に、コピーしたテーブルから姓と名を追加します。
クエリを実行すると、次の結果が表示されます。
上司の名前と一緒に従業員の名前が表示されます。そして、これがMicrosoftAccessで自己結合を作成する方法です。
このチュートリアルでは、主にデザインビューから、さまざまな選択クエリを作成しました。ただし、Accessでは、いくつかの特別なクエリウィザードを使用して、特定の選択クエリをいくつか作成できます。1つ目は、重複クエリの検索ウィザードです。重複するクエリの検索ウィザードは、単一のテーブルまたはクエリで重複するフィールド値を持つレコードを検索するクエリを作成します。
すでに説明したように、リレーショナルデータベースは重複情報の保存を回避するように設計されています。しかし、その設計にもかかわらず、ユーザーが誤って重複した情報を入力することがあります。
例
顧客のテーブルで、同じ顧客を誤って2回追加する可能性があります。このような場合、顧客の住所は同じですが、顧客IDが異なるため、レポートで問題が発生する可能性があります。この状況では、を利用することができますduplicates query wizard to quickly locate possible duplicate entries。
を含むAccessデータベースを開きましょう tblAuthers テーブルに行き、 Create タブをクリックし、クエリグループで[ query wizard。
次のスクリーンショットが表示されている場合は、4つの異なるウィザードから選択できます。を選択find duplicates query wizard をクリックします Ok。
重複の検索クエリウィザードの最初の画面では、重複の可能性がある検索するテーブルまたはクエリを尋ねられます。著者のテーブルをチェックして、同じ著者が誤って2回入力されていないことを確認するとします。したがって、tblAuthorsを選択して、Next。
ウィザードの2番目の画面では、重複する情報が含まれている可能性のあるフィールドを尋ねられます。
通常、主キーフィールドは使用しません。これも、Accessのフィールドを主キーとして指定すると、Accessでは重複を入力できないためです。
他のフィールドまたはフィールドの組み合わせを調べます。
姓または名と姓で検索するか、住所で検索するか、電話番号や誕生日でより具体的に検索することができます。
名、姓、誕生日で検索してクリックしましょう Next。
このウィザードの次の画面では、クエリに表示するフィールドを尋ねられます。これを行うには、二重矢印を押します。すべてのフィールドが追加のクエリフィールド領域に移動し、クエリ結果に追加されます。
クリックしてみましょう Next。このクエリウィザードの最後の画面に移動します。
次の画面で、クエリにどのように名前を付けるかを入力します。
デフォルトでは、名前が付けられます find duplicates プラスのために whatever the name of the object that you're querying。この場合、tblAuthors、ただし、他の名前を付けてクリックすることもできます finish。
ここで、Accessは重複の可能性を発見しました。これは、同じ誕生日、同じ住所、同じ電話番号で、異なるAuthorIDを持つ著者JoseCalineになります。
これは間違いなく偶然に2回入力されています。これで、すべてのフィールドがクエリに追加されました。レコードを削除するだけです。また、別のテーブルに関連するレコードがないことを確認する必要があります。
次のダイアログボックスのように、任意のレコードを選択して[削除]を選択します。
Accessは、「1つのレコードを削除しようとしています」というプロンプトを表示します。続行する場合は、[はい]をクリックします。
そのウィザードがこのクエリをどのように作成したかを確認したい場合は、デザインビューに移動して、このクエリに何が追加されているかを確認してください。
上のスクリーンショットでわかるように、名フィールドの下にフィールドといくつかの特定の基準があります。
これは、このウィザードがその重複情報を探す方法です。重複を見つけるのがはるかに簡単な方法です。
Accessには、もう1つの非常に便利なウィザードがあります。 Find Unmatched Query Wizard。一致しないクエリの検索ウィザードは、別のテーブルに関連するレコードがない、あるテーブルのレコードまたは行を検索するクエリを作成します。
データがクエリでどのように結合されるか、およびほとんどのクエリが2つ以上のテーブル間の一致をどのように検索するかについてはすでに説明しました。
これはAccessのデフォルトの結合です。たとえば、2つのテーブルを使用してクエリを設計する場合、 tblCustomers そして tblOrders、およびこれら2つのテーブルをCustomerIDで結合すると、このクエリは一致する結果のみを返します。つまり、注文した顧客です。
たとえば、一致するものを表示したくない場合があります。たとえば、データベースに顧客、つまりまだ注文していない顧客を表示したくない場合があります。
- これは、一致しないクエリの検索が行うこととまったく同じです。
この種のクエリには、他にも多くの用途が考えられます。
私たちのデータベースでは、これを使用して、プロジェクトをまだ作成していない作成者を確認したり、健康保険をまだ選択していない従業員を確認したりできます。を含むデータベースを開きましょうCustomers そして Ordersテーブル; [作成]タブに移動し、クエリウィザードボタンをクリックします。
を選択 Find Unmatched Query Wizard をクリックします Ok。
このシナリオでは、注文していない顧客を探します。最初の画面では、クエリ結果に必要なレコードがどのテーブルまたはクエリに含まれているかを尋ねています。
からの顧客のリストが必要です tblCustomers。そのオプションを選択してクリックしますNext。
次の画面で、指定する必要があります which table or query contains the related records。つまり、最初のテーブルと比較するためにどのテーブルを使用していますか。このためには、注文していないものを見つける必要があります。すべての注文に関する情報を含むテーブルを選択する必要があります—tblOrders。次に、をクリックしますNext。
次の画面では、両方のテーブルにある情報を指定する必要があります。
- これは通常、ある種の主キー、外部キー、フィールド、または関係になります。
- データベースに既存の関係がある場合、Accessはそれらのフィールドを選択して照合します。
- ただし、一緒に結合できる他のフィールドがあり、同様の情報が含まれている場合は、ここでもそれを選択できます。
ここでは、「tblCustomers」のフィールドと「tblOrders」のフィールドの両方でデフォルトでCustIDが選択されています。次に、をクリックしますNext。
次の画面で、クエリ結果に表示するフィールドを選択できます。
次に、使用可能なすべてのフィールドを選択して、両方向矢印をクリックします。これはすべてを動かしますavailable fields に selected fields範囲。次に、をクリックしますNext。
最後の画面では、クエリの名前を選択してクリックすることができます Finish。
ここでは、まだ注文していない顧客として1人の顧客がリストされています。
そのクエリがどのように作成されたかを確認することもできます。このためには、に戻る必要がありますDesign View。
このウィザードは、 Outer Join tblCustomerとtblOrdersの間、および Is Null基準はtblORdersからCustIDに追加されます。これは、特定のレコードを除外するためです。この場合、注文したか、tblOrdersに関連情報を持っているのは顧客です。
Accessのフォームは、店舗の陳列ケースのようなもので、必要なアイテムを簡単に表示または取得できます。フォームは、あなたまたは他のユーザーがAccessデスクトップデータベースに保存されているデータを追加、編集、または表示できるオブジェクトであるため、フォームのデザインは重要な側面です。MicrosoftAccessのフォームを使用してデザイン的に実行できることはたくさんあります。2つの基本的なタイプのフォームを作成できます-
- バインドされたフォーム
- バインドされていないフォーム
バインドされたフォーム
何を理解しましょう Bound Forms は−
- バインドされたフォームは、テーブル、クエリ、SQLステートメントなどの基になるデータソースに接続されます。
- バインドされたフォームは、フォームの目的を考えるときに人々が通常考えるものです。
- フォームに記入するか、データベースのデータを入力または編集するために使用します。
- バインドされたフォームの例は、通常、ユーザーがデータベースのデータを入力、表示、または編集するために使用するものです。
バインドされていないフォーム
アンバウンドフォームを調べてみましょう-
- これらのフォームは、基になるレコードまたはデータソースに接続されていません。
- バインドされていないフォームは、ダイアログボックス、スイッチボード、またはナビゲーションフォームです。
- 言い換えると、バインドされていないフォームは通常、データ自体ではなく、データベース全体をナビゲートまたは操作するために使用されます。
バインドされたフォームの種類
Accessで作成できるバインドされたフォームには多くの種類があります。タイプを理解しましょう-
単一アイテムフォーム
これは最も人気のあるものであり、レコードが表示される場所です—一度に1つのレコード。
Multiple Item Form
This displays multiple records at a time from that bound data source.
Split Form
The form is divided into halves, either vertically or horizontally. One half displays a single item or record, and the other half displays a list or provides a datasheet view of multiple records from the underlying data source.
Creating Forms
There are a few methods you can use to create forms in Access. For this, open your Database and go to the Create tab. In the Forms group, in the upper right-hand corner you will see the Form Wizard button.
Click on that button to launch the Form Wizard.
On this first screen in the wizard, you can select fields that you want to display on your form, and you can choose from fields from more than one table or a query.
Let us assume we want to simply have a quick form that we are going to use for data entry for our employee information.
From Tables/Queries drop-down list, select tblEmployees table. Click on the double arrow to move all the fields at once.
Let us just leave it with that one table, and click Next.
The following screen in the Form Wizard will ask for the layout that we would like for our form. We have columnar, tabular, datasheet and justified layouts. We will choose the columnar layout here and then click Next.
In the following screen, we need to give a title for our form. Let us call it frmEmployees.
Once you have given your form a title, you can open the form to see what that form looks like, or you can begin entering information into your table. Or you can choose the option to modify the form's design. Let us choose the first option to open the form to view or enter information and click Finish.
Now, take a look at the following screenshot. This is what your form looks like. This is a single item form, meaning one record is displayed at a time and further down you can see the navigation buttons, which is telling us that this is displaying the record 1 of 9. If you click on that button then, it will move to the next record.
If you want to jump to the very last record in that form or that table, you can use the button right beside that right arrow, the arrow with a line after it, that's the last record button. If you want to add new employee information, go to the end of this records and then after 9 records you will see a blank form where you can begin entering out the new employee's information.
This is one example of how you can create a form using the Form Wizard. Let us now close this form and go to the Create tab. Now we will create a slightly more complicated form using Wizard. Click the Form Wizard and this time, we will choose fields from a couple of different tables.
In this Form Wizard, let us choose tblProjects for Tables/Queries, and select a few Available Fields such as ProjectID, ProjectName, ProjectStart, and ProjectEnd. These fields will now move to Selected Fields.
Now select tblTasks for Tables/Queries and send over the TaskID, ProjectID, TaskTitle, StartDate, DueDate and PercentComplete. Click Next.
Here, we want to retrieve data from a couple of different objects. We can also choose from options on how we want to arrange our form. If we want to create a flat form, we can choose to arrange by tblTasks, which will create that single form, with all the fields laid out in flat view as shown above.
However, if we want to create a hierarchical form based on that one-to-many relationship, we can choose to arrange our data by tblProjects.
In the above window, we have the option to include a subform for tblTasks, or we can make that a linked form. This linked form is where tblProjects will have a button that will launch that second form filtered to the project that we have selected in that underlying projects form. Let us now select the Form with subform(s), and then click Next.
In the following screen, you can choose a layout for your subform. The Datasheet View gets selected by default. The Datasheet View is similar to Table View. Now, click Next.
次の画面で、フォームの名前を入力する必要があります。必要な名前を入力して、Finish。
Accessを使用すると、フォームがどのように表示されるかをプレビューできます。一番上に、メインフォームのコントロールがあります。Projectsテーブル。下に行くと、サブフォームが表示されます。フォーム内のフォームのようなものです。
複数アイテムフォーム
特定の種類のフォームを作成することもできます。このために、あなたはクリックすることができますMore Forms ドロップダウンメニュー。
メニューから、を作成することができます Multiple Items フォーム、 Datasheet フォーム、 Split フォーム、または Modal Dialog形。これらは通常、バインドされた形式です。そのフォームにバインドするオブジェクトを選択します。これは、モーダルダイアログフォームには適用されません。
このタイプのフォームを作成するには、最初にナビゲーションペインでオブジェクトを選択する必要があります。選択しましょうtblEmployees ここに。
をクリックして続行します More Forms そして Multiple Items。
上記の手順では、さらに複数アイテムフォームを作成し、すべての従業員を一覧表示します。
分割フォーム
このタイプのフォームは、垂直方向または水平方向に均等に分割されます。半分は単一のアイテムまたはレコードを表示し、残りの半分は基になるデータソースからの複数のレコードのリストまたはデータシートビューを表示します。
選択しましょう tblEmployees ナビゲーションペインで、次に Createタブ。選択するSplit Form [その他のフォーム]メニューのオプションを選択すると、フォームが垂直に分割された次のフォームが表示されます。
簡単なデータ入力フォームを作成するいくつかの方法を学びました。フォームはデータ入力のプロセスを容易にしますが、これらはあなたが望む他の目的を果たさないかもしれません。彼らはあなたが意図したものに対してキャッチーまたはユーザーフレンドリーではないかもしれません。
- フォームを作成するときに最初に行うことは、コントロールのサイズを変更するか、コントロールを移動することです。
- コントロールを追加したり、コントロールを削除したりする必要がある場合もあります。
ここで、フォームを簡単に変更する方法について説明します。
コントロール
これは、データを表示したり、アクションを実行したり、線などの装飾に使用されるアイテムを実行したりするフォームまたはレポート上のオブジェクトを説明するために使用される一般的な用語にすぎません。言い換えると、コントロールとは、フォームまたはレポートに配置されるほぼすべてのものです。
以下はコントロールと見なすことができます-
- ラベルなどのオブジェクト。
- 式を追加、編集、または計算するために使用できる、バインドされていないテキストボックスまたはバインドされたテキストボックス。
- 次のようなアクションを実行するコマンドボタン Save, Open 電子メールまたは Print これらのボタンは、コントロールとも呼ばれます。
- これは、フォームまたはレポート上のオブジェクトの総称です。
ここでは、フォームを表示可能にするさまざまな側面を見て、フォームを編集および変更する方法を理解します。ここで、すべての従業員を一覧表示する複数アイテムフォームを開きます。tnlEmployees。
従業員のリストを見ることができますが、実際には非常にユーザーフレンドリーなリストのようには見えません。私たちのコントロールは特大です。それらは大きすぎて間隔が空いていて、非常に便利なリストビューを提供しません。
このフォームのコントロールの外観を編集するには、2つのフォームビューを使用できます。[ホーム]タブで、View 落ちる。
レイアウトビューまたはデザインビューがあり、これらのビューの両方を使用してフォームを編集します。フォームビューはデフォルトで開きます。これは、基になるデータソースを操作または編集するために使用するビューです。
フォーム自体の外観を編集するには、最初にレイアウトビューに移動する必要があります。
レイアウトビューに切り替えると、一連のコンテキストタブが表示されます。
アクセスの上部に、マークされた領域が表示されます Form Layout Tools [デザイン]タブ、[配置]タブ、[フォーマット]タブの3つのタブがあり、これらのタブにはそれぞれ、フォームの外観や外観をフォーマットするためのさまざまなオプションがあります。
マウスを使用してこれらのコントロールのいずれかをクリックすると、Accessがそのフォームの特定の領域を強調表示し、その領域内のすべてのコントロールが明るいオレンジ色で表示され、選択した実際のコントロールはより暗い色で表示されます。前のもの、またはクリックした場所の周りに濃いオレンジ色の境界線があります。
ここで、マウスをクリックしてドラッグし、その1つのコントロールの高さまたは幅、あるいはその両方のサイズを変更することで、コントロールのサイズを変更できます。
この特定のフォームでは、単一のコントロールのサイズを変更すると、フォーム上の残りのコントロールのサイズも変更されます。これは、これらのコントロールがどのようにグループ化されているかによるものです。ここで、マウスのクリックアンドドラッグ機能を使用して、すべてのフィールドを希望どおりに調整しましょう。
これは、このレイアウトビューからフォーム内のコントロールの高さと幅を編集する簡単な方法の1つです。
テーマ
Accessでは、組み込みのテーマ、色、フォントスタイルを使用してフォームをフォーマットし、塗りつぶしの色をカスタマイズし、代替行に陰影を付ける基本的な方法がいくつかあります。開いてみましょうfrmEmployees。
Accessが作成するフォームは、単純明快です。上部に青いバーがあり、背景は白いです。
これらのフォームを他にどのようにスタイル設定できるかを知りたい場合は、デザインビューまたはレイアウトビューに移動して、[テーマ]領域の[デザイン]タブにあるオプションのいくつかを調べることができます。
テーマのドロップダウンギャラリーをクリックすると、事前に作成された多くのテーマを試してみることができます。それらのいずれかにマウスを合わせると、色やフォントサイズ、実際に使用されているフォントなどの変更のプレビューが表示されます。特定のスタイルを適用するには、マウスをクリックするだけで、そのスタイルがどのように表示されるかを確認できます。
テーマは気に入っているが色を変更したい場合は、[デザイン]タブの[テーマ]グループに戻り、好きな色を選択して色を調整できます。会社の色に合わせてカスタムカラーを作成することもできます。
同様に、一連のフォントスタイルから選択することもできます。Office Suiteにあらかじめ組み込まれている多くのフォントから1つを選択するか、それらのフォントをカスタマイズして、特定の見出しフォント、本文フォントを選択し、そのフォントグループのカスタム名を作成して保存することもできます。
に戻りましょう frmEmployees。このフォームでは、すべての交互の行が薄い灰色でシェーディングされていることがわかります。
書式設定オプションは、 Alternate Row Color 複数の形式で調整したい場合は、 Design View。
その詳細セクションを選択し、[フォーマット]タブに移動すると、背景グループに次のオプションが表示されます。 Alternate Row Color。代替行の色を変更できます。それがどのように見えるかを確認するには、フォームビューまたはレイアウトビューに移動します。
シェーディングがまったく必要ない場合は、次を選択できます No Color あなたのように Alternate Row Color これは、以前のバージョンのAccessの従来の外観です。
Accessには、データベース内のさまざまなフォームとレポートを簡単に切り替えることができるナビゲーションコントロールが含まれています。ナビゲーションフォームは、ナビゲーションコントロールを含む単なるフォームです。ナビゲーションフォームは、デスクトップデータベースへの優れた追加機能です。
Microsoft Accessは、ユーザーがデータベースをナビゲートする方法を制御するためのいくつかの機能を提供します。
すでにナビゲーションペインを使用して、フォーム、クエリ、テーブルなど、作成したすべてのAccessオブジェクトをナビゲートしました。
独自のナビゲーション構造を作成し、ユーザーが本当に必要な特定のオブジェクトを簡単に見つけられるようにする場合は、ナビゲーションフォームを作成できます。これは、ユーザーがフォームやレポートを使用または表示できるように、ナビゲーションコントロールを使用するフォームです。そのメインナビゲーションフォーム内から直接。
例
ここで、ナビゲーションフォームを作成する簡単な例を見てみましょう。これを行うには、[作成]タブに移動します。[フォーム]グループに、このナビゲーションドロップダウンメニューが表示されます。
このメニューには、このナビゲーションフォームに埋め込みたいフォームとレポートを配置する方法のさまざまなレイアウトが表示されます。
1つは水平タブ、もう1つは垂直タブです。すべてのタブが左に配置され、垂直タブのレイアウトではすべてのタブが右に配置されます。
2つのレベルがある水平タブレイアウトがあるので、上部に表示したいオブジェクトがたくさんある場合は、これを利用できます。
水平タブと垂直タブの両方が左または右に配置されているものを使用できます。
次の例では、水平タブと垂直タブを使用します。そのレイアウトまたはそのナビゲーションフォームを作成するには、それをクリックするだけで、Accessは、ナビゲーションコントロールを備えたバインドされていないフォームを作成します。
このナビゲーションフォームにオブジェクトを追加するには、レイアウトビューを使用して、オブジェクトを表示する場所にドラッグアンドドロップするのが最も簡単な方法です。
ドラッグしてみましょう frmProjects ナビゲーションペインからフォームを作成し、上部の[新規追加]にドロップします。
同様に、ドラッグ frmAuthers ナビゲーションペインからフォームを作成し、[新規追加]ボタンの左側にドロップします。
次に、次のようなプロジェクトに関連する他のフォームを追加しましょう。 frmSubTasks, frmCurrentProjects 等
次に、上部にタブを追加しましょう。最初に追加しますfrmEmployees 形。
これで、他のプロジェクトボタンが左から消えたことがわかります。これは、それらが[プロジェクト]タブに接続されているためです。左側に表示されているすべてのボタンは、上部で選択したものにリンクされています。[従業員]タブを選択した状態で、従業員関連の情報を左にドラッグしましょう。
これで、一方のタブにプロジェクト情報、もう一方のタブに従業員情報が表示されます。同様に、要件に応じてタブを追加できます。タブの名前が適切でないことがわかるので、これらのタブのいくつかの名前を変更して、より使いやすくします。最も簡単な方法は、左側のタブまたはボタンをダブルクリックして、次のスクリーンショットに示すように名前を変更することです。
任意の形式でデータを入力する場合、入力する値を覚えておくよりも、リストから値を選択する方がすばやく簡単です。選択肢のリストは、フィールドに入力された値が適切であることを確認するのにも役立ちます。リストコントロールは、既存のデータに接続することも、コントロールの作成時に入力した固定値を表示することもできます。この章では、Accessでコンボボックスを作成する方法について説明します。
コンボボックス
コンボボックスは、ユーザーが選択できる値のドロップダウンリストを含むオブジェクトまたはコントロールです。
- コンボボックスコントロールは、選択肢のリストを表示するためのよりコンパクトな方法を提供します。
- ドロップダウン矢印をクリックするまで、リストは非表示になります。
- コンボボックスを使用すると、リストにない値を入力することもできます。
- このように、コンボボックスコントロールは、テキストボックスとリストボックスの機能を組み合わせたものです。
例
ここで、コンボボックスを作成する簡単な例を見てみましょう。次のスクリーンショットに示すように、従業員用のフォームを作成しました。
電話タイプはどちらかである必要があることがわかっているので、電話タイプのコンボボックスを作成します。 Home, Cell または Work。この情報はドロップダウンリストに表示されているはずであり、ユーザーはこの情報を入力する必要はありません。
さあ、 Design Viewこのフォームの場合。を選択Phone Type フィールドに移動し、削除を押します。
[電話の種類]フィールドを削除したら、[デザイン]タブに移動します。
選択しましょう Use Control Wizards 次のスクリーンショットに示すように、[コントロール]メニューから[オプション]を選択し、メニューから[コンボボックスコントロール]を選択します。
次に、必要な場所にコンボボックスを描画します。マウスを離すと、[コンボボックスウィザード]ダイアログボックスが表示されます。
ここでは、データのさまざまなオプションがあります。2番目のオプションを選択してみましょう。ここで、値を追加して[次へ]をクリックします。
ドロップダウンリストに表示する値を入力し、をクリックします Next。
クリック Next 再び。
入力します label コンボボックスの場合は、 Finish。
コンボボックスが作成されていることがわかりますが、他のフィールドに配置されていません。最初にすべてのフィールドを選択してから、[配置]タブに移動します。
左側に、 Stackedオプション。このボタンをクリックします。
これで、フィールドが整列していることがわかります。
各フィールドのサイズを同じにするために、さまざまなオプションがあります。[サイズ/スペース]ボタンをクリックしてみましょう。
ドロップダウンリストから、をクリックします To Shortest。
今すぐに行きます Form 見る。
ユーザーは、電話タイプの任意のオプションを簡単に選択できるようになりました。
この章では、SQLビューについて説明します。クエリデザインでクエリを作成するたびに、Accessは自動的にSQLクエリを作成します。これは実際にテーブルからデータを取得します。クエリデザインでクエリを作成するときにSQLでクエリがどのように作成されるかを確認するには、データベースを開きます。
を選択 Query Design から Create タブを追加し、 tblEmployees テーブル。
クエリ結果として表示するフィールドを選択して、クエリを実行します。
これで、すべての従業員情報をクエリ結果として表示できます。クエリグリッドで特定のフィールドを選択しました。同時に、MS Accessは、クエリグリッドから取得した結果を使用してSQLクエリも作成しました。
SQLを表示するには、[ホーム]タブに移動します。選択するSQL View [表示]メニューから、クエリのSQLが表示されます。
例
以下は、進行中のプロジェクトを確認する別の例です。
クエリを実行してみましょう。
SQLを表示するには、[表示]メニューから[SQLビュー]を選択します。
Accessによって自動的に生成されるSQLクエリを確認できます。これは、2つのテーブルからデータを取得するのに役立ちます。
Accessで特に便利なフォーマットツールの1つは、適用する機能です。 Conditional Formatting特定のデータを強調表示します。条件付き書式の簡単な例を見てみましょう。
例
この例では、フォームを使用します fSubCurrentProjects 私たちのデータベースで。
このデータベースにはすべてのプロジェクトのリストがあり、次のような新しいフィールドもいくつかあります。 On Time Status そしてその Number of Late Tasks。このフォームは別のクエリから作成されます。
このクエリでは、テーブルとクエリの間に結合があり、期日の数や、期限切れのタスクがあるプロジェクトの数が表示されます。ここには、IF関数を使用して、期日のカウントがゼロより大きいかどうかを判別する計算フィールドもあります。次に、単語が表示されますLate プロジェクトが遅れている場合、または On Time その特定のプロジェクトに期限切れのタスクがない場合。
例1
この例では、上記のフォームを使用して、条件付き書式を使用して特定の情報を強調表示する方法を理解します。ここで、現在遅れて実行されているすべてのプロジェクトに焦点を当てます。条件付き書式を1つのフィールドまたは複数のフィールドに適用するには、レイアウトビューに切り替える必要があります。
次に、 On Time Status フィールド。
次に、[フォーマット]タブに移動します。
その[フォーマット]タブに、[コントロールフォーマット]というグループと条件付きフォーマット用の特別なボタンが表示されます。条件付き書式をクリックしてみましょう。
これで、Conditional Formatting Rules Managerが表示されますが、現在、このコントロールに適用されるルールはありません。[新しいルール]ボタンをクリックして、新しいルールを作成しましょう。
[新しい書式設定ルール]ダイアログボックスが表示されます。まず、作成するルールのタイプを指定します。ここでは、2つのオプションがあります。最初のオプションはcheck the values in the current record or to use an expression、および2番目のオプションは compare this record with the other records。
これで、フォームに2つの値のうちの1つしかありません。時間通りまたは遅延という単語のいずれかであり、それは指定されたクエリからのものです。ここで、「Field Value Is最初のコンボボックスから」を選択し、「equal to」は2番目のコンボボックスから。ここで、「Late」を引用符で囲みます。
これで、条件付き書式を設定できます。このフィールドを単語の場合にどのように表示するかを設定します。 Lateそのフィールドにが表示されます。フォントの色を赤に変えてみましょうbold, italic そして underline、そしてそれが私たちの条件付きルールです。クリックしてみましょうOk 次にクリックします Apply、および Ok 再び。
あなたはその言葉を見ることができます Lateがフォーマットされました。これは、非常に基本的な条件付きフォーマットルールを作成する方法の一例です。
例2
別の例を見てみましょう。ここでは、プロジェクトのタイトルまたは名前を作成しますred そして bold, italic そして underline。フォームでプロジェクト名コントロールを選択します。
次に、[フォーマット]タブに戻り、[条件付きフォーマット]をクリックして、上のスクリーンショットに示すように、その特定のコントロールの新しいルールを作成します。
ここでは、選択した現在のフィールドの値をチェックしませんが、このフォームの別のフィールドと照合します。選択するExpression Is 最初のコンボボックスで、上のスクリーンショットのように最後にある…ボタンをクリックします。
式のカテゴリには、このフォームにあるすべてのオブジェクトがあります。をダブルクリックしますCountofDueDate。これにより、そのコントロールまたはそのフィールドへの参照が、ゼロより大きい場合は式ビルダーと条件に送信されます。次に、[OK]をクリックします。
[OK]をクリックしてから、[適用]と[OK]をもう一度クリックします。
これは、別のフィールドの値に基づくフィールドの条件付き書式の例でした。
例3
次に、条件付き書式の別の例を見てみましょう。どのプロジェクトが他の遅いプロジェクトよりも遅れているか、タスクが遅れているかを確認したいとします。条件付き書式オプションを選択します。
[新しいルール]ボタンをクリックして新しいルールを作成し、上のスクリーンショットのように[OK]をクリックします。
新しいフォーマットルールでは、ルールタイプを選択します。Compare to other records」。さらに変更しましょうBar color to red。最短のバーが最小値を表し、最長のバーが最大値を表すようにします。[OK]をクリックしてから、[適用]と[OK]をもう一度クリックします。
これで、上のスクリーンショットのように適用された条件付きシェーディングを確認できます。フォームビューに移動しましょう。
この章では、 Controls and PropertiesAccessで利用できます。また、フォームにコントロールを追加する方法についても学習します。コントロールは、フォームまたはレポートの一部であり、enter, edit, または displayデータ。コントロールを使用すると、データベースアプリケーションのデータを表示および操作できます。
最も頻繁に使用されるコントロールはテキストボックスですが、他のコントロールには、コマンドボタン、ラベル、チェックボックス、およびサブフォーム/サブレポートコントロールが含まれます。
作成できるコントロールにはさまざまな種類とタイプがありますが、それらはすべて、バインドされているかバインドされていないかの2つのカテゴリのいずれかに分類されます。
バインドされたコントロール
バインドされたコントロールとは何かを理解しましょう-
- バインドされたコントロールは、フィールドやテーブル、クエリなど、データベース内の特定のデータソースに関連付けられているコントロールです。
- 値は、テキスト、日付、数値、チェックボックス、画像、またはグラフのいずれかです。
- バインドされたコントロールを使用して、データベースのフィールドから取得した値を表示します。
アンバウンドコントロール
アンバウンドコントロールとは何かを理解しましょう-
- 一方、バインドされていないコントロールはデータソースに関連付けられておらず、フォーム自体にのみ存在します。
- これらは、テキスト、画像、または線や長方形などの形状にすることができます。
コントロールタイプ
Accessでさまざまな種類のコントロールを作成できます。ここでは、テキストボックス、ラベル、ボタンタブコントロールなど、いくつかの一般的なものについて説明します。
テキストボックス
通常、テキストボックス内にあるものはすべてバインドされますが、常にバインドされるとは限りません。
これらのコントロールを使用して、データベースに保存されているデータを操作できますが、バインドされていないテキストボックスを使用することもできます。
計算されたコントロールは、ユーザーが記述した式に基づいて何らかの計算を実行し、そのデータはデータベースのどこにも保存されません。
それはその場で計算され、その1つのフォームだけで生きます。
ラベル
- ラベルは常にテキストでバインドされていません。
- 通常、ラベルはデータベース内のどのソースにも接続されていません。
- ラベルは、テキストボックスなど、フォーム上の他のコントロールにラベルを付けるために使用されます。
ボタン
- これは別のタイプの一般的なコントロールです。これらのコマンドボタンは通常、マクロまたはモジュールを実行します。
- ボタンは通常、データベース内のデータまたはオブジェクトを操作するために使用されます。
タブコントロール
- タブコントロールは、フォーム内のコントロールまたはその他のコントロールのタブ付きビューを提供します。
- フォームにタブを追加すると、特にフォームに多くのコントロールが含まれている場合に、フォームをより整理して使いやすくすることができます。
- 関連するコントロールをタブコントロールの別々のページに配置することで、煩雑さを軽減し、データの操作を容易にすることができます。
ハイパーリンク
ハイパーリンクは、フォーム上に他の何かへのハイパーリンクを作成します。これは、Webページ、またはデータベース内の別のオブジェクトまたは場所のいずれかです。
他のいくつかのコントロール
他のいくつかのコントロールを見てみましょう-
Webブラウザーコントロールとナビゲーションコントロール、グループ、改ページ、コンボボックスを作成することもできます。
グラフ、線、トグルボタン、リストボックス、長方形、チェックボックス、バインドされていないオブジェクトフレーム、添付ファイル、オプションボタン、サブフォームとサブレポート、バインドされたオブジェクトフレームを作成し、フォームに画像を配置することもできます。
例
ここで、新しい空白のフォームを作成して、これらのコントロールのいくつかの簡単な例を見てみましょう。に移動しますCreate のタブ forms グループ化してクリックします Blank Form。
上記の手順では、データベース内のどのアイテムにもまだ添付されていないバインドされていないフォームが開きます。
デフォルトでは、上のスクリーンショットに示すように、レイアウトビューで開きます。
次に、デザインビューに移動してフィールドを追加しましょう。
[デザイン]タブで、プロパティシートをクリックします。
プロパティシートで、ドロップダウン矢印をクリックし、[フォーム]が選択されていることを確認してから、[データ]タブに移動します。
[データ]タブで、レコードソースが空白のままであることがわかります。データベース内の2つの異なるテーブルに関連付けられるフォームを作成するとします。次に…ボタンをクリックします。さらに、独自のクエリビルダーを開きます。
表示するデータを含むテーブルを選択します。[追加]ボタンをクリックして、このダイアログボックスを閉じます。
ここで、tblEmployeesからすべてのフィールドを選択し、クエリグリッドにドラッグして、同様にtblHRDataからすべてのフィールドを追加しましょう。
次に、[名前を付けて保存]をクリックして、このクエリに名前を付けます。
それを呼ぼう qryEmployeesData をクリックします Ok 次に、クエリビルダーを閉じます。
これで、クエリがレコードソースとして表示されます。これで、このフォームをデータベース内のオブジェクト(この場合はqryEmployeesData)にバインドしました。これで、このフォームにいくつかのコントロールを追加することから始め、コントロールのいずれかを追加するには、[デザイン]タブに移動し、コントロールグループからオプションを表示します。
[コントロール]メニューから、上のスクリーンショットのように[コントロールの使用]ウィザードが強調表示されていることがわかります。この小さなボタンには、デフォルトでその周りに強調表示されたボックスがあります。これは、コントロールウィザードがオンになっていることを意味します。これはトグルスイッチのようなものです。トグルスイッチをクリックすると、ウィザードがオフになります。もう一度クリックすると、ウィザードがオンになります。
次に、ラベルをクリックしてこのラベルをドラッグし、従業員情報を入力してから、[フォーマット]タブに移動して、次のスクリーンショットのようにフォーマットします。
太字のスタイルを適用するか、そのラベル内のテキストのフォントサイズを変更するかなどを選択できます。このコントロールは、フォームの詳細セクション内に表示されます。このラベルを、まだ表示されていないフォームヘッダーセクション内に配置する方が理にかなっています。
そのフォームの背景の任意の場所を右クリックして、 Form Header 上のスクリーンショットのように。
このコントロールをフォームヘッダー領域に移動します。次に、[デザイン]タブから他のいくつかのコントロールを作成しましょう。この時点で、すべてのフィールドを2つの異なるタブに分散させたいとしましょう。
コントロールメニューから、フォームにタブを作成するタブコントロールを確認できます。タブコントロールをクリックして、上のスクリーンショットのように詳細セクションのフォームに描画します。
上のスクリーンショットのように、2ページと3ページの2つのタブが作成されます。
このタブコントロールにいくつかのコントロールを追加することから始めましょう。
基になるクエリに保存されている情報を表示する場合は、 Add Existing Fields [ツール]グループのリボンのオプションを使用して、基になるクエリから使用可能なすべてのフィールドを表示します。
既存のフィールドをページに表示するには、次のスクリーンショットのように、フィールドリストで使用可能なすべてのフィールドを選択します。
次に、次のスクリーンショットのように、フィールドをタブコントロールのPage2にドラッグします。
次に、[配置]タブに移動し、 Stacked レイアウト。
2ページ目で、このクエリの残りのフィールドを追加しましょう。
これらのコントロールのサイズと幅を確認して調整し、好みの外観にすることができます。
フォーマットが完了したら、をクリックします。 Save As アイコンをクリックして、希望の名前でフォームを保存します。
[OK]をクリックし、[フォーム]ビューに移動して、そのフォームのすべての情報を表示します。
タブコントロールは、コントロールまたはフィールドを2つの画面に分割して、情報の表示と追加を容易にします。
この章では、レポートの基本とレポートの作成方法について説明します。レポートは、Microsoft Accessデータベースの情報を表示、フォーマット、および要約する方法を提供します。たとえば、すべての連絡先の電話番号の簡単なレポートを作成できます。
レポートは、テーブルまたはクエリから取得された情報と、ラベル、見出し、グラフィックなど、レポートデザインとともに保存された情報で構成されます。
基になるデータを提供するテーブルまたはクエリは、レポートのレコードソースとも呼ばれます。
含めるフィールドがすべて1つのテーブルに存在する場合は、そのテーブルをレコードソースとして使用します。
フィールドが複数のテーブルに含まれている場合は、レコードソースとして1つ以上のクエリを使用する必要があります。
例
ここで、非常に単純なレポートを作成するプロセスを理解するための簡単な例を取り上げます。このためには、[作成]タブに移動する必要があります。
[レポート]ボタンをクリックして基本的なレポートを作成する前に、適切なクエリが選択されていることを確認してください。この場合、qryCurrentProjectsナビゲーションペインでが選択されています。次に、[レポート]ボタンをクリックします。これにより、そのクエリに基づいてレポートが生成されます。
レポートがレイアウトビューで開いていることがわかります。これにより、レポートに表示されるフィールドのサイズまたは幅をすばやく調整できます。ここで、列の幅を調整して、すべてがより適切に収まるようにします。
下にスクロールして、下部のページコントロールを調整します。
これは、非常に単純なレポートを作成するための非常に迅速な方法でした。レポートのデザインビューから小さな変更や調整を行うこともできます。
- フォームと同様に、レポートはさまざまなセクションで構成されています。
- 詳細セクションがあり、ここにすべてのデータがほとんど存在します。
- また、ページヘッダーとページフッターのセクションも表示されます。これらは、レポートのすべてのページの上部と下部に表示されます。
レポートのタイトルを変更して、別の名前を付けましょう。
保存アイコンをクリックして、レポートを保存します。
上記のダイアログボックスが表示されます。
レポートの名前を入力し、[OK]をクリックします。このレポートが実際にどのように表示されるかを確認する場合は、[印刷プレビュー]で[表示]ボタンに戻り、[印刷プレビュー]をクリックして、紙またはPDFとして印刷したときにこのレポートがどのように表示されるかを確認できます。
右下隅のツールを使用して、ズームインまたはズームアウトできます。また、[印刷プレビュー]タブには、印刷プレビューに切り替えると自動的に表示されるボタンがいくつかあります。ズームセクションには、1ページ、2ページのビューがあります。または、より長いレポートがある場合は、一度に4ページ、8ページ、または12ページを表示できます。また、印刷に使用する用紙のサイズ、レポートの余白、向き、列数、ページ設定などの簡単な調整も可能です。これにより、非常にすばやく作成できます。 [作成]タブの[レポート]ボタンを使用した簡単なレポート。
レポートデザインを使用してレポートを作成する
レポートデザインは、Accessでクイックレポートを作成するためのもう1つの方法です。このためには、フォームデザインボタンに似たレポートデザインビューボタンを使用する必要があります。これにより、空白のレポートが作成され、デザインビューで直接開かれるため、コントロールソースを変更したり、レポートのデザインビューにフィールドを直接追加したりできます。
次に、[作成]タブに移動し、[レポートデザイン]ボタンをクリックします。
空白のレポートまたはバインドされていないレポートが開きます。つまり、このレポートはデータベース内の他のオブジェクトに接続されていません。
[ツール]グループの[デザイン]タブで、プロパティシートを選択します。これにより、プロパティペインが開きます。
次のスクリーンショットのように、[データ]タブで、このレポートにレコードソースを割り当てて、データベースオブジェクトに接続します。
選択する qryLateProjects ドロップダウンから、次のステップは、[デザイン]タブの[既存のフィールドの追加]リストボタンをクリックして、このレポートにいくつかのフィールドを追加することです。
上のスクリーンショットのようにフィールドを選択します。
上のスクリーンショットのように、レポートするフィールドをドラッグします。[配置]タブに移動すると、[テーブル]グループでいくつかのオプションから選択できます。
積み上げレイアウトと表計算レイアウトがあります。これは、スプレッドシートに非常によく似たレイアウトです。表形式のレイアウトを選択しましょう。
すべてのラベルがページヘッダー領域まで移動していることがわかります。これらのラベルはすべてのページの上部に1回だけ表示され、データクエリは[詳細]セクションのすべてのレコードに対して繰り返されます。これで、ProjectNameフィールドを広くするために、いくつかの調整を行うことができます。
上のスクリーンショットでわかるように、詳細セクションとページフッターの間には多くのスペースがあります。
次のスクリーンショットのように、ページフッターを上にドラッグしてスペースを減らしましょう。次に、[デザイン]タブに移動し、[表示]ボタンをクリックして、[レポートビュー]を選択します。
これで、一部のプロジェクト名が完全ではないことがわかります。これは、デザインビューで調整することも、レイアウトビューを使用して調整することもできます。
これが、デザインビューから簡単なレポートを作成する方法です。
この章では、レポートのフォーマット方法を学習します。レポートの書式設定とフォームの書式設定には多くの類似点がありますが、レポートに固有のツールとトリックがいくつかあります。ここで、レポートセクションとグループ化の概念を見てみましょう。
このためには、前の章で作成したレポートを開く必要があります。ここでは、この情報の一部がレポートにどのように表示されるかを確認します。
ここでは、レポートセクションとグループ化から始めます。
次に、このレポートのデザインビューに移動します。
見るべきものはそれほど多くなく、ここではページヘッダー、詳細セクション、およびページフッターのみが表示されていることがわかります。非常に簡単にいくつかのセクションを追加できます。
そのレポートの任意の場所を右クリックすると、ページヘッダー/フッターとレポートヘッダー/フッターが表示されます。この特定のレポートには、そのレポートヘッダー/フッターが表示されていません。そのオプションを選択して、レポートビューに戻りましょう。
レポートの最上部に小さな色付きの領域が追加されていることがわかります。デザインビューで、ページヘッダーの仕切りの上部にマウスを置き、クリックして下にドラッグし、その領域を展開します。これにより、レポートヘッダーに領域が追加されます。
レポートビューでは、次のスクリーンショットのように、レポートの最上部にさらに多くの領域が表示されます。
レポートヘッダーとフッターのコントロールは、そのレポートの最初のページの上部に表示されます。レポートフッターは、レポートの下部にある最後のページに表示される内容を制御します。
レポートヘッダーとフッターは、ページヘッダーとページフッターとは異なります。ページヘッダーに配置されているものはすべて、すべてのページの上部に表示されます。同様に、ページフッターに配置されたものはすべて、すべてのページの下部で繰り返されます。
これで、グループ化レベルを追加できます。そのためには、グループの並べ替えと総面積がオンになっていることを確認する必要があります。
次のスクリーンショットに示すように、[デザイン]タブの[グループ化と合計]セクションで、[グループ化と並べ替え]ボタンをクリックすると、下部に[グループ化、並べ替え、合計]領域が開きます。
これで、レポートにある任意のコントロールにグループまたはグループを追加できます。次に、[グループの追加]をクリックします。
上のスクリーンショットでは、プロジェクト名、タスクタイトル、期日、完了率を含むレポートの基になるコントロールソースを確認できます。ここで、遅れたすべてのタスクをプロジェクトごとにグループ化するとします。リストから[プロジェクト名]を選択します。
これで、追加のグループ化レベルが表示されます ProjectName Header詳細セクションの上。遅れている個々のタスクの横にプロジェクト名が表示される代わりに、このコントロールをこのプロジェクト名ヘッダーに移動できるようになりました。選択して、を押すことができますCtrl + X キーボードでその詳細セクションからそれを切り取り、そのプロジェクト名ヘッダーの背景の任意の場所をクリックしてから、を押します。 Ctrl + V そのコントロールをそのプロジェクト名ヘッダーに貼り付けます。
これで、レポートビューに移動して、次のスクリーンショットのように、レポート内の項目をグループ化するために行われた調整を確認できます。
すべてのプロジェクトには、独自のライン上に独自の小さなレベルがあり、その領域の下に、上記のプロジェクトに遅れているすべてのタスクが表示されます。これが変更されたので、レイアウトビューでレポートの書式設定を開始できます。
プロジェクト名を大きくしたい場合は、下の行をドラッグして、[フォーマット]タブでフォントサイズを20に変更します。
コントロールの幅を増やして、ページの幅全体をカバーすることができます。
コントロールの周囲の境界線を削除するには、次のスクリーンショットのように、[フォーマット]タブの[形状のアウトライン]をクリックします。
を選択 Transparent オプション。
次のスクリーンショットのように、デザインビューに移動しましょう。
次のスクリーンショットのように、ページの左側にあるタスクのタイトルを調整します。
ここで、ページヘッダーセクションからのデータを取得しましょう。 ProjectName ヘッダーセクションを使用 Ctrl+X そして Ctrl+V。
レポートビューに戻りましょう。これで、ラベルが説明するコントロールの真上に表示されることがわかります。
気付いた場合は、タスクと次のプロジェクト名の間にスペースがないことがわかります。間に追加のスペースが必要です。そのために、追加する必要がありますProjectName Footer。
次に、デザインビューに移動します。
[グループ、並べ替え、合計]領域で、プロジェクト名の横にある[その他]ボタンをクリックします。
次のスクリーンショットのように、プロジェクト名でグループ化および並べ替える方法のすべてのオプションが表示されます。
ここに、というプロパティがあります Without a Footer Section。単語の横にある小さな矢印をクリックして、そのオプションを変更しましょうWithout a Footer Section。
に変更します With a Footer Section。
上のスクリーンショットでわかるように、[詳細]セクションの下に[ProjectNameフッター]セクションが追加されています。これは、そのプロジェクト名グループのフッターとして機能します。
レポートビューに戻りましょう。
[詳細]セクションと[プロジェクト名]領域の両方で交互の領域の陰影や背景の外観を削除するには、再度デザインビューに移動します。
最初に詳細分割をクリックして[詳細]セクションを変更してから、[プロパティ]シートを開きます。
[フォーマット]タブで、 Alternate Back Color に No Color 次のスクリーンショットのように。
同様に、ProjectNameヘッダーとProjectNameフッターの両方で、代替の背面の色を色なしに変更し、レポートビューに移動します。
これで、レポートがどのように表示されるかを確認できます。データがページごとにどのように印刷されるかを確認するには、印刷プレビューに移動します。
印刷するとこんな感じになります。
この章では、組み込み関数を使用します。Accessには、100近くの組み込み関数があり、それらすべてを網羅することはほとんど不可能です。この章では、基本的な構造、構文について説明し、より一般的な関数のいくつかと落とし穴を使用して、他の関数のいくつかを自分で探索できるようにします。
関数
関数は、タスクまたは計算を実行し、結果を返すVBAプロシージャです。関数は通常、クエリで使用できますが、関数を使用できる場所は他にもあります。
テーブルプロパティで関数を使用できます。たとえば、日付/時刻フィールドにデフォルト値を指定する場合は、日付またはを使用できます。 Now システムから現在の日付/時刻情報を呼び出し、その値を自動的に入力する機能。
計算フィールドを作成するときに式で関数を使用したり、フォームまたはレポートコントロール内で関数を使用したりすることもできます。マクロ引数でも関数を使用できます。
関数は非常に単純で、他の情報を呼び出す必要がない場合もあれば、テーブルまたはクエリから1つのフィールドを参照する場合もあります。
一方、複数の引数、フィールド参照、さらには別の関数内にネストされた他の関数など、非常に複雑になる可能性もあります。
次に、組み込み関数の使用例をいくつか見てみましょう。
日付と時刻の関数
日付と時刻の関数を理解しましょう-
Date()関数は、現在のシステム日付を返すように設計されています。この関数は、関数の引数や追加情報を必要としません。あなたがしなければならないのは、関数の名前とそれらの開き括弧と閉じ括弧を書くことだけです。
2つの非常によく似た組み込み関数Time()とNow()があります。
Time()関数は現在のシステム時刻のみを返し、Now()関数は現在のシステム日付と時刻の両方を返します。
追跡、保存、またはクエリするデータに応じて、そのタスクを支援する3つの組み込みの使いやすい関数があります。
データベースを開き、クエリデザインを使用して新しいクエリを作成し、tblProjectsとtblTasksを追加しましょう。
tblProjectsとTaskTitleからProjectNameを追加し、tblTasksからStartDateとDueDateを追加して、クエリを実行します。
これで、すべてのプロジェクトのさまざまなタスクをすべて表示できます。今日の日付で進行中のプロジェクトタスクを表示する場合は、を使用して基準を指定する必要があります。Date() 今日の日付以降に開始するプロジェクトを確認する機能。
ここで、StartDateの下に基準を指定しましょう。
基準は演算子で始まります greater than symbol、続いて equal to symbol その後 Date Function。
このクエリを実行すると、次のスクリーンショットのように、すべてのタスクが今日または将来のいずれかに発生します。
これは、Date()関数をクエリ条件として使用する方法の例です。
ここで、このクエリは、今週から取得する日付に関して、より柔軟である必要があるとしましょう。
今週開始されたいくつかの異なるタスクがありますが、基準のため、この現在のリストには表示されていません。今日と同じかそれ以上の開始日を見ています。
今週開始されたタスク、まだ完了していないタスク、または今日完了する予定のタスクを表示する場合は、デザインビューに戻ります。
ここでは、これらの基準にいくつかの追加情報を追加します。実際、今日の日付から7日を引いた値以上にする必要があります。
マイナス7を入力してクエリを実行すると、今週開始されたタスクも表示されます。
DateDiff()関数
DateDiff()関数は、もう1つの非常に人気のある日付/時刻関数です。DateDiff関数は、指定された2つの日付間の時間間隔の数を指定するバリアント(long)を返します。つまり、2つの日付の差を計算し、関数がその差を計算する間隔を選択できます。
ここで、著者の年齢を計算したいとしましょう。このために、最初に新しいクエリを作成して作成者テーブルを追加し、次にFirstName、LastName、およびBirthDayフィールドを追加する必要があります。
生年月日または誕生日と今日の日付との差を計算することで、人々の年齢を計算できます。
新しいフィールドでDateDiff関数を使用してみましょう。
それをAgeの後にコロンと呼び、DateDiff関数を記述します。
- DateDiff関数の最初の関数引数は間隔なので、「yyyy」と入力します。
- 次の関数の引数は、計算する最初の日付です。この場合は、Birthdayフィールドになります。
- 3番目の関数の引数は、今日の日付です。
ここでクエリを実行すると、各作成者の年齢を示す新しいフィールドが表示されます。
Format()関数
Format()関数は、フォーマット式に含まれる命令に従ってフォーマットされた式を含む文字列を返します。Format()関数で使用できるユーザー定義形式のリストは次のとおりです。
設定 | 説明 |
---|---|
yyyy | 年 |
q | 四半期 |
m | 月 |
y | 曜日 |
d | 日 |
w | 平日 |
ww | 週間 |
h | 時間 |
n | 分 |
s | 2番目 |
クエリに戻り、Format()関数を使用して同じフィールドにフィールドを追加しましょう。
フォーマット関数を入力します。最初の関数の引数は式になりますが、これはほとんど何でもかまいません。最初に誕生日フィールドを設定し、次はフォーマットを記述します。この場合、月、月、日、日が必要です。「mmdd」を引用符で囲んでから、クエリを実行します。
現在、誕生日フィールドから日付を取得しています。4は月、17は日です。
次のスクリーンショットのように、次のフィールドに「mmdd」の代わりに「mmm」と「mmmm」を追加しましょう。
クエリを実行すると、次のスクリーンショットのような結果が表示されます。
次のフィールドでは、その誕生日の月の名前から最初の3文字が返され、最後のフィールドでは完全な月の名前が返されます。
次のスクリーンショットに示すように、月とそれに続く誕生日の年を表示するには、「yyyy」を追加します。
クエリをもう一度実行してみましょう。
月、コンマ、年が表示されます。
IIf()関数
IIf()関数は「ImmediateIf」の省略形であり、この関数は式をtrueまたはfalseとして評価し、それぞれの値を返します。最大3つの関数引数があり、すべてが必須です。
- 最初の引数は、評価する式です。
- 次の引数は真の部分を表します。これは、最初の式が真の場合に返される値または式にすることができます。
- 最後の引数は、式がfalseの場合に返されるものです。
例
簡単な例を見てみましょう。クエリデザインを使用して新しいクエリを作成し、tblAuthorsテーブルを追加してから、次のフィールドを追加します。
これで、FirstName、MiddleInitial、LastNameの3つのフィールドと、3つのフィールドすべてをまとめるこの連結フィールドがあることがわかります。クエリを実行して、このクエリの結果を確認しましょう。
これで、クエリの結果を確認できますが、一部のレコードにミドルネームのイニシャルがないことにも気付くでしょう。たとえば、Joyce Dyerレコードにはミドルネームのイニシャルはありませんが、[FullName]フィールドには、実際にそこにある必要のない期間が表示されます。したがって、デザインビューに戻ります。ここでは、IIf関数を使用して別の方法で名前を連結します。
別のフィールドに名前を入力してFullName1と呼び、IIf関数を入力してみましょう。
ImmediateIf関数の最初の関数引数が式になります。式では、中央の初期フィールドが空白であるかnullであるかを確認します。
次の議論は本当の部分です。したがって、ミドルネームのイニシャルがnullの場合は、FirstNameとLastNameを表示する必要があります。
ここで、誤った部分について— MiddleInitialがnullでない場合は、FirstName、MiddleInitial、およびLastNameを表示する必要があります。
クエリを実行すると、次のスクリーンショットのような結果が表示されます。
この章では、Accessのマクロの基本について説明します。マクロは、タスクを自動化し、フォーム、レポート、およびコントロールに機能を追加できるようにするツールです。
Accessのマクロは、基本的に一連のキーストロークを記録して後で再生するWordやExcelのマクロとは少し異なります。
Accessマクロは、事前定義された一連のアクションから構築されているため、一般的なタスクを自動化し、コントロールまたはオブジェクトに機能を追加できます。
マクロは、ナビゲーションペインから表示できるスタンドアロンオブジェクトにすることも、フォームまたはレポートに直接埋め込むこともできます。テーブル、フォーム、レポートなどのデータベースオブジェクトを作成すると、マクロを使用すると、これらすべてのオブジェクトをすばやく簡単に結び付けて、比較的少ないトレーニングで誰でも使用または変更できるシンプルなデータベースアプリケーションを作成できます。
マクロは、VBAコードを記述したり、知ったりすることなくコマンドを実行する方法を提供します。マクロだけで達成できることはたくさんあります。
マクロの作成
コマンドボタンがクリックされたときにフォームを開く非常に単純なマクロの作成から始めましょう。このために、2つのタブを作成したデータベースとfrmEmployeeDataフォームを開く必要があります。
このフォームでは、ユーザーがすべての求人情報を開くことができるボタンを追加できます。
次に、このフォームのデザインビューに移動し、[コントロール]メニューからボタンを追加します。マウスを離すと、[コマンドボタンウィザード]ダイアログボックスが表示されます。
そのマクロアクションを作成する方法はいくつかありますが、最も簡単な方法は、コマンドボタンウィザードを使用することです。
フォームを開くなどの一般的なアクションについては、[カテゴリ]リストから[フォーム操作]を選択し、[アクション]リストから[フォームを開く]を選択して、上のスクリーンショットのように[次へ]をクリックします。
コマンドボタンで開くフォームを指定する必要があります。今のところ、選択しましょうfrmJobs をクリックします Next。
この画面には2つのオプションがあります。 open the form and display a very specific record、またはできます open the form and show all the records。2番目のオプションを選択し、上のスクリーンショットのように[次へ]をクリックします。
コマンドボタン自体に画像を表示させることも、[テキストの表示]を選択することもできます。ここでは、「ジョブの表示」というテキストを表示して、「次へ」をクリックします。
これで、上のスクリーンショットのように、コマンドボタンに意味のある名前を付けることができます。これは、他のコードまたは他のマクロで使用できます。これを呼ぼうcmdViewJobs をクリックします Finish。
次に、フォームビューに移動します。
フォームに[ジョブの表示]ボタンが表示されます。それをクリックしましょう。
これでフォームが開きましたが、情報は表示されません。frmEmployeeDataフォームのデザインビューに戻りましょう。コマンドボタンが選択されていることを確認し、プロパティシートの[イベント]タブをクリックします。
クリックすると、ウィザードによって作成された埋め込みマクロが表示されます。このマクロを変更する場合は、[…]ボタンをクリックして、ウィザードによって生成されたマクロを開きます。
これはマクロデザイナであり、右側にアクションカタログが表示されます。これは、すべてのアクションがフォルダーに存在する場所です。データ入力オプション、データのインポート/エクスポートなどがあり、メインエリアの左側に別のマクロがあります。これには1つのアクションのみが含まれ、その1つのアクションをクリックすると、その特定のアクションの他のプロパティを表示できます。
フォーム名が表示され、そのドロップダウン矢印を押して、データベースで使用可能なフォームを表示できます。そのフォームの表示方法を変更したり、フォームビュー、デザインビュー、印刷プレビューを自由に開いたりすることができます。フィルタ名またはWhere条件を適用できます。ここでは、frmJobsが新しいレコードの追加のみを許可する追加モードに設定されているため、データモードを変更します。編集モードに変更することで、このマクロでこれをオーバーライドできます。
ここでマクロを保存し、マクロデザイナを閉じてフォームビューに戻ります。
もう一度[ジョブの表示]をクリックしてみましょう。
これで、frmJobsフォームが開き、データベースで使用可能なすべてのジョブをスクロールできることがわかります。
この章では、Accessでのデータのインポートと、Accessを使用してインポートできるデータの種類について説明します。通常、データはさまざまな形式、ファイル、場所で保存されるため、取得して使用するのは困難です。スプレッドシート、SharePointリスト、またはその他の形式のデータがある場合は、わずか数ステップでAccessデータベースにインポートできるため、Accessで簡単に利用できるようになります。
[名前を付けて保存]コマンドは通常、ドキュメントを別の形式で保存して、別のプログラムで開くことができるようにするために使用されます。
Accessでは、[名前を付けて保存]コマンドを同じように使用することはできません。Accessオブジェクトを他のAccessオブジェクトとして保存することはできますが、Accessデータベースをスプレッドシートファイルとして保存することはできません。
Accessをスプレッドシートファイルとして保存するには、[外部データ]タブのインポート機能を使用する必要があります。
さまざまなタイプのデータアクセスでインポートできます
Accessデータにインポートできるデータの種類を理解するには、データベースを開いて[外部データ]タブに移動します。
import&Linkグループでは、Accessでのデータインポートに使用できるさまざまな種類のオプションを確認できます。以下は、最も一般的に使用されるデータインポート形式です。
- Microsoft Office Excel
- Microsoft Office Access
- ODBCデータベース(たとえば、SQL Server)
- テキストファイル(区切りまたは固定幅)
- XMLファイル
例
Excelファイルからデータをインポートする簡単な例を見てみましょう。これがAccessファイルのデータです。
Accessにデータをインポートするには、最初にAccessデータベースを開き、次のスクリーンショットのように[外部データ]タブに移動する必要があります。
[インポートとリンク]グループに、Excelオプションが表示されます。そのオプションをクリックしてみましょう。
データのインポート元のExcelファイルを参照すると、データを保存するためのさまざまなオプションがあります。最初のオプションを選択して、[OK]をクリックします。
ここに、データのプレビューが表示されます。次に、[次へ]をクリックします。
プレビューで、最初の行に列見出しが含まれていることがわかります。チェックボックスをオンにして、[次へ]をクリックします。
各列/フィールドのデータ型を設定できるダイアログボックスが表示されます。フィールドをインポートしない場合は、[フィールドをインポートしない]チェックボックスをオンにします。FirstNameフィールドの使用が完了したら、MiddleInitialフィールドをクリックするだけです。
ここで、すべてのフィールドに目を通し、[次へ]をクリックします。
主キーのさまざまなオプションは次のとおりです。最初のオプションを選択して、[次へ]をクリックします。
最後のダイアログボックスで、選択したテーブル名を入力して、[完了]をクリックできます。
これらの手順をすべて保存する場合は、チェックボックスをオンにしてダイアログボックスを閉じます。
次に、ナビゲーションペインに移動します。ここに新しいテーブルが追加され、新しく追加されたテーブルを開くと、Accessにすべてのデータが表示されます。
例
次に、Accessデータベースからデータをインポートする別の例を見てみましょう。もう一度[外部]タブに移動しましょう。
[インポートとリンク]グループで、[アクセス]オプションをクリックします。
データのインポート元のAccessデータベースを参照し、[テーブル、クエリ、フォームなどのインポート]という最初のオプションを選択します。次に、[OK]をクリックします。
上記のダイアログボックスには、テーブル、クエリ、フォームなどのさまざまなタブが表示され、そこからインポートするデータの種類を選択できます。
に行きましょう Reportsタブを押して、インポートするレポートを選択します。をクリックしてすべてのデータを選択することもできますSelect Allボタン。選択しましょうProjects をクリックします Ok。
次に、ダイアログボックスを閉じます。ナビゲーションペインに、新しいレポートが追加されていることがわかります。このレポートを開くと、そのレポートのすべてのデータが表示されます。
この章では、Accessからデータをエクスポートする方法を理解します。データのエクスポートは、実際にはデータのインポートの反対です。データのインポートでは、Accessで他の形式からデータを取得し、エクスポートでは、他の形式でデータを保存します。
Accessデータからエクスポートできるデータの種類を理解するには、データベースを開いて[外部データ]タブに移動します。
[エクスポート]グループでは、Accessからのデータエクスポートに使用できるさまざまな種類のオプションを確認できます。以下は、最も一般的に使用されるデータエクスポート形式です-
- Microsoft Office Excel
- Microsoft Office Access
- ODBCデータベース(たとえば、SQL Server)
- テキストファイル(区切りまたは固定幅)
- XMLファイル
例
Accessからのデータエクスポートの簡単な例を見てみましょう。データのエクスポート元のデータベースを開きます。ナビゲーションペインで、データのエクスポート元のオブジェクトを選択します。
テーブル、クエリ、フォーム、レポートオブジェクトなどからデータをエクスポートできます。qryAllProjectsを選択してから、[外部データ]タブに移動します。
[外部データ]タブで、エクスポート先のデータの種類をクリックします。たとえば、Microsoft Excelで開くことができる形式でデータをエクスポートするには、[Excel]をクリックします。
Accessはエクスポートウィザードを開始します。ウィザードでは、宛先ファイル名やフォーマット、フォーマットを含めるかどうか、エクスポートするレコードのレイアウトなどの情報を設定できます。必要な情報を入力したら、[OK]をクリックします。
ウィザードのこの画面で、Accessは通常、エクスポート操作の詳細を保存するかどうかを尋ねてきます。同じ操作を繰り返し実行する必要があると思われる場合は、Save export steps チェックボックスをオンにして、ダイアログボックスを閉じます。
次のExcelファイルが開きます。
ここで、データをテキストファイルにエクスポートするとします。[外部データ]タブで、[テキストファイル]をクリックします。
エクスポートオプションを指定して、[OK]をクリックします。[エンコード]ダイアログボックスが表示されます。このダイアログボックスでは、データをデフォルトのエンコードでエクスポートします。
最初のオプションを選択して、[OK]をクリックします。
ウィザードのこの画面で、Accessは通常、エクスポート操作の詳細を保存するかどうかを尋ねてきます。同じ操作を繰り返し実行する必要があると思われる場合は、Save export steps チェックボックスをオンにして、ダイアログボックスを閉じます。
これで、テキストファイルが開いていることがわかります。
同様に、他のオプションも検討できます。したがって、他のインポート/エクスポート機能も試してみることを強くお勧めします。