Как сделать псевдоним в access

Добавил пользователь Евгений Кузнецов
Обновлено: 10.09.2024

<- ->
Behemoth ( 2002-02-03 10:36 ) [0]

Проблема старая, но вот только додумался сюда вопрос задать.
Создаю псевдоним (BDE) БД Access в BDE Administrator. при открытии базы выдается ошибка General SQL error -2147221164.
Ошибка выдается только в некоторых версиях Офиса (остальное ПО такое же). Так вот я хочу заставить этот BDE драйвер заставить работать в как раз таком Офисе (XP rus). Поможите кто знает как.

<- ->
Behemoth ( 2002-02-04 14:25 ) [1]

неужели ни у кого такого не было - неверю.

<- ->
drpass ( 2002-02-04 14:40 ) [2]

На сайте Borland было написано (примерный перевод):
"Поддержка Access 2000 и старше в BDE в принципе невозможна из-за использования Unicode в этих БД. Используйте ODBC-драйверы, и отвалите со своими вопросами, и вообще, BDE-отстой, и нам облом его дальше разрабатывать" (повторяю, перевод примерный)
Кстати, через ODBC действительно работает. Вот только не понимаю, чем им Unicode мешает.

<- ->
Behemoth ( 2002-02-04 16:35 ) [3]

Через ODBC значительно медленнее. да и проблема не связана с Access 2000. он и 97 так же (точнее некоторые версии офиса 97 также не могут открыть базу)

SQL Server от компании Microsoft позволяет создавать псевдоним типа данных, а также полноценный пользовательский тип данных, это можно сделать с помощью конструкции CREATE TYPE языка T-SQL, а как это реализуется, я сейчас покажу на примерах.

Создание псевдонима типа данных в Microsoft SQL Server на T-SQL

А вот псевдоним типа данных можно создать и без использования CLR, так как он основывается на собственном системном типе данных. Поэтому сегодня мы будем разбирать возможность создания псевдонима типа, а также определяемого пользователем табличного типа данных, который иногда может быть достаточно полезным.

Примечание! Все примеры ниже будут рассмотрены на версии Microsoft SQL Server 2012 Express.

Псевдоним типа данных в Microsoft SQL Server

Псевдоним типа данных – это тип данных, который основывается на уже существующем системном типе. Псевдонимы типов данных можно использовать в тех случаях, когда нам необходимо, и мы должны быть в этом уверены, чтобы в нескольких таблицах определенные столбцы имели одинаковые тип, длину данных, и возможность иметь значение NULL.

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

Для создания псевдонима типа данных необходимо придумать его название, определить системный тип данных, на котором будет основываться псевдоним, а также указать может или не может создаваемый псевдоним принимать значение NULL, если не указать, то будет применяться значение по умолчанию, которое разрешает использование NULL.

Для создания и удаления псевдонима типа данных можно использовать как графические инструменты Management Studio (SSMS), так и язык T-SQL, т.е. конструкцию CREATE TYPE для создания и DROP TYPE для удаления.

Если псевдоним типа данных создать в пользовательской базе данных, то он будет присутствовать только в ней, но если создать псевдоним в базе данных model (шаблон для создания всех пользовательских баз), он будет присутствовать во всех новых пользовательских базах данных.

Итак, давайте для примера создадим псевдоним типа данных, при этом я покажу возможность его создания как с помощью графических инструментов SSMS, так и с помощью CREATE TYPE языка T-SQL. Допустим, название нашего тестового псевдонима будет MyTestType, основан он будет на системном типе VARCHAR с длиной 100, и он будет иметь возможность принимать значение NULL.

Создание псевдонима типа данных с помощью Management Studio

Скриншот 1

Скриншот 2

Скриншот 3

Создание псевдонима типа данных с помощью CREATE TYPE

Скриншот 4

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

Определяемый пользователем табличный тип данных в Microsoft SQL Server

В SQL сервере есть специальный тип данных Table, который используется для хранения результирующего набора данных. Другими словами мы можем объявить переменную, которая может хранить табличные данные, структура которых определяется в момент объявления табличной переменной. Определяемый пользователем табличный тип данных основан на системном табличном типе данных.

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

Для создания определяемого пользователем табличного типа данных также как и для создания псевдонима типа используется конструкция CREATE TYPE. Для примера давайте создадим табличный тип данных, который будет содержать два столбца. Для этого в редакторе запросов среды Management Studio пишем следующий код:

Скриншот 5

Пример использования псевдонима типа данных и определяемого пользователем табличного типа

