Доступ, связанный с SQL Server, показывает #Name?в полях после фильтрации - PullRequest
0 голосов
/ 23 мая 2019

Относительно:

  • MS Access 2016
  • SQL Server 2017

У меня есть соединение ODBC с локальным SQL Server.Работает как шарм.Две из связанных таблиц сделаны как представления.Когда я открываю представление в MS Access, оно показывает рисунок 1. Когда я применяю фильтр, я получаю результаты, показанные на рисунке 2, с ошибкой во всех полях как #Name?

Это прекрасно работает, когда япосмотрите прямо в SQL Server.

Есть предложения?

fig1

fig2

1 Ответ

2 голосов
/ 24 мая 2019

Добавьте в таблицу так называемый столбец «версия строки». Итак, создайте столбец отметки времени в базовой таблице, на которой основано представление. Теперь включите этот новый столбец - обычно я называю его TS, но он будет иметь тип «отметка времени» - его не следует путать со столбцом даты / времени.

Таблица, вероятно, имеет 1 или более столбцов с плавающей запятой или, возможно, столбца меток времени. Итак, добавьте столбец отметки времени в базовую таблицу. Добавьте столбец TS в представление, а затем повторно свяжите представление (или обновите - не забудьте этот последний шаг).

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

Если вышеупомянутый столбец TS не исправляет это, попробуйте выбрать PK при связывании (поэтому обновления будет недостаточно, вам придется удалить и заново создать связанный вид, чтобы получить (принудительно / триггерно), что все важная подсказка для PK. Как уже отмечалось, добавление столбца TS должно исправить это, но если это не так, то начните сначала и заново создайте связанное представление как с выбранным PK, так и со всем этим важным столбцом TS. не включайте столбец TS, тогда Access (на стороне клиента) сделает некрасивое сравнение полей по полям - использование столбца TS устранит эту дополнительную работу и, скорее всего, вашу проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...