我可以强制行标题显示在带有动态列标题的 Access 交叉表上吗?

问题描述

我有 tblOuts,可以按类别和日期跟踪库存中的 Sku:

过期 类别 Sku
20210322 A 111
20210322 B 222
20210323 A 111
20210323 B 222
20210323 B 333
20210324 D 444

我创建了一个交叉表,将按类别和过期日期显示 Sku 的数量

类别 20210322 20210323 20210324
A 1 1
B 1 2
D 1

如何修改交叉表以同时显示类别 C,即使我的表中还没有任何数据?

类别 20210322 20210323 20210324
A 1 1
B 1 2
C
D 1

通常我会创建一个单独的表,列出所有类别并将其加入交叉表。但我想不出一个理想的方法

SELECT tblCategories.Category,qryCrosstab.*
FROM tblCategories LEFT JOIN qryCrosstab ON tblCategories.Category = qryCrosstab.Category

给了我两个我不想要的 Category 字段:

tblCategories.Category qryCrosstab.Category 20210322 20210323 20210324

或者,我可以执行以下操作,但每次将新日期添加到表中时都需要修改我的查询

SELECT tblCategories.Category,qryCrosstab.20210322,qryCrosstab.20210323,qryCrosstab.20210324
FROM tblCategories LEFT JOIN qryCrosstab ON tblCategories.Category = qryCrosstab.Category

解决方法

是的,我明白你所说的“加倍”是什么意思:

SELECT 
    Category.Category,qOut.*
FROM 
    Category 
LEFT JOIN 
    qOut ON Category.Category = qOut.Category;

enter image description here

您不能忽略这些类别字段之一吗?