Для того чтобы проверить работу псевдонима типа данных и определяемого пользователем табличного типа давайте создадим процедуру, которая будет принимать два параметра. Первый параметр с типом MyTestType (т.е. VARCHAR(100)), а второй MyTestTableType (т.е. табличный тип). Возвращать она будет просто данные из входящих параметров.

Код создания процедуры:

Скриншот 6

Теперь давайте напишем SQL инструкцию, в которой мы создадим две переменные на основе наших псевдонимов, затем присвоим им значения, и выполним только что созданную процедуру, передав ей переменные в качестве параметров.

Скриншот 7

Как видим, процедура работает, т.е. возвращает данные из входящих параметров. Также хотелось бы отметить, что для внесений изменений в псевдоним типа или определяемый пользователем табличный тип нужно удалить эти типы и создать заново.

Удаление псевдонима типа данных

Удалить псевдоним типа или определяемый пользователем табличный тип можно как с помощью графических инструментов среды Management Studio, так и с помощью языка T-SQL (DROP TYPE). Удаление возможно, только в том случае, если в базе данных отсутствуют таблицы, содержащие столбцы с псевдонимом типа, а также ссылающиеся на псевдоним типа или определяемый пользователем табличный тип вычисляемые столбцы, функции, процедуры или триггеры.

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

Скриншот 8

У нас возникла ошибка, поэтому перед удалением псевдонима типа данных и определяемого пользователем табличного типа необходимо удалить все ссылающиеся объекты, в нашем случае это процедура MyTestProcedure.

Пробуем еще раз с удалением процедуры.

Скриншот 9

В этот раз все прошло успешно.


Приложение СУБД MS Access – это полноценный помощник для создания и ведения баз данных, заключенных в таблицы и массивы. Если база имеет слишком большой объем, быстро найти необходимые значения довольно сложно.

Именно поэтому в Access существует такая функция, как запросы. Рассмотрим, что это такое, как работает, какие имеет особенности.

Создание запросов в Microsoft Access

Чтобы разобраться, как создавать запросы в Access, нужно знать основные положения работы с СУБД.

Существует два способа выполнить данную процедуру:

  • Конструктор запросов.
  • Мастер запросов.

Первый способ дает возможность создать любой из всех доступных запросов в ручном режиме, но с небольшой оговоркой, заключающейся в том, что пользователь имеет опыт работы с приложением Access. Также он должен разбираться хотя бы в основных его задачах. Что касается второго способа, то его нужно рассмотреть более подробно.

Легкий путь для новичков

Знающий человек за несколько кликов мышью выбирает те компоненты, которые потребуются пользователю для выполнения запроса, а затем быстро формирует реестр, в соответствии с собранными ключевыми значениями. Если это первое знакомство с СУБД, и пользователь не представляет, как создавать запросы в Access, то выбирается программа Мастер.

Как создавать запросы в Access

В данном режиме можно ознакомиться и разобраться со следующими типами запросов:

  • Простой.
  • Перекрестный.
  • Записи без подчиненных.
  • Повторяющиеся записи.

Данный выбор осуществляется уже на первом этапе работы с Мастером. А в дальнейшем, следуя четким указаниям, даже начинающий пользователь легко создаст запрос. Познакомимся с его разновидностями.

Простой запрос

Этот инструмент работы с таблицами собирает нужные данные из указанных пользователем полей. Уже по названию видно, что это самый популярный тип запросов для новичков. Его удобство заключается в том, что такая процедура открывается в новой вкладке. Поэтому ответ на вопрос, как создать запрос в Access 2010, становится очевидным уже после открытия первого меню Мастера.

Как создавать запросы в Access 2007

Перекрестный запрос

Этот тип выборки более сложный. Чтобы разобраться, как создать перекрестный запрос в Access с помощью "Мастера" в данном режиме, нужно кликнуть по этой функции в первом окне.

Как создать запрос в Access 2010

На экране появится таблица, в которой можно выбрать до трех столбцов, расположенных в оригинале.

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

Как создать запрос на выборку в Access

На фото показано, что перекрестный запрос создан, и что по заданным параметрам совершены необходимые действия.

Повторяющиеся записи

Как понятно из названия, основное предназначение данного запроса – выборка всех одинаковых строк в таблице по указанным параметрам. Выглядит это так:

Как создать запрос с параметром в Access

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

Чтобы выбрать повторяющиеся записи, нужно раскрыть список запросов и создать там новую папку. Далее в окошке "Новый запрос" выбрать строку "Поиск повторяющихся записей". Далее нужно следовать указаниям Мастера.

