2016-11-07 1 views
0

Я столкнулся с этой ошибкой, когда попытался открыть отчет.Microsoft Access 2016 - Источник записи не существует

The record source '~sq_dProduct Summary~sq_dOLEUnbound0' specified on this form or report does not exist. 

The name of the recordsource may be misspelled, the recordsource was deleted or renamed, or the recordsource exists in a different database. 

In the Form or Report's Design view or Layout view, display the property sheet by clicking the Properties button, and then set the RecordSource property to an existing table or query. 

И это был пустой отчет «Предварительный просмотр». Но когда я щелкаю правой кнопкой мыши на отчете и перехожу к «Design View», внутри него есть данные. Я не знаю, что не так. Кто-нибудь может помочь?

ответ

0

Это соглашение об именах. Access использует для создания запросов за кулисами, когда вы устанавливаете свойство RecordSource с помощью кнопки построителя в режиме проектирования формы/отчета. Когда вы нажимаете кнопку «Строитель», вам предоставляется окно QBE («Запрос по примеру»). Когда вы сохраняете форму или отчет, Access создает этот запрос, скрывает его из контейнера DB и использует его внутренне, хотя вы видите фактический SQL в свойстве RecordSource. Вот почему он работает в дизайне.

Проблема в том, что БД-движок больше не может найти этот «кешированный» скрытый запрос.

я бы:

  • Скопируйте свойство RecordSource формы или отчета в текстовый файл.
  • Отбросить отчеты RecordSource Восстановить и скомпилировать базу данных
  • Повторно запустите отчет и снова вставьте в RecordSource.

Если вы используете подформы, комбинированные поля, списки и т. Д., Которые также могут иметь свойство RecordSource, вы должны сделать то же самое с ними, пока не найдете виновника. Другими словами, где угодно в дизайне отчета/формы, вы видите свойство RecordSource, которое имеет оператор SQL в качестве значения для свойства RecordSource.

Верный способ обойти это создать обычный запрос, а затем установить свойство RecordSource всех форм/отчетов/элементов управления на этот постоянный объект Access.