SQL查询& VBA错误

时间:2012-11-02 14:18:35

标签: 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$] " _
         & "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?还有如何让这个查询工作PLZ? 我无法用这个调试来呼吸

1 个答案:

答案 0 :(得分: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