这似乎应该是一个相对简单的任务,但我已经用几种不同的方法解决了这个问题,目前为止没有运气。如何在Access文本框中显示不同的计数?
我有两个表格:人员和地址。我有一个带有recordource的表单,它是连接这两个表的查询。我想要做的是标题显示“该数据库目前包含[txtPersonCount]个人在[txtAddressCount]地址。”
由于人键和地址关键是它们各自的表内不同的我首先想到的是简单地在文本框控件设置为=Count([tblPeople].[PersonID])
和=Count([tblAddress].[AddressID])
。
奇怪的是,使用此方法在两个文本框中都会显示地址ID的计数。我假设发生了什么事,而不是从相应的表中计数ID,这些ID是从表单的记录源后面的查询中计算出来的(对于这些记录源,地址比人们多,所以这很有意义)。
然后我试图通过宣布我的SQL查询作为一个字符串基本上做的是同一件事:
Dim sql As String
sql = "SELECT COUNT(tblPeople.[PersonID]) FROM tblPeople;"
Forms![frmBrowse].[txtPersonCount].ControlSource = sql
但这只会让文本框中显示查询的文本。将字符串更改为"=SELECT COUNT...."
没有区别。
关于如何解决这个问题的任何想法?
在ADODB记录集上执行sql并将记录集作为controlsouce传递,因为我不认为evaluate()会在这里工作 – 2013-06-12 15:21:24
我不知道该怎么做。你可以建议的任何链接,所以我可以学习如何? – SELECTCOUNTSTAR