Мегаобучалка Главная | О нас | Обратная связь


Маска ввода для даты и текста



2015-12-13 854 Обсуждений (0)
Маска ввода для даты и текста 0.00 из 5.00 0 оценок




Для удобства ввода даты в таблице договор целесообразно в свойствах поля дата__дог определить маску ввода. Маска ввода задает формат, состоящий из постоянных символов (таких как скобки, точки или дефисы) и специальных символов маски, указывающих, в какие позиции, в каком количестве и какого типа данные могут быть введены. Например, маска для > ввода даты в кратком формате имеет вид 00.00.0000, в среднем формате — QO->L<LL-0000. Специальный символ "О" указывает, что в данную позицию на его место должна быть введена цифра от 0 до 9 и ввод ее обязателен. Специальный символ "9" указывает на необязательный ввод цифры или пробела. Специальный символ "L" указывает на обязательный, ввод буквы, от А др Я или от А до Z. Специальные символы ">" и "<" указывают на перевод всех следующих знаков в верхний и нижний регистр соответственно. Воспользуйтесь значком построителя в конце строки Маска ввода длявызова мастера, который позволит без труда сформировать маску ввода.

Для ввода номера телефона в поле тел таблицы покупатель определите маску (999)000-0099, также воспользовавшись мастером. Эта маска позволит вводить номера телефонов с кодами городов и без них. Число цифр в номере телефона не может быть менее 5 и более 7. Знак 9 означает, что вместо цифр кода можно ввести пробелы, а последние две цифры номера вводить необязательно.

Создание файла базы данных Access Создание таблицы базы данных Непосредственный ввод данных в таблицы Схема данных в Access Отображение записей подчиненных таблиц в главной таблице Модификация структуры базы данных Непосредственный ввод данных в таблицы Определив структуру, можно приступить ко второму этапу создания таблицы — вводу данных в нее. Непосредственный ввод данных в таблицу осуществляется в режиме таблицы (Datasheet View). Переход в этот режим из окна базы данных выполняется нажатием кнопки Открыть(Open) при выделенной таблице в окне базы данных (рис. 3.3). Переход в режим таблицы из режима конструктора выполняется нажатием кнопки Вид(View) на панели инструментов (рис. 3.6) или выполнением команды Вид|Режим таблицы(View|Datasheet). В режиме таблицы предоставляется возможность вводить новые записи в таблицу, заполняя значениями ее поля. Дополнение таблицы новыми записями и редактирование записей разрешено по умолчанию, т.к. по умолчанию пользователь работает под логином администратора (Admin) и. ему предоставлены все права доступа к объектам базы данных. Просмотреть и изменить права доступа к данным таблицы можно по команде Сервис|Защита|Разрешения(Tools|Security|User And Group Permissions). При дополнении таблицы новыми записями может быть использован режим ввода записи, при котором видна только вводимая запись. Выполнение команды Записи|Ввод данных(Records|Data Entry) позволяет перейти в этот режим;. Для возврата к просмотру всей таблицы надо выполнить команду Записи | Удалить фильтр(Records|Remove Filter/Sort). Очевидно, что вводимые в поля таблицы значения данных должны соответствовать типам данных, определенным в структуре, а способ их запрей — допустимым в текущий момент форматам данных. Значения должны удовлетворять накладываемым ограничениям. После ввода значений в ячее поля при попытке перейти к другой ячейке Access проверяет, являются ли введенные данные допустимыми для этого поля. Если введено значение, не соответствующее типу данных поля, Access пытается преобразовать его в правильный тип данных. Если значение не является допустимым и преобразование невозможно, например, нельзя преобразовать текст в число, и появляется предупреждающее сообщение. Для того чтобы выйти из ячейки следует ввести правильное значение или отменить внесенные изменения. При заполнении связанных таблиц необходимо обеспечить правильность связей между записями этих таблиц. Так, при одно-многозначных связях таблиц и вводе записей в подчиненную таблицу необходимо отслеживать наличие в главной таблице записей с соответствующими значениями ключевых полей. При изменении или удалении ключевых полей в записях главной таблицы необходимо изменять или удалять связанные с ними записи в подчиненных таблицах. Макет таблицы Для удобства работы с таблицей можно изменить ее представление на экране. При этом можно менять ширину столбца, высоту строки, шрифт данных таблицы, цвет текста, линий сетки и фона, оформление, которое может быть обычным, приподнятым или утопленным. Можно выводить на экран только те столбцы, которые нужны для текущей работы, можно зафиксировать столбец при просмотре широких таблиц. Эти параметры отображения таблицы на экране называются макетом таблицы и сохраняются вместе с ней. Настройка макета выполняется в режиме таблицы. При этом могут быть использованы команды меню Формат(Format) или панель инструментов Формат (режим таблицы)(Formatting (Datasheet)), которую можно вызвать из контекстного меню на доступной панели инструментов. Многие операции настройки макета можно выполнить непосредственно в таблице с помощью мыши:
  • изменение ширины столбца. Для изменения ширины столбца курсор мыши устанавливается на линию, разделяющую имена столбцов. При этом он превращается в планочку со стрелками влево и вправо. Далее границу столбца можно перетащить в нужное место;
  • изменение высоты строки. Для изменения высоты строки курсор мыши устанавливается в области маркировки записи, расположенной слева, на границе между записями. Граница строки перетаскивается на требуемое расстояние. При этом изменяется высота всех строк таблицы;
  • удаление столбцов с экрана. Убрать столбец можно, перетащив его правую границу влево до исчезновения столбца;
  • изменение порядка расположения столбцов на экране. Столбец выделяется щелчком кнопки мыши на его имени. Протащив курсор мыши поперек столбцов, можно выделить несколько столбцов. Выделенный столбец перетаскивается в новое место при установке курсора на его имени (области маркировки столбца);
  • скрытие столбцов, ненужных для текущей работы, закрепление столбцов, а также отмена этих действий могут быть выполнены при помощи соответствующих команд меню Формат(Format);
  • сохранение макета таблицы выполняется командой Файл|Сохранить(File|Save Layout) или при закрытии таблицы после утвердительного ответа на вопрос "Сохранить изменения макета таблицы “<имя таблицы>”? (Do you want to save changes to the layout of table <имя таблицы>?).
