2011-12-22 23 views
0

シンプルなMS Accessクロス集計クエリの質問があります。私は、次のフィールドを持つテーブルがあります。ルックアップ列を使用したシンプルなMS Accessクロス集計クエリ

名、カテゴリ、数

を、列ヘッダと行ヘッダやカテゴリなどの名前でクロス集計をしたいです。カテゴリは、データベース内のテキストフィールドとして定義され、定義された検索値を持ちます。

単純な選択クエリを実行するとすべてが正常に表示されますが、クロスタブクエリを実行すると列ヘッダーとして数値が取得されます。これはルックアップの定義と関係がありますか?

アイデア?前もって感謝します。

答えて

0

テーブル内でルックアップを使用すると非常にシンプルになります。彼らはsharepointのためにそれらを持たなければならない限り避けるべきです。これを回避する方法は、カテゴリのルックアップテーブルをデザイングリッドに追加し、2つのテーブルを結合フィールドでリンクする方法です。

TRANSFORM Sum(t.Number) AS SumOfNumber 
SELECT t.NameX 
FROM MyTable t 
INNER JOIN CategoryTable c ON t.Category = c.CatID 
GROUP BY t.NameX 
PIVOT c.CategoryName; 

名前は予約語であり、使用しないでください。

+0

"名前"列がある場合、レポートに問題が発生する可能性があります。レポート内の[名前]には、「名前」フィールドの内容の代わりにレポート名が表示されます。エイリアスに 'SELECT t。[Name] AS ArticleName ... 'を付けてください。 –

+0

@ OlivierJacot-Descombes私はすでに私の答えでこの問題に対処していると信じています。 – Fionnuala

+0

はい、私はそれを見ました。私はこの問題について詳細に取り上げました。 "name"はSQLでは予約語ではありませんが、FormsおよびReportsのプロパティです。 –

関連する問題