( Редактировать: переставлен, чтобы сосредоточиться на вероятном виновнике)
Нет, вы не можете легко получить последнюю запись. Вы можете попробовать Select Top 5000 . . .
и т. Д., Повысить значение, если оно работает, и уменьшить значение, если это не так, и таким образом сосредоточиться на нем. Но вряд ли какая-то конкретная запись вызывает проблему. Я не думаю, что где-то есть плохие данные . Это запрос.
Сосредоточиться на сумме в запросе выбора. Уберите это, и у вас, вероятно, будет работать запрос. Вполне может быть, что сумма превосходит числовой тип, который использует sql для добавления ваших значений. На самом деле, чем больше я об этом думаю, тем, наверное, и так. Да уж. Если это так, вам нужно преобразовать его в тип, который может обрабатывать большие числа, например:
SELECT blah blah, SUM(CAST([TotaalPrijs]/([tbl_ArtikelsPerOrder]![Aantal]*[Totaal])*[tbl_ArtikelVerwijderdUitZaaglijst]![Aantal] AS DECIMAL)) AS GezaagdeOmzet
Синтаксис может немного отличаться для MSAccess, но это будет что-то вроде этого. Будучи Access, по умолчанию может быть int, и в этом случае вы можете указать Long. В противном случае укажите десятичное число. Старайтесь избегать действительных чисел, если можете (одиночные и т. Д.), И они могут запутать вас, если вы не будете осторожны.
Хотя менее вероятно, вот некоторые другие возможные виновники:
- Вы уверены, что этот запрос логически
правильный? Этот запрос может быть вызван
слишком большой набор результатов
вернулся. Используйте синтаксис
Select Top 1000
etc.
и анализируйте результаты
чтобы убедиться, что ваши объединения работают
как пожелаешь, и не по ошибке
вызывая декартовых результатов, для
Пример.
- Если ваш запрос возвращается законным
результаты, то может быть, что
законный результат слишком масштабный?
Если вы действительно должны получить
миллиард результатов, и это тоже
много, тогда вам придется изменить свой
Вся стратегия или уменьшить столбцы
возвращается и т. д.