Sql 查询问题

Sql 查询问题,sql,ms-access,vba,Sql,Ms Access,Vba,执行此查询时: Dim Var Var = ("select max(Autonumber) from tblAutonumber") DoCmd.RunSQL (Var) 我从tblAutonumber获得的var值是select MAXATONUMBER,而不是我要寻找的最大值 代码: 正如里奇评论的那样: Dim Var Var = "select max(Autonumber) from tblAutonumber" DoCmd.RunSQL (Var) 对于您

执行此查询时:

Dim Var
Var = ("select max(Autonumber) from tblAutonumber")
DoCmd.RunSQL (Var)
我从tblAutonumber获得的var值是select MAXATONUMBER,而不是我要寻找的最大值

代码: 正如里奇评论的那样:

Dim Var 
Var = "select max(Autonumber) from tblAutonumber"
DoCmd.RunSQL (Var)

对于您试图实现的目标,您可能只想使用DMAX Domain Aggregate函数,该函数将返回给定域(即表)的max表达式(即列)。以下是一个例子:

  Dim lastAutonumber As Long
  lastAutonumber = DMax("Autonumber", "tblAutonumber")
使用Access UI:

Dim Var As Long
var = CurrentProject.Connection.Execute("select max(Autonumber) from tblAutonumber;")(0)

No Joy这是值现在从tblAutonumber选择maxAutonumber Var的值应该是字符串,从tblAutonumber选择maxAutonumber strMaxNum将等于查询返回的值。我已经在我的示例数据库上测试过了,在添加分号后,它可以工作,我没有执行任何insert语句。假设TBLautonNumber中有数据,且Autonumber是有效的字段名,请尝试测试select,而不使用插入项。请重新发布我的查询,好吗?Thhhhhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaksssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa,您正在返回返回的记录集对象的字段集合的索引号0的值。我不得不思考一下这个问题,以找出它为什么有效。不知道为什么在Access上下文中,DMax不是显而易见的解决方案;我读过一篇关于MSDN优化性能的文章,认为应该避免使用域函数,但现在已经不见了,但我个人出于可移植性的考虑避免使用域函数,即选择最大。。。类型香草SQL将针对任何SQL产品运行。
Dim Var As Long
var = CurrentProject.Connection.Execute("select max(Autonumber) from tblAutonumber;")(0)