Я создаю querydef, который берет все из другого запроса, применяет параметр и экспортирует в excel. Это работало нормально в течение нескольких месяцев, пока вчера не началось возвращение ошибки времени выполнения 3021 - нет текущей записи.
Ошибка возникает в qdf.execute.
У меня есть другая база данных, которая в основном совпадает с тем же кодом, это прекрасно работает.
Я попытался поместить строку sql в новый запрос вручную, это также отлично работает.
Dim Dstring As Date
Dstring = asofdate
Set qdf = CurrentDb.CreateQueryDef("")
qdf.SQL = "SELECT * INTO WIP_Report FROM Qry_WIP_Percentage"
qdf.Parameters("AsofDate") = Dstring
qdf.Execute
В запросе содержится около 900 записей, и этот параметр применяется.
это SQL из запроса -
SELECT Left([Qry_WIP].[rollup],5) AS Parent, Qry_WIP.rollup AS [Shared Parent], " " AS [Previous Wip], Qry_WIP.WIP AS [Current WIP], Qry_WIP.[PO Price Summed] AS [PO Value], "" AS [Anticipated PO], " " AS [Previous Percent Complete], Qry_Percentage.Percentage AS [Current Percent Complete], Qry_WIP.[prod code], Qry_WIP.[cust-id], " " AS [Customer / Project], " " AS Notes, " " AS [Previous Amt to Recognize], " " AS [Previous Status], "" AS [Current Amt to Recognize], Qry_WIP.status AS [Current Status], Qry_WIP.[enter date]
FROM Qry_WIP LEFT JOIN Qry_Percentage ON Qry_WIP.rollup = Qry_Percentage.rollup
GROUP BY Left([Qry_WIP].[rollup],5), Qry_WIP.rollup, Qry_WIP.WIP, Qry_WIP.[PO Price Summed], Qry_Percentage.Percentage, Qry_WIP.[prod code], Qry_WIP.[cust-id], Qry_WIP.status, Qry_WIP.[enter date]
Понятия не имею, что здесь происходит, так как на днях все работало отлично.
Я вижу, что есть куча вопросов об отсутствии текущей записи, однако все они, похоже, относятся к наборам записей, а не к запросу.