我有一个 2010 Access 数据库,用于跟踪慈善团体的志愿者。VOLUNTEER 表中的一列称为 AVAILABILITY,可能的值为“季节性”和“全年”。
我创建了一个列出所有志愿者信息的报告,其中包括此列。我唯一的问题是我想让报告缩写这些值。理想情况下,“S”代表季节性,“YR”代表全年,以节省报告空间。这可能吗?
我有一个 2010 Access 数据库,用于跟踪慈善团体的志愿者。VOLUNTEER 表中的一列称为 AVAILABILITY,可能的值为“季节性”和“全年”。
我创建了一个列出所有志愿者信息的报告,其中包括此列。我唯一的问题是我想让报告缩写这些值。理想情况下,“S”代表季节性,“YR”代表全年,以节省报告空间。这可能吗?
您可以使用 IIF 函数,但这仅允许两个可用性选项。为了将来允许更多,我将创建第二个表来查找将在您的报告中显示的缩写词。
将其复制并粘贴到 Access 中的 SQL 编辑器中以创建这样的表:
SELECT "Seasonal" AS Availability, "S" AS Abbreviation INTO tblAvailabilityOptions;
然后,您将创建一个查询,您的报告将基于该查询将您的主表与您刚刚创建的新表结合起来,并加入“可用性”列:
SELECT tblMain.ID, tblMain.Volunteer, tblMain.Availability, tblAvailabilityOptions.Abbreviation
FROM tblMain INNER JOIN tblAvailabilityOptions ON tblMain.Availability = tblAvailabilityOptions.Availability;
如果您知道如何在主表上使用组合框查找功能,这将更加容易。
是的当然。您可以在查询中执行此操作并将报告基于该查询或报告本身:
SELECT IIF([AVAILABILITY] = "Seasonal","S","Yr") As Avail
FROM MyTable
如果您希望在报告中设置控件,请确保将其重命名为可用性以外的名称,例如 txtAvailability:
= IIF([AVAILABILITY] = "Seasonal","S","Yr")