Microsoft Outlook 2007 または Microsoft Outlook 2010 で Microsoft Access 2007 または Access 2010 を使用して、電子メールを使って情報を収集または更新することができます。 Access では、データ収集フォームの作成、および電子メールメッセージでのフォームの送信について説明します。 電子メールの受信者が、入力したフォームを返信した場合、収集されたデータを自動的に処理し、指定した Access データベースに保存することができます。 このデータ収集方法では、コピーと貼り付け、または手動によるデータ入力プロセスに関連する時間と労力を節約できます。 次に、このプロセスを使用してデータを収集できるいくつかのシナリオを示します。
アンケート 最初に、結果を保存するために必要なテーブルを含む Access データベースを作成し、ウィザードを使用してアンケートフォームを作成し、アンケートの参加者にメールを送信することで、アンケートを行って結果をコンパイルできます。 参加者が返信すると、アンケートデータはデータベースに自動的に保存されます。
進捗レポート 最新のインベントリレベルの状態であっても、保留中の問題について最新の情報であるかにかかわらず、チームは、現在の情報を含むメールメッセージを定期的に送信することによって、常に通知を受け取ることができます。
イベント管理 会議やトレーニングなどのイベントを開催する場合は、1つまたは複数のフォームを電子メールメッセージとして送信して、連絡先情報、旅行、ホテルの設定などを収集できます。 返信を自動的に処理するように選択した場合、参加者は通知なしでいつでも設定を変更できます。また、意思決定のために最新のデータにいつでもアクセスできます。
この記事では、このプロセスを使用するために必要なものについて説明します。ウィザードの使用を開始する方法について説明し、ウィザードを実行するときに最も多くの情報を選択できるように、さまざまな手順に関する追加情報を提供します。
注: 受信者がデータ収集フォームを送信するために Hotmail または Yahoo を使用している場合、収集されたデータを追加することはできません。
準備
電子メールメッセージを使用して初めてデータを収集する場合は、次の手順を実行します。
-
コンピューターに次のアプリケーションがインストールされていることを確認します。
-
Access 2007 または Access 2010。
-
Outlook 2007 または Outlook 2010。 電子メールメッセージの送信に使用するコンピューターに Outlook をインストールして構成する必要があります。 Outlook がインストールされていてまだ構成されていない場合は、Outlook を起動して、Outlook スタートアップウィザードの指示に従います。 ウィザードのヘルプについては、「Outlook のヘルプ」を参照してください。
-
InfoPath フォームの使用を計画している場合は、InfoPath 2007 以降のエディションがインストールされていることを確認してください。また、受信者もコンピューターに InfoPath をインストールする必要があります。
-
電子メールの受信者には、フォームを表示して編集できるようにするために、コンピューターにインストールされている HTML 形式をサポートしている InfoPath またはメールクライアントが必要です。
電子メールメッセージを使ってデータを収集するために使用されるフォームは、Access のフォームではありません。 ウィザードでは、特殊なフォームが HTML 形式または InfoPath 形式で生成されます。
インポート先のデータベースを指定します。 データベースは、.mdb 形式または .accdb 形式のどちらでもかまいません。 さらに、.mde ファイルと .accde ファイルもサポートされます。 既存のデータベースを使用しない場合は、新しいデータベースを作成する必要があります。
-
-
電子メールの返信のデータを格納するテーブルを特定または作成します。 既存のテーブルのデータを収集する場合は、テーブルが読み取り専用でないことと、その内容を追加または更新するのに必要な権限を持っていることを確認します。
注: 添付ファイル、オートナンバー、OLE、および複数値を持つフィールドの種類を電子メールメッセージで収集することはできません。
データ収集操作で2つ以上のテーブルを入力する場合は、選択クエリを作成し、それをフォームのレコードソースとして使用する必要があります。 クエリに、基になるテーブルのすべての必須フィールドが含まれていることを確認します。 既存のクエリを使用している場合は、クエリが読み取り専用でないことと、コンテンツを追加または更新するのに必要な権限を持っていることを確認します。 2つ以上のテーブルに基づいてクエリを作成する方法の詳細については、「クエリの概要」を参照してください。
次のような場合は、新しいレコードとしてデータを保存します。
-
データに複数のテーブルが設定されている場合。
-
インポート先のテーブルに主キーフィールドがない場合。 各返信を既存のレコードに対応付けるには、主キーの値が必要です。 インポート先のテーブルに主キーフィールドがない場合は、これで追加するか、または一意の値を持つ既存のフィールドを主キーとして割り当てます。
-
インポート先のテーブルにレコードがない場合。 テーブルが空の場合、ウィザードはレコードを追加することを前提としています。
-
受信者のメールアドレスがデータベースのフィールドとして保存されていない場合。 データを収集してレコードを更新するときに、ウィザードで生成されたメッセージでアドレスを手動で入力することはできません。 [アドレス] フィールドは、エクスポート先のテーブル、または追加先テーブルとのリレーションシップが設定されているテーブルに存在する必要があります。
作業の開始
-
収集したデータが保存されるデータベースを開きます。
-
1つのテーブルにデータを追加するには、ナビゲーションウィンドウでテーブルを選択します。 複数の関連テーブルを設定するには、これらのテーブルにバインドされているクエリを選択します。
-
ウィザードを開始するには、次のいずれかの操作を行います。
-
[外部データ] タブの [データの収集] グループで、[電子メールの作成] をクリックします。
-
テーブルまたはクエリを右クリックし、[電子メールによるデータの収集と更新] をクリックします。
注: テーブルにフィールドが含まれていない場合、またはオートナンバー型、OLE オブジェクト型、添付ファイル型、または複数値を持つルックアップフィールドを使用している場合は、次のメッセージが表示されます。選択したテーブルまたはクエリには、電子メールによるデータの収集をサポートするフィールドがありません。
-
テーブルにデータの収集をサポートするフィールドが含まれている場合、ウィザードが開始されます。 インポート先のテーブルがデータの追加と更新の両方をサポートしている場合、ウィザードでは、電子メールメッセージでデータを収集するために必要な手順を実行します。
以下のセクションでは、次の7つの主な手順を実行して、質問の参照として使用することができます。
送信するデータ入力フォームの種類を選択する
自分と受信者の使いやすさに基づいて、フォームの種類を選択します。
HTML 形式を選ぶ Html フォームは、メールクライアントで HTML をサポートしているすべてのユーザーが表示および編集できます。
Microsoft InfoPath フォームを選ぶ このオプションは、InfoPath がコンピューターにインストールされている場合にのみ表示されます。 このオプションは、すべての受信者のコンピューターに InfoPath と Outlook がインストールされている場合にのみ選択します。 InfoPath フォームは、より優れたデータ入力と編集環境を提供します。
次に表示されるウィザードのページは、ターゲットオブジェクトがデータの更新をサポートしているかどうかによって異なります。 オブジェクトが2つ以上のテーブルを基にしたクエリの場合、または主キーフィールドがないかレコードが含まれていない場合、ウィザードでは、新しいレコードを追加することを前提としており、フォームフィールドを選択するように求められます。 それ以外の場合は、フォームフィールドを選択する前に、データを追加または更新するかどうかを指定するようにウィザードによって求められます。
新しいデータを収集するか、既存のデータを更新するかを選択する
データに対して実行する操作を指定します。 使用しているフォームの種類は、受信者が1つの返信で送信できる新規レコードの数に影響します。 データを更新すると、受信者が更新する必要があるレコードの数によって、メッセージに含まれる、事前に完了したフォームの数が識別されます。
注: 新しいレコードを追加するには、メッセージの作成時に電子メールメッセージの [アドレス] ボックスにメールアドレスを入力します。 既存のデータを更新するには、受信者のメールアドレスが、基になるテーブルまたはクエリ、または関連テーブルにフィールドとして保存されている必要があります。
収集するデータを指定する
フォームに含めるフィールドを選択するときは、フォームの基になるテーブルまたはクエリに存在するすべてのフィールドを含める必要はありません。 ただし、次の条件が満たされている必要があります。
-
必須フィールド: アスタリスク (*) 記号が付いたフィールドは必須フィールドです。 新規レコードを収集している場合は、必須プロパティが[はい]に設定されているすべてのフィールドがウィザードによって自動的に追加されます。 いずれかのレコードの必須フィールドが空白の場合、Access ではテーブルへのレコードの追加が失敗します。
-
サポートされていないフィールドの種類: たとえば、オートナンバー、添付ファイル、OLE オブジェクト、複数値を持つルックアップフィールドなど、特定の種類のフィールドをフォームに含めることはできません。
-
主キーフィールド: ただし、ユーザーはレコードを追加するときに、フィールドに値を入力することができます。指定した値が既に使用されている場合、返信は処理されません。
注: 含まれているフィールドごとに、[フィールドプロパティ] でラベルを指定し、ユーザーがそのフィールドのデータを変更しないようにする場合は [読み取り専用] をクリックします。
自動または手動のデータ処理を指定する
返信の自動または手動処理を選ぶことができます。 自動処理は、返信を受信したときに、Outlook と Access で共同作業して、データベースの追加先テーブルにデータをエクスポートすることを意味します。 自動処理により、時間と労力を節約できます。 手動処理は、エクスポート操作を開始して、Outlook の指定したフォルダーからデータを Access のインポート先テーブルに転送することを意味します。
返信がメールボックスに到着したときに、次の条件が満たされていれば、返信先テーブルに正常にエクスポートされます。
-
Outlook はコンピューターで既に実行されている必要があります。 Outlook が実行されていない場合、次回 Outlook を起動したときに処理が開始されます。
-
アクセスはパスワードで保護することはできません。排他モードで開かないでください。 メールメッセージの送信後、データベースの名前または場所が変更されていない。
-
テーブルとクエリの名前、およびフォームに含まれるフィールドのプロパティは、メールメッセージの送信後に変更されていない必要があります。
-
基になるテーブルとクエリの内容を追加または更新するために必要な権限を持っている必要があります。
注: 自動処理に失敗した場合は、問題を修正して、失敗した返信を手動でエクスポートしてください。 問題を解決した後に受信トレイに到達した返信は、引き続き自動的に処理されます。
プロパティを設定して返信の自動処理を制御する
返信が保存されている別の Outlook フォルダーを指定するには、ウィザードの [返信の処理方法を指定してください] ページで、フォルダー名をクリックします。 [フォルダーの選択] ダイアログボックスで、別のフォルダーを選ぶか、[新規作成] をクリックして新しいフォルダーを作成します。
[プロパティの設定] をクリックして、インポート設定を変更または微調整するには、次の表を参照してください。
オプション |
結果 |
---|---|
メッセージを送信していないユーザーからの返信を破棄する |
メッセージの元の受信者によって送信された返信だけが自動的に処理されるようにする場合は、このチェックボックスをオンにします。 他のユーザーからの返信は、移動先フォルダーに保存されますが、自動的には処理されません。 |
各受信者からの複数の返信を承諾する |
各受信者からの最初の返信のみを自動的に処理する場合は、このチェックボックスをオンにします。 2番目以降の返信は、移動先フォルダーに保存されますが、自動的には処理されません。 注: この設定は、1つの返信内のレコード数ではなく、返信の数のみを制御します。 つまり、InfoPath フォームを送信した場合、ユーザーは1つの返信で複数のレコードを送信することができ、このチェックボックスがオフの場合でも、Access は返信内のすべてのレコードを自動的に処理します。 |
既存のデータの更新のみを許可する |
受信者が InfoPath フォームを使用してデータを更新すると、既存のレコードの更新に加えて、新しいレコードも送信されます。 既存のレコードの更新のみを処理する場合は、このチェックボックスをオンにします。 |
処理される返信の数 |
自動的に処理する返信の合計数を (すべての受信者から) 入力します。 すべての返信を自動的に処理する場合は、テキストボックスに5000などの大きな値を入力します。 指定した値に到達した後に受信した返信は、移動先フォルダーに保存されますが、自動的には処理されません。 |
停止する日付と時刻 |
このメールメッセージの返信の自動処理を停止するタイミングを指定します。 この日付と時刻の後に受信した返信は、送信先フォルダーに保存されますが、自動的に処理されません。 |
後でこれらのオプションを変更するには、[外部データ] タブの [データの収集] で [返信の管理] をクリックします。 [データ収集メッセージの管理] ダイアログボックスで、設定を変更するメッセージを選び、[メッセージのオプション] をクリックします。 ダイアログボックスで行った変更は、そのメッセージに対して受信した後続のすべての返信に影響します。
手動での返信の処理
どのような返信を処理するかを制御するには、[自動処理] オプションを選択しないでください。 返信は、フォルダー内の各返信を選択して右クリックし、ショートカットメニューの [ Microsoft access にデータをエクスポート] をクリックするまで、Outlook の指定したフォルダーに保存されます。
場合によっては、自動的に処理されなかった返信を手動で処理することが必要になる場合もあります。
データをエクスポートする前に、次の点に注意してください。
-
Access データベースは、排他モードで開かれていない必要があります。また、メールメッセージの送信後にデータベースの名前または場所が変更されていない必要があります。
-
テーブルとクエリの名前、およびフォームに含まれるフィールドのプロパティは、メールメッセージの送信後に変更されていない必要があります。
-
基になるテーブルとクエリの内容を追加または更新するために必要な権限を持っている必要があります。
受信者の電子メールアドレスを指定する方法を選択します。
新しい情報のみを収集する場合は、次の2つの方法で電子メールアドレスを指定できます。
-
Outlook の電子メールメッセージに個別に電子メールアドレスを入力するか、アドレス帳からアドレスを選びます。
-
現在の Access データベースのテーブルまたはクエリで、[電子メールアドレス] フィールドを使用します。
注: データを収集して既存のレコードを更新する場合は、このダイアログボックスは表示されません。受信者のメールアドレスはデータベースのフィールドとして使用できるようにする必要があるためです。
Outlook で電子メールアドレスを直接入力する
Outlook で受信者を指定している場合は、メッセージを送信する前に、プレビューしてカスタマイズすることができます。 電子メールメッセージの本文には、簡単な紹介とフォームが含まれています。 フォームに変更を加えないことをお勧めします。 フォーム構造を変更すると、返信が処理されない場合があります。
データベースのフィールドに保存されている電子メールアドレスを使用する
関連付けられたテーブルを選ぶオプションは、関連するテーブルを参照します。 データベースのテーブルリレーションシップを表示または編集するには、[データベースツール] を使用します。 タブの [リレーションシップ] グループで [リレーションシップ] をクリックします。
リレーションシップの詳細については、「テーブルのリレーションシップの概要」を参照してください。
受信者の一覧を確認して指定する
最後の主要な手順では、電子メールメッセージのプレビューとカスタマイズ、受信者リストの微調整、データ収集メッセージの送信などを行います。
電子メールメッセージを作成して送信する
メールメッセージを作成できることがウィザードに表示されたら、[返信の管理] コマンドを使用して電子メールの状態を表示する方法を示すメッセージが表示されることがあります。 次の表では、各警告とそれを解決するために実行できる操作について説明します。
警告 メッセージ |
説明 |
S olution |
---|---|---|
一部のレコードには、指定した電子メールアドレスフィールドに有効なアドレスが含まれていません。 これらの行に対してデータは返されません。 |
選択した [電子メールアドレス] フィールドに null 値が含まれています。 |
すべてのレコードのデータを収集する場合は、ウィザードを終了して、null 値を電子メールアドレスに置き換えます。 次に、ウィザードをもう一度開始します。 |
現在、データベースの排他ロックが設定されています。自動処理はロックが解除されるまで失敗します。 |
現在、データベースが排他モードで開かれています。 |
返信を自動的に処理するように選択した場合は、排他ロックが設定されたデータベースを Access で追加または更新できないため、処理が失敗します。 メッセージの送信直後に非排他モードでデータベースを閉じてもう一度開く |
これらの電子メールメッセージには、機密性の高いデータが含まれている可能性があります。 |
データを収集して既存のレコードを更新していますが、送信しようとしているフォームは、既存のデータで事前に入力されています。 |
一部のフォームフィールドに機密データが含まれている場合は、フィールドを選択したウィザードステップに戻り、フォームから機密データを含むフィールドを削除します。 |
メッセージをプレビューしてカスタマイズしたら、[電子メールアドレス] フィールドにフィルターを適用して、受信者を選択できます。 対応するチェックボックスをオンにして、使用する電子メールアドレスを選びます。 無効なメールアドレスを一覧表示するダイアログボックスが表示された場合は、リスト内のアドレスをメモして、[終了] をクリックします。 無効なアドレスを確認し、必要な修正を行ってから、メッセージを再送信してみます。