SQL查询&VBA错误

SQL查询&VBA错误,sql,vba,Sql,Vba,我不断地发现这个错误: BOF or EOF set tu True, or the current record has been deleted. The requested operation requires a current record. 我的代码: MyQuery = "Select Destinataire, SUM(" & Entete & ") AS NombreTotal FROM [Feuil1$] " _ & "WH

我不断地发现这个错误:

BOF or EOF set tu True, or the current record has been deleted. The requested
operation requires a current record.
我的代码:

    MyQuery = "Select Destinataire, SUM(" & Entete & ") AS NombreTotal FROM [Feuil1$] " _
         & "WHERE [DateMad] Between #" _
         & Format(date_deb, "yyyy/mm/dd") _
         & "# And #" & Format(date_fin, "yyyy/mm/dd") & "#" & Query3 & " Group By Destinataire"

         objRecordSet.Open MyQuery, objConnection, adOpenStatic, adLockOptimistic

         Feuil3.Cells(1, Col) = Entete
         Feuil3.Cells(strLine, 2) = Entete2
         Feuil3.Cells(2, Col).Value = objRecordSet.Fields("NombreTotal").Value
我在最后一行得到了错误

  Feuil3.Cells(2, Col).Value = objRecordSet.Fields("NombreTotal").Value
既然我在问金额,为什么它要我BOF或EOF?还有,如何让这个查询工作plz?
如果您正在筛选特定的数据Destinataire='REL12',并且在查询中包含该字段和总和,则无法通过此调试呼吸,如果没有记录,而不是获得一条总和为0的记录,则将不会获得任何数据

如果要获取特定目的地的总和,则不需要将该字段包含在select或group by中。您已经在筛选一个目标


debug.print MyQuery提供以下信息:从[Feuil1$]中选择Destinataire,SumnbCompteureRelecnR作为NombreTotal,其中[DateMad]在2012/11/21和2012/11/26之间,并且[Destinataire]='REL12'组由Destinataire完成。我继续获取BOF或EOF set tu True,或者当前记录已被删除。请求的操作需要当前记录。请尝试为您的问题指定其他标题,然后查看是否得到一些答案。我想您会发现select语句与任何记录都不匹配,因此记录集为空。不管怎样,这就是我解释错误信息的方式。另外,Kim可能会发现一些东西,我已经多年没有接触过VBA了,因为它确实很邪恶,he-he,但是你可能需要objRecordSet。在你可以访问字段值之前,阅读或其他东西来获取记录集的第一条记录,这就是命令式编程的危险:thx对于帮助人员,@HollyStyles,我也这样解释它,但是这个问题似乎是正确的,我真的不知道为什么会这样
MyQuery = "Select SUM(" & Entete & ") AS NombreTotal FROM [Feuil1$] " _
     & "WHERE [DateMad] Between #" _
     & Format(date_deb, "yyyy/mm/dd") _
     & "# And #" & Format(date_fin, "yyyy/mm/dd") & "#" & Query3