0

我不断收到此错误:

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,因为我问的是 SUM?还有如何让这个查询工作?我无法呼吸这个调试

4

1 回答 1

0

如果您正在过滤特定数据 ( Destinataire = 'REL12'),并且您在查询中包含该字段以及总和,如果没有记录,而不是获得一条总和为 0 的记录,您将不会获得任何数据。

如果您要获得特定的总和Destinataire,则无需将该字段包含在您的选择或分组依据中。您已经只过滤了一个Destinataire.

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
于 2012-11-02T15:21:19.403 回答