MS-Access 2010 Form: поле не принимает источник данных с двумя дефисами - PullRequest
0 голосов
/ 26 ноября 2018

У меня есть форма, основанная на запросе к нескольким таблицам.Поскольку некоторые поля из разных таблиц имеют одинаковые имена, я должен добавить имя соответствующей таблицы.Однако в именах таблиц, а также в именах полей есть дефисы (оба унаследованы от внешних таблиц Excel).

В VBA нет проблем: [Table-1.Field-1] всегда работает хорошо (также в SQL-запросах).Однако, когда я пишу это в режиме черчения в качестве источника данных в форме, Access «думает» , что это будет неправильно, и автоматически заменяет его на [[Table-1]. [Field-1]] - в результате на форме появляется ошибка # Name? .Я пытался заменить [] на кавычки, но безуспешно.

Обратите внимание, что нет ошибки, когда только таблица или только поле имеет дефис: и MyTable. [Field-1] и [Table-1] .Майфилд принимаются по форме.

Ответы [ 2 ]

0 голосов
/ 26 ноября 2018

Между тем я нашел не верный ответ, но тем не менее вполне удовлетворительный обходной путь , добавив следующее вычисляемое поле в запрос :

MyWorkAround: [Table-1.Field-1]

Тогда я могу просто сослаться на [MyWorkAround] в соответствующем поле формы, чтобы избежать ошибки формы.Но это не очень элегантно!

Обратите внимание, что я всегда использую […] вокруг полей, даже там, где это не нужно.Эта практика помогает избежать множества ошибок.

0 голосов
/ 26 ноября 2018

Правильный синтаксис должен быть:

[Table-1].[Field-1]

Или с использованием записи взрыва:

[Table-1]![Field-1]
...