Access 2013 - 在添加任何新字段时计算字段值
Posted
技术标签:
【中文标题】Access 2013 - 在添加任何新字段时计算字段值【英文标题】:Access 2013 - Count Field Values While Adding Any New Fields 【发布时间】:2013-12-19 03:12:44 【问题描述】:我在这方面需要一些帮助,但我似乎找不到合适的问题来寻求答案。我们有一个表,它基本上是 1 个主键和 130 多个软件标题作为是/否字段。我需要按字段名称计算值(计数),我们可以使用简单的聚合查询来完成,但我的理解是只会返回创建查询时包含在查询中的字段的结果。随着额外的 SW 字段被添加到表中,我还需要包括这些字段的计数。有没有一种简单的方法可以做到这一点。我的脑袋炸了!提前致谢。
PK SW1 SW2 SW3 ...
1 1 0 1
2 1 0 0
3 0 1 1
所以我需要返回:
SW1 SW2 SW3
2 1 2
如果 SW4 已添加到表中,则还包括该字段的结果。
克里斯
【问题讨论】:
我想你已经发现了为什么这是一个可怕的数据结构。如果您能够修改数据库设计,您可能会重新考虑它。 【参考方案1】:假设您在访问中使用 vb,您可以获取字段名称并为任何添加的字段动态构建新查询。
下面的代码来自example of how to get field names of a table。获取字段名称后,将它们放入数组中并删除在构建查询时存在的任何内容。然后为任何添加的字段动态构建一个新查询。可能比您希望的要多,但它会奏效。
Public Function fReturnFieldList(strTableName)
Dim rst As DAO.Recordset
Dim fld As Field
Dim strReturn As String
On Error GoTo ProcError
Set rst = CurrentDb.OpenRecordset(strTableName)
For Each fld In rst.Fields
strReturn = strReturn & ", " & fld.Name
Next fld
EXIT_Proc:
fReturnFieldList = Mid(strReturn, 3)
On Error GoTo 0
Exit Function
ProcError:
strReturn = ", Cannot process " & strTableName
Resume EXIT_Proc
End Function
【讨论】:
我知道表格结构很糟糕,但是解决方法就像一个魅力!感谢您的帮助!以上是关于Access 2013 - 在添加任何新字段时计算字段值的主要内容,如果未能解决你的问题,请参考以下文章
iOS7 Sprite Kit如何在更改锚点时计算节点位置?