这可能是一个基本的格式问题,但由于某种原因,我无法找到解决方法。我使用的场景是我想使用VBA从给定类别的表中的一个字段中查找最高数字(在同一个表中的另一个字段中标识)。我有八类,各有不同的数字(例如)使用Access VBA(DMax)函数在Where /条件列中使用表格字段和变量
ATD 500
ATD 250
ATD 700
MLK 500
MLK 120
PTO 900
我认为要做到这一点,最好的办法是在DMAX功能,但由于某种原因,我遇到的语法错误无论怎样我试着写它。
我工作,到目前为止,该代码是:
Dim HighestNumber As Variant
Dim HighCategory As Integer
HighCategory = InputBox("Please enter data", "ENTER", "ENTER")
HighestNumber = DMAX("[SaleValue]", "SalesTable", "[SalesCategory] = '" & HighCategory & "'")
(为了澄清,[SaleValue]和[SalesCategory]是在访问表 “SalesTable” 两个栏,和我m试图设置它,以便用户可以输入一个SalesCategory并获得该类别的最高SaleValue。我希望能够将该值存储在某处以备后用。)
每当我运行这个,我碰到了运行时错误'5',最后一行无效的过程调用。我相当肯定这是一个语法错误,但我无法理解为什么。我试着阅读本网站
https://msdn.microsoft.com/VBA/Access-VBA/articles/application-dmax-method-access
但他们专注于硬编码标准,我无法找到如何使用DMAX,其中,标准应该由用户来指定一个很好的例子。
感谢您提供任何帮助!
编辑:更改代码如下产生
Dim HighestNumber As Long
Dim HighCategory As String
HighCategory = InputBox("Please enter data", "ENTER", "ENTER")
HighestNumber = DMAX("[SaleValue]", "SalesTable", "[SalesCategory] = '" & HighCategory & "'")
似乎有效,但你在你的'DMAX'月底缺少一个右括号( 'HighestNumber = DMAX(“[SaleValue]”,“SalesTable”,“[SalesCategory] ='”&HighCategory&“'”)'。当然不是吗? –
Erik von Asmuth - 谢谢您的回复!这实际上是我的一个复制粘贴错误 - 应该有一个括号,并且在我的实际代码中有一个,我现在会更正它 – jahamj