Access Services 2013 のマクロアクション [ビューの変更] や [ポップアップを表示する] で「フィールド名 '<Filed Name>' は無効です。」エラーが発生する

現象
Microsoft SharePoint Server 2013 上の Microsoft Access Services において、マクロアクションの [ビューの変更] や [ポップアップを表示する] を実行すると、次のエラーが発生します。
 
「フィールド名 '<Filed Name>' は無効です。」エラーが発生します。」

この現象は、以下の条件をすべて満たす場合に発生します。
  • マクロアクションで指定するビューのレコードソースが、埋め込みクエリまたは保存済みのクエリである
  • マクロアクションの [条件] で、クエリが参照する "テーブル名" を指定している
原因
解決方法
回避策
以下のいずれかの方法で回避します。

方法 1 : マクロアクションの [条件] にクエリ名を指定する

以下の構成で、マクロアクションの [条件] に、テーブル名ではなくクエリ名を指定することで、現在表示している「リスト」上の特定のテキストボックスの値を基に、ビューの情報を抽出して表示することができます。
  • ビューのレコードソースが埋め込みクエリである場合は、名前を付けてクエリとして保存する
  • 上記クエリを ビューのレコードソースとして設定する
  • マクロアクションで上記ビューを設定し、[条件] を以下のように設定する
       ビューの変更
        テーブル : TB_Item
           ビュー : V_Item
           条件 : [<クエリ名>].[ItemCode] = [ItemCodeテキストボックス]

Note :
[条件] に、[<テーブル名>].[<フィールド名>] = [<テキストボックスの名前>] を指定した場合に現象が発生します。
そのため、[<クエリ>].[<フィールド名>] = [<テキストボックスの名前>] を指定します。


方法 2: パラメーターを設定したクエリを活用してポップアップを表示する

以下の構成で、マクロアクションの [ポップアップを表示する] を利用することで、現在表示している「リスト」上の特定のテキストボックスの値を基に、ビューの情報を抽出して表示することができます。
  • 抽出条件にパラメーターを設定し、名前を付けてクエリとして保存する
  • 上記クエリをビューのレコード ソースとして設定する
  • マクロアクションで上記ビューを設定し、このとき [条件] は指定せず、[パラメータ] に特定のテキストボックスの値を参照するよう設定する
状況
マイクロソフトでは、この問題について現在調査中です。詳細については、わかりしだいこの資料に掲載する予定です。
詳細
問題の再現手順
  1. SharePoint Server 2013 のサイトで、[リストやライブラリ、その他のアプリを追加] - [Access アプリ] をクリックします。
  2. 任意の名前を入力して [作成] をクリックします。
  3. サイト コンテンツに、手順 2 で作成したものが表示されるのでクリックします。
  4. IE 上に以下のようにメッセージが表示されます。

    「Access アプリが正常に作成されました。次にデザインを始めます。最初に Access にテーブルを追加してください。」
  5. [このアプリを Access で開いてテーブルを追加します。] をクリックします。
  6. IE のウィンドウの下方に、「~.com から<アプリケーション名>.accdw を開くか、または保存しますか?」と表示されますので [ファイルを開く] をクリックします。
  7. 以下のポップアップで [OK] をクリックします。

    「Microsoft Access Web App (ACCDW) ファイルを開くと、インターネットまたはイントラネットから情報をダウロードします」
  8. Access 2013 クライアントの画面で、[テーブルの追加] と表示されるますので、ここで [新しい空のテーブルを追加] をクリックし、以下のテーブルを作成します。

    <TB_Item>
     ID
     ItemCode
     ItemName
     GroupID
  9. 各テーブルに以下のデータを登録します。

    <TB_Item>
    ID                                    ItemCode                            ItemName                           GroupID
    ---------------------------------------------------------------------------------------------------------------
    1                                     A001                                   牛肉                                    1
    2                                     A002                                   豚肉                                    1
    3                                     A003                                   ヨーグルト                             2
  10. テーブル「TB_Item」を選択し、[ホーム] - [ビュー] をクリックし、以下の新しいビューを作成します。

     ビュー名 : V_Item
      ビューの種類 : データシート
     レコード ソース : TB_Item (※ 一旦このテーブルを指定しますが、後述の手順で再現させるために編集します)
  11. 作成されたビューを編集し、[レコード ソース] の右横にある [...] をクリックします。
  12. 「このテーブルを基にしてクエリを作成しますか?」で [はい] をクリックします。
  13.  フィールドで、TB_Item.* を選択して、[X] で閉じます。
  14. 「プロパティの設定を更新しますか?」で [はい] をクリックします。
    [レコードソース] が [埋め込みクエリ] になったことを確認します。
  15. ビューを保存します。
  16. テーブル「TB_Item」に紐づいて自動作成されたフォーム「TB_Item リスト」にボタンを追加します。
  17. ボタンを選択して [アクション] - [クリック時] をクリックします。
  18. 以下のマクロアクションを設定します。

      ビューの変更
       テーブル : TB_Item
          ビュー : V_Item
          条件 : [TB_Item].[ItemCode] = [ItemCodeテキストボックス]
  19. [X] ボタンをクリックして、マクロを保存します。
  20. 「TB_Item リスト」を保存します。
  21. [ホーム] - [アプリの起動] をクリックします。
  22. 手順 16 で追加したボタンをクリックします。
結果
次のエラーが発生します。
「フィールド名 'TB_Item.ItemCode' は無効です。」
 
関連情報
注意 : これは、マイクロソフトのサポート組織内で直接作成された "緊急公開" の資料です。 この資料には、確認中の問題に関する現状ベースの情報が記載されています。 情報提供のスピードを優先するため、資料には誤植が含まれる可能性があり、予告なしに随時改定される場合があります。 その他の考慮事項については、使用条件を参照してください。
Properti

ID Artikel: 3017400 - Tinjauan Terakhir: 09/29/2016 12:05:00 - Revisi: 4.0

Access Services in Microsoft SharePoint Server 2013

  • kbtshoot kbexpertisebeginner kbexpertiseinter KB3017400
Tanggapan