注: Access 2016以降のデータ収集の詳細については、「インポート、エクスポート、SQL Server」を参照してください。
Microsoft Access 2007 または Access 2010 と Microsoft Outlook 2007 または Microsoft Outlook 2010を使用して、電子メールを使用して情報を収集または更新できます。 データ収集フォームを作成し、電子メール メッセージでフォームを送信する方法について説明します。 電子メールの受信者が完了したフォームを返す場合は、収集されたデータを自動的に処理し、指定された 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 ファイルがサポートされています。 既存のデータベースを使用しない場合は、新しいデータベースを作成する必要があります。
-
-
電子メールの返信からのデータを入力するテーブルを特定または作成します。 既存のテーブルのデータを収集する場合は、テーブルが読み取り専用ではなく、その内容を追加または更新するために必要なアクセス許可があることを確認します。
注: 添付ファイル、AutoNumber、OLE、および複数値フィールドの種類は、電子メール メッセージを使用して収集できません
データ収集操作で 2 つ以上のテーブルが設定される場合は、選択クエリを作成し、フォームのレコード ソースとして使用する必要があります。 クエリに、基になるテーブルのすべての必須フィールドが含まれていることを確認します。 既存のクエリを使用している場合は、クエリが読み取り専用ではなく、その内容に追加または更新するために必要なアクセス許可があることを確認します。 2 つ以上のテーブルに基づくクエリの作成の詳細については、 クエリの概要に関する記事を参照してください。
次の状況では、データを新しいレコードとして格納します。
-
データが複数のテーブルに設定される場合。
-
変換先テーブルに主キー フィールドがない場合。 各応答を既存のレコードにマップするには、主キー値が必要です。 変換先テーブルに主キー フィールドがない場合は、ここで追加するか、一意の値を持つ既存のフィールドを主キーとして割り当てます。
-
変換先テーブルにレコードがない場合。 テーブルが空の場合、ウィザードはレコードを追加することを前提としています。
-
受信者の電子メール アドレスがデータベースのフィールドとして格納されていない場合。 データを収集してレコードを更新する場合、ウィザードで生成されたメッセージにアドレスを手動で入力することはできません。 アドレス フィールドは、宛先テーブル内、または宛先テーブルとのリレーションシップを持つテーブル内にある必要があります。
開始する
-
収集されたデータが格納されるデータベースを開きます。
-
1 つのテーブルにデータを追加するには、ナビゲーション ウィンドウでテーブルを選択します。 複数の関連テーブルを設定するには、これらのテーブルにバインドされているクエリを選択します。
-
ウィザードを開始するには、次のいずれかの操作を行います。
-
[ 外部データ ] タブの [ データの収集 ] グループで、[ 電子メールの作成] をクリックします。
-
テーブルまたはクエリを右クリックし、[ 電子メールでデータの収集と更新] をクリックします。
注: テーブルにフィールドが含まれていない場合、または AutoNumber、OLE オブジェクト、添付ファイル、または複数値のルックアップ フィールドの種類しかない場合、Access は次のメッセージを表示します。 選択したテーブルまたはクエリには、電子メールを使用したデータの収集をサポートするフィールドがありません。
-
テーブルにデータ収集をサポートするフィールドが含まれている場合は、ウィザードが起動します。 変換先テーブルでデータの追加と更新の両方がサポートされている場合、ウィザードでは、電子メール メッセージを介してデータを収集するために必要な手順を説明します。
次のセクションは、プロセスの次の 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 で受信者を指定する場合は、メッセージを送信する前にプレビューしてカスタマイズできます。 電子メール メッセージ本文には、簡単な概要とフォームが含まれています。 フォームに変更を加えないことをお勧めします。 フォーム構造を変更すると、応答が処理されない可能性があります。
データベース内のフィールドに格納されている電子メール アドレスの使用
[ 関連付けられたテーブル ] を選択するオプションは、関連するテーブルを参照します。 データベース内のテーブル リレーションシップを表示または編集するには、 データベース ツールを使用します。 タブの [リレーションシップ] グループで、[リレーションシップ] をクリックします。
リレーションシップの詳細については、テーブル リレーションシップのガイドに関 する記事を参照してください。
受信者の一覧を確認して指定する
最後の主要な手順は、電子メール メッセージのプレビューとカスタマイズ、受信者リストの微調整、データ収集メッセージの送信です。
電子メール メッセージを作成して送信する
ウィザードで電子メール メッセージを作成できることを通知し、[ 応答の管理 ] コマンドを使用して電子メールの状態を表示する方法を示すと、一部の警告メッセージが表示される場合があります。 次の表では、各警告と、それを解決するために実行できるアクションについて説明します。
警告 メッセージ |
説明 |
Solution |
---|---|---|
一部のレコードには、指定した電子メール アドレス フィールドに有効なアドレスが含まれていません。 これらの行のデータは返されません。 |
選択した電子メール アドレス フィールドに null 値が含まれています。 |
すべてのレコードのデータを収集する場合は、ウィザードを終了し、null 値を電子メール アドレスに置き換えます。 次に、ウィザードをもう一度起動します。 |
現在、データベースに対する排他ロックがあります。ロックが解除されるまで、自動処理は失敗します。 |
データベースは現在、排他モードで開いています。 |
応答を自動的に処理するように選択した場合、Access は排他的ロックを持つデータベースに追加または更新できないため、処理は失敗します。 メッセージを送信した直後に、データベースを非排他的モードで閉じて再度開きます |
これらの電子メール メッセージには、機密または機密性の高いデータが含まれている場合があります。 |
既存のレコードを更新するためにデータを収集しており、送信しようとしているフォームは既存のデータで事前に完了します。 |
一部のフォーム フィールドに機密データが含まれている場合は、ウィザードの手順に戻り、フィールドを選択し、機密データを含むフィールドをフォームから削除します |
メッセージをプレビューしてカスタマイズした後、電子メール アドレス フィールドをフィルター処理し、受信者を選択できます。 対応するチェック ボックスを選択して、使用する電子メール アドレスを選択します。 無効な電子メール アドレスの一覧が表示されたダイアログ ボックスが表示された場合は、一覧にアドレスを書き留め、[ 終了] をクリックします。 無効なアドレスを確認し、必要な修正を行い、メッセージの再送信を試みます。