CREATE VIEW в MS ACCESS с возвратом SQL-кода Синтаксическая ошибка CREATE TABLE - PullRequest
0 голосов
/ 12 февраля 2019

Я пытаюсь СОЗДАТЬ VIEW при доступе в представлении SQL, но получаю синтаксическую ошибку для CREATE TABLE, которая выделяет слово VIEW.Это в Access 2016 через Office 365 (последнее обновление от 2/11/2019).Оператор SELECT работает сам по себе, а команда CREATE VIEW - нет.Моя книга (Концепции управления базами данных) предназначена специально для использования вместе с Access.Мой код таков:

CREATE VIEW TopLevelCust AS
SELECT CustomerNum, CustomerName, Street, Balance, CreditLimit
FROM Customer
WHERE CreditLimit>=10000
;

Ответы [ 2 ]

0 голосов
/ 12 февраля 2019

Как уже указывалось в ответе Линн, если вы хотите выполнить этот запрос, вы можете сделать это после включения SQL-совместимого синтаксиса.

Однако вы также можете выполнить запрос, используя соединение OLEDB сAccess database.

Вы даже можете сделать это, используя VBA и уже предустановленный объект CurrentProject.Connection:

CurrentProject.Connection.Execute "CREATE VIEW Query1 AS SELECT 1"

Без включения совместимого с SQL Server синтаксиса операторы DDL, выполняемые из самого Access, довольноограниченный (например, вы также не можете использовать тип данных Decimal).Но эти операторы DDL на самом деле не предназначены для выполнения из самого Access, VBA предоставляет более совершенные инструменты для создания запросов (например, также позволяет создавать сквозные запросы).

0 голосов
/ 12 февраля 2019

По словам автора и других пользователей, включение ANSI-92 SQL в параметрах базы данных позволит вам выполнить оператор DDL CREATE VIEW.

Файл> Параметры> Дизайнеры объектов> Дизайн запросов.

Согласно Вольфгангу, под капотом фактически создается запрос.

<SoapBox>

Меня удивляет, что ваша текстовая ссылка требует от вас выполнения операторов, которые по умолчанию не включены в Access, особенно без особой пометки о том, что вам нужно включить специальнуюопция до создания базы данных. ¯ \ _ (ツ) _ / ¯

</SoapBox>

...