If the number of rows retrieved regardless of date is not very many, I'd grab them all then apply a filter to look at only those within the last week.
If there are too many rows to retrieve, you need to apply the date restriction on the SQL statement with something like:
SELECT ....
FROM qxPart qp (nolock)
JOIN qxScheduleMaster sm (nolock) ON (qp.qxScheduleId = sm.qxScheduleId)
WHERE qp.partNo = '090000'
AND sm.effectiveDate IN (select sm.effectiveDate FROM qxPart qp (nolock)
JOIN qxScheduleMaster sm (nolock) ON (qp.qxScheduleId = sm.qxScheduleId)
WHERE qp.partNo = '090000'
AND getdate() >= sm.effectiveDate)
The sub-select is where you restrict the dates so your main select gets the rows you want.
(This is MS SQL Server syntax)