Записи без подчиненных

Это последний тип запросов, доступный в режиме "Мастер – Записи без подчиненных".

В этом случае ведется выборка только тех значений, которые не задействованы ни в одном поле таблиц и запросов, но которые уже созданы.

Данный тип актуален только в случаях, когда баз данных несколько.

Как создать перекрестный запрос в Access

Все эти четыре типа запросов являются базовой точкой для работы со сложными элементами, но позволяют легко разобраться, как создать запрос в базе данных Access.

Функции запросов в MS Access

Разберемся, зачем нужно выполнять описанные выше действия. Задача всех простых и сложных запросов в СУБД Access заключается в следующем:

  • Сбор необходимых данных в таблицах, их последующих просмотр, редактирование, добавление новых значений.
  • Прекрасный исходный материал для подготовки всевозможных форм отчетности.
  • Проведение математических и статистических счетных процедур над целыми массивами данных с выводом итогов на экран (среднее значение, сумма, отклонение, итоги).

Запрос на выборку

Этот тип работы с базами данных является сложным, так как требует участия нескольких таблиц.

Необходимо, чтобы во всех таблицах были общие ключевые поля. В противном случае совершить операцию не получится.

Как создать запрос в базе данных Access

Повторим, как создать запрос на выборку в Access. Сначала нужно создать простой запрос с выбором нужных полей. Уже здесь можно редактировать данные, чтобы привести их в желаемый вид. К слову, внесенные изменения перенесутся и в исходные таблицы, так что этот момент нужно учитывать.

Как создать запрос на выборку в Access

Чтобы завершить операцию, нужно нажать на кнопку "Выполнить".

Запрос с параметрами

Это еще одна разновидность сложной процедуры, которая потребует от пользователя определенных навыков работы с базами данных. Одним из главных направлений такого действия является подготовка к созданию отчетов с объемными данными, а также получение сводных результатов. Как создавать запросы в Access 2007 с помощью конструктора, будет рассмотрено ниже.

Таким образом, на вопрос о том, как создать запрос с параметром в Access, ответ простой - внести исходные параметры для выборки. Чтобы работать с Конструктором необходимо пользоваться Мастером запросов. Там создается первичные данные для фильтрации, которые служат основой дальнейшей работы.

Расширенный перекрестный запрос

Продолжаем усложнять ситуацию. Еще труднее для понимания является информация о том, как создавать запросы в Access, если присутствует несколько таблиц с данными. Перекрестный запрос уже рассматривался выше, как один из вариантов работы с Мастером. Однако, и в режиме "Конструктора" можно создавать подобный запрос.

Как создать перекрестный запрос в Access

Перекрестные запросы – это наиболее простой способ поиска и выборки информации из нескольких источников данных, плюс с возможностью формирования диаграмм и графиков.

Более того, при использовании данной процедуры быстрее выполняется поиск, даже с несколькими вариантами развития.

Краткие рекомендации

Подводя итоги, нужно сказать, что решить, как создавать запросы в Access – с помощью Мастера или Конструктора, должен сам пользователь. Хотя, для большинства людей, которые используют СУБД MS Access, больше подойдет первый вариант. Ведь Мастер сам сделает всю работу, оставив для пользователя только несколько кликов мышью, при выборе условий запроса.

Чтобы использовать расширенные настройки, явно необходим опыт работы с базами данных на уровне профессионала. Если в работе задействованы большие базы, лучше всего обратиться к специалистам, дабы избежать нарушения работы СУБД и возможных потерь данных.

Для определения поля таблицы обязательно задаются Имя поля (Field Name) и Тип данных (Data Type).

Имя поля (Field Name). Каждое поле в таблице должно иметь уникальное имя, удовлетворяющее соглашениям об именах объектов в Access. Оно является комбинацией из букв, цифр, пробелов и специальных символов, за исключением точки (.), восклицательного знака (!), надстрочного знака (`) и квадратных скобок ([ ]). Имя не может начинаться с пробела и содержать управляющие символы с кодами ASCII от 0 до 31. Максимальная длина имени 64 символа.

Тип данных в MS Access (Data Type). Тип данных определяется значениями, которые предполагается хранить в поле, и операциями, которые будут выполняться с этими значениями. В Access допускается использование двенадцати типов данных.

Типы данных в MS Access


Рассмотрим вкратце типы данных в MS Access, виды, назначение и допустимый размер данных, которые могут назначаться полям таблицы в Access.

Читайте также: