2011-12-22 71 views
0

我有一个简单的MS Access交叉表查询问题。我有一个具有以下字段的表:简单的MS Access交叉表查询与查询列

名称,类别,数量

而想要做一个交叉与名行标题和范畴列标题。类别定义为数据库中的文本字段并具有定义的查找值。

如果我运行一个简单的选择查询,一切看起来都不错,但是如果我运行交叉表查询,我会将数字作为列标题。这是否与查找定义有关?

任何想法?提前致谢。

回答

0

当您在表格中使用查找时,事情非常罕见。他们应该避免,除非你必须让他们为共享点。解决此问题的方法是将类别查找表添加到设计网格,并通过连接字段链接两个表。

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 ...'。 – 2011-12-22 20:18:00

+0

@ OlivierJacot-Descombes我相信我已经在我的回答中解决了这个问题。 – Fionnuala 2011-12-22 20:34:21

+0

是的,我看到了。我刚才详细讨论了这个问题。 “名称”不是SQL中的保留字,但是Forms和Reports的属性。 – 2011-12-22 20:42:28