我的查询有问题。我有一个带有Table" Label"的数据库。包含一些子记录(" ReleaseID")。
我想做什么:我想计算链接到Label表中LabelID的子记录。我有以下代码:
Dim db As Object
Dim rst As Recordset
Set db = CurrentDb
Dim qryCount As String
Dim Value as integer
qryCount = "select count(ReleaseID) as aantal from(select LabelID, ReleaseID from Label where LabelID = " & Me!LabelID")
Set rst = db.OpenRecordset(qryCount, dbOpenDynaset)
Value = rst!aantal
当我在Acces的Query设计中尝试时,查询正在运行。但是当我在VBA中使用它时它就没有了。
感谢任何帮助。
答案 0 :(得分:1)
我不确定它是否只是一个副本错误,但是结束支撑丢失了,不是吗?
qryCount = "select count(ReleaseID) as aantal from(select LabelID, ReleaseID from Label where LabelID = " & Me!LabelID & ")"
答案 1 :(得分:1)
如果你只是在寻找一个计数,你可以用DCount
来做varCount = DCount("ReleaseID", "Label", "LabelID = " & Me!LabelID)
无需记录集。如果您没有遍历记录集,则Dcount更简单,对系统的负担更少。
它被称为域功能,如果你有空闲时刻(Dlookup,DSum,Dmax,Dcount),非常值得查看。
答案 2 :(得分:1)
为什么不使用 DCount :
Dim Value As Long
Value = DCount("*", "ReleaseTable", "[LabelID] = " & Me!LabelID.Value & "")
答案 3 :(得分:1)
当您不对其进行格式化时,很难看到您的实际代码。
这是您上次发布的内容
qryCount = "select count(ReleaseID) as aantal from Label where LabelID = " & Me!LabelID
Set rst = db.OpenRecordset("Label", dbOpenDynaset)
Value = rst1!aantal
如果那是你实际拥有的那么你
- 可能无法使用价值 - 我认为这是一个保留字
- 您已将记录集名称设置为rst,但您尝试使用rst1进行值参考
醇>