Ввод данных в таблицы БД "Поставка товаров" В режиме таблицы введем несколько записей в таблицу товар. В окне Поставка товаров: база данныхустановим курсор на таблице товар и нажмем кнопку Открыть(Open). Таблица откроется в режиме таблицы (Datasheet View). Заполним строки (записи) открывшейся таблицы (рис. 3.13) в соответствии с названиями столбцов (полей). Корректность вводимых данных (соответствие заданному типу поля, размеру и условию на значение, которые определены в свойствах полей в режиме конструктора) проверяется автоматически при их вводе. Отслеживается уникальность значений ключевых полей. Отменить ввод значения в поле до перехода к другому полю можно, нажав клавишу <Esc> или выполнив команду Правка|Отменитьввод. Переход от одного поля к другому можно выполнить клавишей <Jab> или переводом курсора. Отмена ввода значения в поле после перехода к другому полю текущей записи (до перехода к другой записи) происходит с помощью клавиши <Esc> или команды Правка|Восстановить текущее поле/запись(Edit| Undo Current Field/Record). Рис. 3.13 Ввод записей в таблицу товар Завершение ввода новых значений записи или редактирования осуществляется при переходе к любой другой записи (при смене текущей записи). После перехода к другой записи можно отменить ввод (редактирование) всей записи, выполнив команду Правка|Восстановить запись(Edit|Undo Saved Record). Команда Восстановить(Undo) занимает одну позицию в меню, но в зависимости от контекста приобретает различный смысл и наименование. Это же касается и соответствующей кнопки панели инструментов, всплывающая подсказка которой сообщает о текущем её назначении. По этой команде может быть отменено только одно последнее действие. Добавление записи в таблицу начинается с заполнения пустой строки, размещенной в конце таблицы и помеченной звездочкой (*). Переход к этой записи можно выполнить также по команде Правка|Перейти|Новая запись(Edit|Go To|New Record) или нажатием кнопки Новаязапись(New Record) панели инструментов Таблица в режиме таблицы(Table Datasheet). Корректируемая запись помечается слева символом карандаша. Для создания новой записи должны быть обязательно заполнены ключевые поля, обязательные поля, а также поля связи, если установлены связи таблицы с другими таблицами. Сохранение новой записи происходит после перехода к другой записи или выполнения команды Записи|Сохранить запись(Records Save Record). Для удаления записи в таблице ее нужно сделать текущей и нажать кнопку панели инструментов Удалить запись(Delete Record) или выполнить соответствующую команду Правка|Удалить запись(Edit|Delete Record). Для исключения ошибочного удаления в Access предусмотрен запрос на подтверждение удаления. После подтверждения на удаление восстановление удаления. Изменение значений в полях записи осуществляется непосредственно в ячейках таблицы. Введенное значение проверяется Access при попытке перевода курсора в другое поле. Если значение не является допустимым, появляется предупреждающее сообщение. Для того чтобы выйти из поля, следует ввести правильное значение или отменить внесенные изменения. Отмена изменения Значения производится нажатием кнопкиВосстановить текущее поле/Запись(Undo Typing). Откорректированная запись сохраняется после перехода к другой записи или принудительного сохранения командой Записи|Сохранить запись(RecordsjSave Record). Размещение объекта OLE Рассмотрим размещение объекта OLE на примере поля ФОТО в таблице товар. Пусть фотографии хранятся в формате графического редактора Paint в файлах с расширением bmp. Рассмотрим вариант внедрения объекта в файл базы данных. Установим курсор в соответствующем поле таблицы (рис. 3.13). Выполним команду меню Вставка | Объект(Inseit | Object). В открывающемся окне (рис. 3.14) надо отметить переключатель Создать из файла(Create from File). Рис. 3.14 Окно для выбора варианта вставки объекта В следующем окне (рис. 3.15) можно ввести имя файла с фотографией. Для поиска файла можно воспользоваться кнопкойОбзор(Browse), после нажатия которой появится диалоговое окно, позволяющее Просмотреть диски и папки и выбрать необходимый файл. Рис. 3.15 Окно для выбора вставляемого объекта из файла ФлажокСвязь (Link) по умолчанию не отмечен и, следовательно, содержимое файла будет введено в поле как внедренный объект. Увидеть содержимое поля можно через форму или отчет. Дальнейшие изменения файла не будут отображаться на встроенном объекте. Для ввода в поле связанного объекта достаточно установить флажокСвязь (Link). Это сэкономит место в базе данных и даст возможность отображать все изменения, вносимые в файл другими приложениями. Результат заполнения таблицы представлен на рис, 3.13, Приведенный ранее, где в соответствующем поле указан вид объекта — точечный рисунок. Для просмотра внедренного объекта достаточно установить в соответствующем поле курсор и дважды щелкнуть кнопкой мыши. Для отображения содержимого поля в виде значка, представляющего файл с документом, в окне Вставка объекта(Insert Object) нужно установить флажок В виде значка(Display As Icon). Значок может быть использован для представления связанного объекта. Ввод логически связанных записей Введем несколько логически взаимосвязанных записей в таблицы договор и поставка_план. Логическая связь этих таблиц обеспечивается полем ном_дог — номером договора, входящим в структуру обеих таблиц. Объекты договор и поставка_план связаны одно-многозначными отношениями. Связь таких таблиц реализуется в схеме данных с помощью ключа главной таблицы договор. В подчиненной таблице это поле связи является в данном случае частью ее составного ключа. Пока не создана схема; данных, в которой устанавливаются связи между таблицами, система не может контролировать логическую взаимосвязь вводимых данных Поэтому для получение целостной базы, в которой каждая запись подчиненной таблицы имеет логически связанную с ней главную запись, пользователю придется самому отслеживать взаимосвязи записей. При вводе подчиненной записи в таблицу поставка_план необходимо проверять наличие записи в главной таблице договор с ключом, значение которого совпадает со значением поля связи (внешнего ключа) в подчиненной записи. То есть при добавлении строки плана поставки для договора Д111 необходимо, чтобы договор с этим номером уже был представлен в таблице договор. Для удобного отображения открытых таблиц можно -воспользоваться коман­дой меню Сверху вниз(Tile Horizontally) или Слева направо(Tile Vertically) в меню Окно(Windows). Далее, в разд. "Отображение записей подчиненных таблиц в главной таблице", показано, что при наличии установленных связей в схеме данных между таблицами имеется возможность отображать связанные записи подчиненных таблиц при просмотре главной таблицы, Это позволяет осуществлять автоматический контроль за корректностью связей логически связанных таблиц при добавлении, удалении и редактировании записей. Использование поля со списком при вводе записей Задачу ввода подчиненных записей только при наличии связанной записи в главной таблице можно решить с помощью поля со списком. Для этого достаточно в подчиненной таблице преобразовать поле связи в поле со списком. В качестве источника строк для списка можно использовать значения ключевого поля из главной таблицы. Создадим в таблице поставка_план для поля ном_дог (номер договора) поле со списком, построенным на основе ключа таблицы договор. Для этого откроем таблицу поставка_план в режиме конструктора (рис. 3.5). Установим курсор в поле ном_дог на столбце Тип данных(Data Type), откроем список и выберем строку Мастер подстановок(Lookup Wizard). В открывшемся окне мастера Создание подстановки(Create Lookup) установим флажок на строке, которая приведет к построению списка на основе значений из таблицы (рис. 3.17). Рис. 3.17. Первое окно Мастера подстановок В следующем окне мастера выберем таблицу договор, на значениях из которой будет строиться список поля (рис. 3.18). Далее выберем столбец, из данных которого будет формироваться список В следующих окнах мастера выберем нужную ширину столбца списка и его подпись. На этом создание мастером поля со списком завершается. Параметры списка, подготовленные мастером, отображаются вобласти Свойства поляна вкладке Подстановка Теперь при вводе данных в таблицу поставка_план можно воспользоваться списком, в котором отобразятся все значения поля ном_дог; содержащиеся в таблице договор. Выбором нужного значения из списка осуществляется ввод значения в поле ном_дог. Наличие поля со списком не запрещает ввод в поле ном_дог значений, не указанных в списке. Однако если при определении параметров списка на вкладке Подстановка в окне конструктора выбрать в строке Ограничиться списком значение Да, ввод значений, не предусмотренных в списке, будет невозможен. В случае отклонения от значений списка система выдаст сообщение В результате пользователь вынужден будет придерживаться только значений, представленных в списке, и в подчиненную таблицу будут введены только связанные записи. Таким образом, использование списков не только обеспечивает удобный ввод, но позволяет избежать многих ошибок. Рассмотрим еще один пример использования поля со списком. Преобразуем в таблице поставка_план поле код_тов (код товара) в поле со списком. Для этого откроем таблицу в режиме конструктора, установим курсор в поле код_тов на столбце Тип данных(Data Type), откроем список этого столбца и выберем строку Мастер подстановок(Lookup Wizard). В диалоге с мастером выберем главную по отношению к таблице поставка_план таблицу товар, на основе которой создается список, и поля, включаемые в список: код_тов (код товара) и наймитов (наименование товара). Кроме того, оставим, как предлагает мастер, помеченным флажок Скрыть ключевой столбец (рекомендуется). При выборе параметра Скрыть ключевой столбец (рекомендуется)для первого столбца списка устанавливается ширина, равная нулю. При этом параметр Ограничиться спискомможет принимать только одно значение — Да Определение поля со списком с такими параметрами приводит к отображению в поле код_тов вместо значений ключевого поля значений второго поля списка — поля hammjtob (наименование товара), взятого из главной габлицы товар. Таким образом, использование полей со списком поможет избежать ошибок при вводе связанных записей в таблицы как за счет того, что в таблицах вместо ключей могут быть отображены смысловые значения, так и за счет того, что ввод ограничивается набором значений в списке. При создании полей со списком Мастер подстановки автоматически создает связь между таблицей, в которой создается поле со списком, и таблицей, являющейся источником значений списка. Эту связь можно увидеть в Схеме данных (Relationships), щелкнув на кнопке панели инструментов Отобразить все связи (Show All). Очевидно, что в базе данных сложной структуры при вводе данных непосредственно в таблицы не гарантируется надежное и корректное обслуживание данных. В рассматриваемом примере базы данных "Поставка товаров" при вводе данных в таблицы нижних уровней надо отслеживать несколько вышестоящих. При большом объеме данных это очень затруднительно. Далее будут рассмотрены средства Access, позволяющие автоматизировать контроль связной целостности и сделать загрузку базы данных простой и удобной процедурой. К таким средствам относятся, прежде всего, Схема данных(Relationships) и Формы(Forms). Кроме того, может быть использовано такое простое средство, как отображение в главной таблице записей подчиненных таблиц нескольких уровней — подтаблиц. ЗАДАНИЕ 2. Создание полей со списком Создайте поле со списком для отображения в таблице договор наименований покупателей, в таблице отгрузка — кодов и наименований товаров, в таблице накладная — кодов и наименований складов.
Создание файла базы данных Access Создание таблицы базы данных Непосредственный ввод данных в таблицы Схема данных в Access Отображение записей подчиненных таблиц в главной таблице Модификация структуры базы данных Схема данных в Access Реляционная база данных, созданная в соответствии с проектом канонической модели данных предметной области, состоит из нормализованных таблиц, связанных одно-многозначными отношениями. В такой базе данных обеспечивается отсутствие дублирования данных, однократный ввод, поддержание целостности данных средствами системы. В процессе загрузки и корректировки базы данных для получения информации по запросам и вывода отчетов, а также для решения большинства задач осуществляется объединение данных из взаимосвязанных таблиц. Связи между таблицами устанавливаются в соответствии с проектом логической структуры базы данных, определяются и запоминаются в схеме данных Access. Схема данных является не только средством графического отображения логической структуры базы данных, она активно используется системой в процессе обработки данных. Система при необходимости обработки данных двух взаимосвязанных таблиц автоматически использует связи, определенные в схеме данных. Таким образом, у разработчика нет необходимости специально сообщать системе о наличии той или иной связи. Однажды указанные в схеме данных связи используются системой автоматически. Создание схемы данных позволяет упростить конструирование многотабличных форм, запросов, отчетов и страниц доступа к данным, а также обеспечить поддержание целостности взаимосвязанных данных при корректировке таблиц. Создание схемы базы данных "Поставка товаров" Рассмотрим процесс создания схемы данных, соответствующей логической структуре базы данных "Поставка товаров11, разработка которой рассмотрена в главе 2. Создание схемы данных начинается при активном окне Поставка товаров: База данных(Database) с выполнения команды Сервис|Схема данных(Tools|Relationships) или нажатия кнопки Схема данных(Relationships)на панели инструментов базы данных, после которого открываются окно схемы данных и диалоговое окно для выбора таблиц, включаемых в схему. Включение таблиц в схему данных В окне Добавление таблицы(Show Table) (рис. 3.26) выберем закладку Таблицы(Tables) и, нажимая кнопку Добавить(Add), разместим в окне Схема данных(Relationships) все ранее созданные таблицы базы данных "Поставка товаров", которые отображены в окне Добавление таблицы(Show Table). Затем нажмем кнопку Закрыть(Close). В результате в окне Схема данных(Relationships) таблицы базы будут представлены окнами со списками своих полей и выделенными жирным шрифтом ключами (рис. 3.30). Рис 3.26 Добавление таблиц в схему данных Теперь можно приступать к созданию связей между таблицами. Создание связей между таблицами схемы данных При создании связей в схеме данных используем проект логической структуры базы данных, в котором показаны одно-многозначные связи. Каждая из этих связей устанавливается по ключу связи (простому или составному). Такой ключ в одной из связанных таблиц (главной) должен быть уникальным ключом, а в другой таблице может являться частью уникального ключа или не входить в состав ключа таблицы. Одно-многозначные связи — основные в реляционных базах данных. Одно-однозначные связи используются лишь в случаях, когда приходится распределять большое количество полей, определяемых одним и тем же ключом, по разным таблицам, имеющим разный регламент обслуживания. Создание связей по простому ключу.Установим связь между таблицами покупатель и договор, которые находятся в отношении один-ко-многим. Устанавливая - связи между парой таблиц, находящихся в отношении типа 1:М, выделим в главной таблице покупатель ключевое поле код_пок, по которому устанавливается связь. Далее, удерживая нажатой кнопку мыши перетащим его в соответствующее поле подчиненной таблицы договор. Поскольку поле связи является уникальным ключом в главной таблице связи, а в подчиненной таблице связи не является ключевым, Access выявляет отношение один-ко-многим между записями этих таблиц. Значение один-ко-многим(One-To-Many) отобразится в окне Изменение связей(Edit Relationships) в строке Тип отношения(Relationship Type) (рис. 3.27). Если поле связи является уникальным ключом в обеих связываемых таблицах, Access выявляет отношение один-к-одному Если для связи таблиц вместо ключевого поля таблицы используется некоторый уникальный индекс, система также констатирует отношение таблиц как 1:М или 1:1. ЗАДАНИЕ 3. Создание связей по простому ключу Добавьте в схему данных и установите связь по простому ключу для Других пар таблиц базы данных "Поставка товаров": СКЛАД → НАКЛАДНАЯ (ключ КОД_СК), ДОГОВОР → ПОСТАВКА_ЛЛАН (КЛЮЧНОМ_ДОГ), ТОВАР → ОТГРУЗКА (КЛЮЧКОД_ТОВ), ТОВАР →ПОСТАВКА_ПЛАй (КЛЮЧКОД_ТОВ), ДОГОВОР→НАКЛАДНАЯ (КЛЮЧНОМ_ДОГ). Кнопка Новое в окне Изменение связей позволяет перейти к созданию связи между любыми двумя таблицами базы, не выходя в окно схемы данных. Определение связей по составному ключу.Определим связи между таблицами накладная → отгрузка, которые связаны по составному ключу НОМ_НАКЛ + КОД_СК. Для этого в главной таблице накладная выделим оба этих поля, удерживая клавишу <Ctrl>, и перетащим их в подчиненную таблицу ОТГРУЗКА. В окне Изменение связей(Edit Relationships) (рис. 3.28) для каждого поля составного ключа главной таблицы накладная, названной Таблица/запрос(Table/Query), выберем соответствующее поле подчиненной таблицы отгрузка, названной Связанная таблица/запрос(Related Table/Query). Рис. 3.28 Окно выбора параметров связи Обеспечение целостности данных Если связываемые в схеме данных таблицы находятся в отношении 1:1 и 1:.М, для связи можно задать параметр обеспечения связной целостности данных. Обеспечение связной целостности данных означает, что Access при корректировке базы данных обеспечивает для связанных таблиц контроль за соблюдением следующих условий:
  • в подчиненную таблицу не может быть добавлена запись с несуществующим в записях главной таблицы значением ключа связи;
  • в главной таблице нельзя удалить запись, если не удалены связанные с ней записи в подчиненной таблице;
  • изменение значений ключа связи в записи главной таблицы невозможно, если подчиненная таблица имеет связанные с ней записи, в которых не меняется соответственно ключ связи.
