With the help of this forum, I've been able to build a macro to run an Impromptu report (Ver.6), passing a date calculated within the macro, as a string "yyyy-mm-dd" to the fill-in prompt field in the .imr. Unfortunately, because of type conversions, the only way I've found to make the filter work in the .imr is: Date-to-String(OrderDate) = %rptdate%. Order Date is indexed in the database, but with millions of records, it is still doing a sequential read. Performance is worse than bad. The only other thing I can think of is to split the Date parameter into three parameters (rptYear) (rptMonth) (rptDay) within the Macro, and have a filter such as: OrderDate = datetime-to-date(make-datetime(string-to-integer(%rptYear%),string-to-integer(%rptMonth%),string-to-integer(%rptDay%))) ---- But this seems like SUCH overkill for a simple, probably VERY common query restriction. D.Griffin ???