2010-10-18 2 views
1

Я пытаюсь изменить текстовое поле в поле чисел, однако любая попытка внести изменения выполняется с той же ошибкой. По-видимому, это поле является частью отношений. Я просмотрел все. Окно отношений не показывает связи с этим полем. Я выбрал кнопку «Все отношения», но все равно ничего. Другой аналогичный вопрос заявил, что отношения были найдены в отчете, но я еще не создал никаких отчетов. Я мог бы просто скопировать все в новый проект или даже просто удалить и воссоздать одну таблицу, но если кто-нибудь сможет мне помочь, я бы скорее кое-что узнал.MS Access - Удаление отношений, которые не могут быть найдены

ответ

2

Вы можете попробовать следующее:

Кроме того, нажав на «Все отношения» с точки зрения отношений, добавлять таблицы вручную и посмотреть, если какие-либо новые отношения проявляются.

Еще один хороший способ узнать обо всех зависимостях вашей таблицы, щелкнуть по нему и выбрать «Зависимости объектов» в разделе «Инструменты базы данных». Вы могли бы создать отношения в запросах, в Формах (Источниках данных) и в отчетах - просто проверьте зависимые объекты.

+0

Это не имеет никакого смысла вообще. Вы не можете создавать отношения, которые ограничивали бы тип данных поля в пользовательском интерфейсе доступа, кроме как через окно отношений. –

+0

Ты прав Давид, и я, возможно, неправильно сформулировал свой ответ. Я думал, что некоторые объекты мои все еще зависят от рассматриваемой таблицы, поэтому работают с представлением зависимостей объектов. И, возможно, из-за некоторых обстоятельств эти зависимые объекты могут повлиять на работу с исходной таблицей. –

5

Вы можете использовать VBA для изучения коллекции отношений. Я не знаю, будет ли это идентифицировать ваши недостающие отношения, но это должно быть легко узнать.

Вставьте этот код в стандартный модуль, запустите его и просмотрите вывод в окне Immediate:

Public Sub InspectRelations() 
    Dim rel As DAO.Relation 
    Dim fld As DAO.Field 
    For Each rel In CurrentDb.Relations 
     Debug.Print "Relationship Name: " & rel.Name 
     Debug.Print "Table: " & rel.Table 
     Debug.Print "ForeignTable: " & rel.ForeignTable 
     For Each fld In rel.Fields 
      Debug.Print "Field Name: " & fld.Name 
      Debug.Print "ForeignName: " & fld.ForeignName 
     Next fld 
     Debug.Print String(10, "-") 
    Next rel 
    Set fld = Nothing 
    Set rel = Nothing 
End Sub 
Смежные вопросы