При попытке пользователя нарушить эти условия в операциях добавления и удаления записей или при обновлении ключевых данных в связанных таблицах Access не допускает выполнение операции и выводит соответствующее сообщение. Access не позволяет установить параметр целостности для связи таблиц, если ранее введенные в таблицы данные не отвечают требованиям целостности. Установление между двумя таблицами связи и задание для нее параметров целостности данных возможно только при следующих условиях:
  • связываемые поля имеют одинаковый тип данных, причем имена полей могут быть различными;
  • обе таблицы сохраняются в одной базе данных Access;
  • главная таблица связывается с подчиненной по первичному простому или составному ключу или уникальному индексу главной таблицы.
Для каждой из ранее установленных связей базы данных "Поставка товаров" установим в окне Изменение связей(Edit Relationships) флажок Обеспечение целостности данных(Enforce Referential Integrity). Установление связи с параметром обеспечения целостности данных возможно только в том случае, если таблицы ранее были заполнены корректными данными. В противном случае появится сообщение о невозможности установить связь. Каскадное обновление и удаление связанных записей Если для выбранной связи обеспечивается поддержание целостности, можно задать режим каскадного удаления связанных записей и режим каскадного обновления связанных полей. Такие параметры позволяют в главной таблице удалять записи и изменять значения в ключевом поле, т.к. при этих параметрах система автоматически выполнит необходимые изменения в подчиненных таблицах, обеспечив сохранение свойств целостности базы данных. В режиме каскадного удаления связанных записей при удалении записи из главной таблицы будут автоматически удаляться все связанные записи в подчиненных таблицах. При удалении записи из главной таблицы выполняется каскадное удаление подчиненных записей на всех уровнях, если этот режим задан на каждом уровне. В режиме каскадного обновления связанных полей при изменении значения поля связи в записи главной таблицы Access автоматически изменит значения в соответствующем поле в подчиненных записях. Установить в окне Изменение связей(Edit Relationships) (рис. 3.27) флажки Каскадное обновление связанных полей(Cascade Update Related Fields) и Каскадное удаление связанных записей(Cascade Delete Related Records) можно только после задания параметра обеспечения целостности данных. После создания связей изображения таблиц могут перемещаться в пределах рабочего пространства окна схемы данных. Перемещения и изменения размеров окон со списками полей таблиц в окне схемы данных осуществляются принятыми в Windows способами. На рис. 3.30 показана схема базы данных "Поставка товаров", где таблицы размещены в соответствии с размещением информационных объектов канонической модели данных, полученной при проектировании базы данных в главе 2 (рис. 2.18). Это свидетельствует о том, что одно-много-задачные связи установлены правильно (по простому или составному ключу) для них установлен параметр обеспечения целостности данных. Рис 3.30 Схема данных базы данных «Поставка товаров» ЗАДАНИЕ 4. Проверка поддержания целостности в базе данных Если в схеме данных определена связь таблиц, для которой установлены параметры обеспечения целостности, при вводе и корректировке данных во взаимосвязанных таблицах пользователь не сможет ввести записи, нарушающие требования связной целостности, рассмотренные в предыдущем разделе. Проверим, как обеспечивается поддержание целостности при внесении изменений в таблицы покупатель и договор, связанные одно-многозначными отношениями. Проверка автоматического поддержания целостности при изменении значений Ключей связи в таблицах.Откроем главную таблицу связи покупатель в режиме таблицы. Изменимзначение ключевого поля код_пок (код покупателя) в одной из записей. Убедимся, что во всех записях подчиненной таблицы договор для договоров, заключенных этим покупателем, автоматически также изменится значение поля код_пок. Изменение происходит, т.к. был установлен параметр Каскадное Обновление связанных полей(Cascade Update Related Fields) (рис. 3.27). Причем это изменение осуществляется, как только изменяемая запись перестает быть текущей. Для наблюдений за автоматическими изменениями в подчиненной таблице откроем на экране одновременно таблицы покупатель и договор. Изменим значение ключа связи код_пок в подчиненной таблице договорное значение, не существующее в записях таблицы покупатель, и убедимся, что такое изменение запрещено, т.к. при поддержании целостности не макет существовать запись подчиненной таблицы с ключом связи, которого нет вглавной таблице. Проверка при добавлении записей в подчиненную таблицу.Убедимся, что невозможно включить новую запись в подчиненную таблицу договор со значением ключа связи код_пок, не представленным в таблице покупатель. Проверка при удалении записи в главной таблице.Убедимся, что вместе q удалением записи в главной таблице покупатель удаляются все подчиненные записи в таблице договор, т.к. был установлен параметр Каскадное удаление связанных записей(Cascade Delete Related Records). Заметим, что в том случае, когда каскадное удаление не разрешено, невозможно удалить запись в главной таблице, если имеются связанные с ней записи в подчиненной. Объединение записей взаимосвязанных таблиц При создании форм, запросов, отчетов, страниц доступа к данным на основе взаимосвязанных таблиц производится объединение их записей: объединяется каждая запись из одной таблицы с каждой записью из другой таблицы при условии равенства значений в поле связи. Рассмотрим пример объединения записей таблиц товар и поставка_планпо полю код_тов. Таблица поставка_плансодержит план отгрузки товаров, заданный в спецификациях договоров. Каждая запись этой таблицы представляет один из товач ров, который должен быть отгружен в указанные сроки покупателю. Рассматриваемые таблицы находятся в отношении один-ко-многим. Поле код_тов является уникальным ключом в таблице товар. В таблице поставка_планзначения этого поля повторяются во многих записях. Пример заполнения таблиц товари поставка__план, для которых не установлен параметр обеспечения связной целостности, показан на рис. 3.31. Рис 3.31 Содержимое объединяемых таблиц товари поставка__план, В этом примере оказалось возможным наличие записей в подчиненной таблице, для которых нет логически связанных записей в главной таблице. При объединении (по умолчанию) записей по полю код_тов вследствие того, что таблицы находятся в отношении один-ко-многим, формируется таблица, в которой каждая строка подчиненной таблицы поставка_план объединяется с одной из строк таблицы товар(рис. 3.32). Как видно из таблицы результатов (рис. 3.32), ее записи образований слиянием только тех записей таблиц, которые имеют совпадающие значения поля связи код_тов = Т001, Т002, ..., Т005. Здесь объединение произведено первым способом, устанавливаемым для любой связи таблиц по умолчанию. Если для некоторой записи, например, записи с кодом товара Т008 в таблице товар отсутствуют связанные записи в другой таблице — объединять запись не с чем — и в результат такая запись не включается. Именно по этой причине в результате объединения таблиц товари поставка_планотсутствуют записи о товарах, не представленных в плане поставки, а также записано плановых поставках, в которых указан товар, отсутствующий в таблице ТОВАР. Для каждой связи двух таблиц могут быть указаны и другие способы объединения записей по ключу связи. Всего их три: 1. Объединение только тех записей, в которых связанные поля обеих таблиц совпадают (производится по умолчанию). 2. Объединение тех записей, в которых связанные поля обеих таблиц совпадают, а также объединение всех записей из первой таблицы, для которых нет связанных во второй, с пустой записью второй таблицы. 3. Объединение тех записей, в которых связанные поля обеих таблиц совпадают, а также объединение всех записей из второй таблицы, для которых нет связанных в первой; с пустой записью первой таблицы. Любой из перечисленных способов объединения может быть выбран для связи вне зависимости от того, находятся связываемые таблицы в отношениях 1:1, 1:М или тип отношения не может быть определен системой. Выбор способа объединения записей В окне Изменение связей(Edit Relationships) (рис. 3.28) есть кнопка Объединение.При нажатии этой кнопки появится окно Параметры объединения,и можно будет убедиться, что для связываемых таблиц по умолчанию выбран первый способ объединения (рис. 3.33). Рис 3.33 Окно выбора способа объединения связываемых таблиц Результаты объединения таблиц получены по запросу выборки (описание запросов см. в главе 7), в котором определены включаемые в результат запроса поля из объединяемых таблиц. Заметим, что для каждого способа объедине­ния таблиц должен формироваться новый запрос. При объединении таблиц вторым способом к записям, полученным первым способом, добавились записи из таблицы товар, не имеющие связанных записей в таблице поставка__план. Каждая такая запись дополнена полями записи поставка_план, которые содержат значения Null.Такая ситуация возникла вследствие того, что в плане отсутствуют заказы на тойары Т006, Т007, ..., Т010. Null— это неизменяющаяся константа, которая означает, что поле не содержит символов или значений. Поле получает значение Null, когда его содержимое неизвестно. Такое поле не следует путать с полем, содержащим пустую строку (""), хотя выглядят они одинаково. Значение Null можно ввести в поле или использовать в выражениях и запросах для указания отсутствующих или неизвестных данных: Пустая строка служит для указания того, что строковое значение для этого поля отсутствует. Для ввода пустой строки с клавиатуры следует ввести два символа прямых кавычек без пробела (""). Пользователь имеет возможность различать значения Null и пустые строки с помощью выражения. При объединении таблиц третьим способом к записям, полученным первым способом, добавились записи из таблицы поставившая, не имеющие связанных записей в таблице товар. Каждая такая запись дополнена полями записи товар, которые содержат значения Null. Такая ситуация возникает, если в таблицу товар не внесены сведения о новых товарах Т015 и Т016 или договор заключен на не существующий товар. Напомним, что если для связи товар > поставка_план установлен параметр обеспечения целостности, ввод в таблицу поставка_план записей с указанием товаров, отсутствующих в таблице товар, невозможен.
Создание файла базы данных Access Создание таблицы базы данных Непосредственный ввод данных в таблицы Схема данных в Access Отображение записей подчиненных таблиц в главной таблице Модификация структуры базы данных Отображение записей подчиненных таблиц в главной таблице В Access имеется возможность при просмотре главной таблицы отображать записи подчиненных та

2015-12-13 854 Обсуждений (0)
Маска ввода для даты и текста 0.00 из 5.00 0 оценок









Обсуждение в статье: Маска ввода для даты и текста

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

Популярное:



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (854)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.012 сек.)