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

SUM を要求しているのに、BOF または EOF を要求するのはなぜですか? また、このクエリを機能させる方法 plz ? 私はこのデバッグで息ができません

4

1 に答える 1

0

特定のデータ ( Destinataire = 'REL12') をフィルター処理し、そのフィールドを合計と共にクエリに含めている場合、レコードがない場合は、合計が 0 のレコードを 1 つ取得するのではなく、データを取得しません。

特定の の合計を取得している場合はDestinataire、select または group by にそのフィールドを含める必要はありません。すでに 1 つの でフィルタリングしています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 に答える