Это немного обманчиво; «Query.foobar» в порядке, но «Query.foo.bar» - нет.
Похоже, что MS Access использует эту первую часть в качестве способа определения, является ли ваш источник записи запросом или таблицей, а точка (.) Является разделителем, , и вы, по-видимому, ограничены одним . Вероятно, это одна из причин, по которой он запрещен в именах объектов.
Похоже, что вы обращаетесь к представлению напрямую, а не создаете ссылку на представление во вкладке / списке таблиц (вы даже не сможете создать таблицу / запрос с таким именем). Возможно, это доступно в ms-access-2007, я недостаточно знаком с ним.
В любом случае моим решением было бы создать ссылку на таблицу на View.dbo.viewname
и переименовать ее (если MS Access не делает это для вас самостоятельно) на dbo_viewname
. Это позволит вам установить источник данных на Table.dbo_viewname
.
Edit:
Чтобы создать ссылку на таблицу,
- перейти на вкладку / список таблиц в окне базы данных
- щелкните правой кнопкой мыши в списке
- Выбрать
link tables...
- Измените
Files of Type
на ODBC databases
(я полагаю, у вас уже установлено соединение ODBC. Если нет, как вы получаете ваши данные?).
- Переключиться на вкладку
Machine Data Source
- Выберите источник данных.
- Нажмите ОК
- Выберите нужные таблицы / представления.
- Нажмите ОК
Ссылки будут отображаться во вкладке / списке таблиц, как стрелки, указывающие на маленький зеленый шар.
Не вводите источник данных. Используйте раскрывающийся список, который гарантирует, что вы используете правильный синтаксис.