Урок 21система управления базой данных access

Поле мемо в access 2020

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

2004-03-11 11:49

2004-03-11 12:05

for i:=0 to Memo.Lines.Count do

2004-03-11 12:07

ищи глюк в 17й строке.

2004-03-11 12:10

что значит в 17 строке. откуда вообще взялся этот номер.

2004-03-11 12:16

Обычно именно там ошибки !

2004-03-11 12:17

это номер ошибки в коде которого нет. (обшеупотребимаяинетопрограммисткая строка ошибок)

2004-03-11 12:42

Ну, что Вы замучили человека 17 строкой. Не знает он пока, что она означает.Скорее всего у тебя при редактировании текста в Memo, в какой-то строке появляются какие-нибудь спецсимволы, это и приводит к определенным последствиям. У меня такое уже было, но только при других обстоятельствах. Скорее всего это глюки Memo. Он сам вставляет какие-то символы без ведения юзера. Отсюда делай выводы.

2004-03-11 12:51

> в какой-то строке появляются какие-нибудь спецсимволыага и эти «спец» символы #13#10

> Скорее всего это глюки Memo.да вот уж нет, это точно глюк в 17 строке, а у мемо такого не бывает у него исходники в модуле StdCtrls лежат, и если уж говорить про глюк то с точным указанием строк.ты в каких нашол глюки мемо?

2004-03-11 13:12

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

2004-03-11 13:45

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

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

> вот оттуда то ноги и растут. ноги почти всегда растут из кривого кода, того кто спрашивает. а никак не от кривизны стандарттных компонент.

> Если тебе так интересно в какой это строке. я то как раз говорил что мемо глюков нет, ты утверждаеш обратное. приведи строку или это голословное утверждение?

2004-03-11 17:01

ну и в чём может быть глюк кода. :Table1.FieldByName(«osnovanie»).AsString := Memo2.Text;

2004-03-11 17:25

> ну и в чём может быть глюк кода. :с мемо полями через строки не работаютпочитай проMemo1.Lines.SaveToStream(); TMemoField.LoadFromStream();также по в/из файла.

2004-03-11 17:51

for i:=0 to Memo.Lines.Count doно этот вариант сработал.

2004-03-11 18:02

sherminator (11.03.04 17:51) чегото не видно в этом коде как запись в базу ложится, может у тебя и мемо поле вовсе а ложиш как набор строк. а то и только одну строку из всего набора.

но раз устраивает то слава богу, только надо было бы после гдето после поста цветочка сказать ему спасибо, а всем остальным что проблема решена таким способом. и все бы были довольны. (более менее)

2004-03-11 18:12

просто перебор строк и присвоение переменной стринговой. m := m + Memo.Lines а потом добавление м в таблицу. но хочется дознаться до истины. кстати прочитал в доке что SaveToStream для работы с рисунками. (((

2004-03-11 18:25

> просто перебор строк и присвоение переменной стринговой. соеденение набора в одну строку (убирается #13#10, форматирование). строка естественно проходит.

> кстати прочитал в доке что SaveToStream для работы с рисунками. (((не для работы с рисунками, а с рисунками тоже. вообще для данных, в любом формате.

2004-03-11 18:31

Дополнительные параметры форматирования

Чтобы просмотреть дополнительные параметры форматирования, нажмите стрелку форматирования Datasheet в нижнем правом углу группы форматирования текста.

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

В конечном итоге у Вас изменится вид таблицы и станет напоминать Excel.

Типы таблиц и ключей в реляционных базах данных. Индексы. Взаимосвязи таблиц. Обеспечение целостности данных.

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

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

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

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

Внешние
ключи.
Внешний
ключ — это столбец, значения которого
соответствуют значениям первичного
ключа другой связанной таблицы.

Индексы

Индекс
(index) представляет собой список позиций
записей, который показывает порядок их
следования.Для
ключевого поля автоматически строится
индекс.

Взаимосвязи
таблиц

При
создании в Access схемы данных в ней
определяются и запоминаются связи между
таблицами.

Виды
связей

Одно-многозначные
(1:М) или одно-однозначные (1:1)
связи.
Схема данных прежде всего ориентирована
на работу с таблицами, отвечающими
требованиям нормализации, между которыми
могут быть установлены одно-многозначные
(1:М) или одно-однозначные (1:1) связи, для
которых может автоматически поддерживаться
связная целостность. Access выявляет
отношение один-ко-многим между записями
главной таблицы к подчиненной. В этом
случае можно задать автоматическое
поддержание целостности связей.

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

Обеспечение
целостности данных

Для
связей типа 1:1 и 1:М можно задать параметр
обеспечения связной целостности данных,
а также автоматическое каскадное
обновление и удаление связанных записей.
Обеспечение связной целостности данных
означает, что Access при корректировке
базы данных обеспечивает для связанных
таблиц контроль
засоблюдением
следующих условий:

1.     В
подчиненную таблицу не может быть
добавлена запись с несуществующим в
главной таблице значением ключа связи;

2.     В
главной таблице нельзя удалить запись,
если не удалены связанные с ней записи
в подчиненной таблице;

3.     Изменение
значений ключа связи в записи главной
таблицы невозможно, если в подчиненной
таблице имеются связанные с ней записи.

При
попытке пользователя нарушить эти
условия в операциях добавления и удаления
записей или обновления ключевых данных
в связанных таблицах Access выводит
соответствующее сообщение и не допускает
выполнения операции.

 Access
не позволяет установить параметр
целостности для связи таблиц, если ранее
введенные в таблицы данные не отвечают
требованиям целостности.

Ключевое поле таблицы MS Access, его назначение, способы задания

База данных может состоять из нескольких таблиц, содержащих различную информацию. Эти таблицы связаны между собой каким-либо определённым полем, называемым ключевым полем.

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

Для Access обязательным является определение ключевого поля для таблицы. Для его определения достаточно выделить поле и выбрать команду Ключевое поле меню Правка.

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

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

Для внешних полей при создании связи также происходит автоматическое создание индекса (в данном случае вторичного).

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

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

В качестве ключевого поля в этих таблицах можно использовать поле Код типаСчётчик, автоматически формируемое Access при создании структуры таблицы, или в каждой таблице задать поле Табельный номер, по которому затем связать таблицы. Таблицы при этом будут связаны так называемым реляционным отношением. Последовательность действий пользователя при создании таблиц Сотрудник и Адрес.

Виды индексированных полей в MS Access, примеры

Свойство «Индексированное поле» (Indexed) определяет индекс, создаваемый по одному полю. Индекс ускоряет выполнение запросов, в которых используются индексированные поля, и операции сортировки и группировки. Например, если часто выполняется поиск по полю «Фамилия» в таблице «Сотрудники», следует создать индекс для этого поля.

Значение данного свойства можно задать только в окне свойств в режиме конструктора таблицы. Индекс по одному полю может быть определен путем установки свойства Индексированное поле (Indexed). Кроме того, можно выбрать команду Индексы в меню Вид или нажать кнопку «Индексы» на панели инструментов. Будет открыто окно индексов.

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

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

Значения данного свойства и относящиеся к нему типы элементов управления влияют на отображение поля как в режиме таблицы, так и в режиме формы.

Рассмотрим некоторые из этих дополнительных свойств:

Свойство «Тип элемента управления»(DisplayControl) содержит раскрывающийся список типов элементов управления, доступных для выбранного поля. Для полей с типами «Текстовый» или «Числовой» для данного свойства возможен выбор поля, списка или поля со списком. Для логических полей возможен выбор поля, поля со списком или флажка.

Свойства «Тип источника строк» (RowSourceType), «Источник строк» (RowSource) определят источник данных для списка или поля со списком.

Например, для того чтобы вывести в строках списка данные из запроса «Список клиентов», следует выбрать для свойства Тип источника строк значение «Таблица/запрос» и указать в свойстве Источник строк имя запроса «Список клиентов».

Если список должен содержать небольшое число значений, которые не должны изменяться, можно выбрать в свойстве Тип источника строк (RowSourceType) «Список значений» и ввести образующие список значения в ячейку свойства Источник строк (RowSource). Элементы списка отделяются друг от друга точкой с запятой.

Тип данных NULL

Вообще-то это лишь условно можно назвать типом данных. По сути это скорее указатель возможности отсутствия значения. Например, когда вы регистрируетесь на каком-либо сайте, вам предлагается заполнить форму, в которой присутствуют, как обязательные, так и необязательные поля. Понятно, что регистрация пользователя невозможна без указания логина и пароля, а вот дату рождения и пол пользователь может указать по желанию. Для того, чтобы хранить такую информацию в БД и используют два значения:

NOT NULL (значение не может отсутствовать) для полей логин и пароль,

NULL (значение может отсутствовать) для полей дата рождения и пол.

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

create table users (login varchar(20), password varchar(15), sex enum(‘man’, ‘woman’) NULL, date_birth date NULL);

Таким образом, мы создаем таблицу с 4 столбцами: логин (не более 20 символов) обязательное, пароль (не более 15 символов) обязательное, пол (мужской или женский) не обязательное, дата рождения (тип дата) необязательное.

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

Ключевое поле таблицы MS Access, его назначение, способы задания

База данных может состоять из нескольких таблиц, содержащих различную информацию. Эти таблицы связаны между собой каким-либо определённым полем, называемым ключевым полем.

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

Для Access обязательным является определение ключевого поля для таблицы. Для его определения достаточно выделить поле и выбрать команду Ключевое поле меню Правка. Если требуется определить составной ключ, но необходимо выделить требуемые поля при нажатой клавише Ctrl, а затем выбрать командуКлючевое поле. При определении ключевого поля автоматически создается уникальный индекс, определяющий физический порядок записей в таблице. Этот индекс является первичным индексом для таблицы и имеет зарезервированное имяPrimaryKey. Для составных ключей существенным может оказаться порядок образующих ключ полей, так как упорядочение записей будет проводиться вначале по первому полю, затем по второму и т.д. Для внешних полей при создании связи также происходит автоматическое создание индекса (в данном случае вторичного).

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

В качестве ключевого поля в этих таблицах можно использовать поле Код типаСчётчик, автоматически формируемое Access при создании структуры таблицы, или в каждой таблице задать поле Табельный номер, по которому затем связать таблицы. Таблицы при этом будут связаны так называемым реляционным отношением. Последовательность действий пользователя при создании таблиц Сотрудник и Адрес.

Виды индексированных полей в MS Access, примеры

Свойство «Индексированное поле» (Indexed) определяет индекс, создаваемый по одному полю. Индекс ускоряет выполнение запросов, в которых используются индексированные поля, и операции сортировки и группировки. Например, если часто выполняется поиск по полю «Фамилия» в таблице «Сотрудники», следует создать индекс для этого поля.

Значение данного свойства можно задать только в окне свойств в режиме конструктора таблицы. Индекс по одному полю может быть определен путем установки свойства Индексированное поле (Indexed). Кроме того, можно выбрать команду Индексы в меню Вид или нажать кнопку «Индексы» на панели инструментов. Будет открыто окно индексов.

Вкладка Подстановка на бланке свойств поля используется для указания элемента управления, используемого по умолчанию для отображения поля. После выбора элемента управления на вкладке Подстановка выводятся все дополнительные свойства, необходимые для определения конфигурации элемента управления. MicrosoftAccess задает значения этих свойств автоматически, если в режиме конструктора таблицы для поля в столбце «Тип данных» выбирается «Мастер подстановок». Значения данного свойства и относящиеся к нему типы элементов управления влияют на отображение поля как в режиме таблицы, так и в режиме формы.

Рассмотрим некоторые из этих дополнительных свойств:

Свойство «Тип элемента управления»(DisplayControl) содержит раскрывающийся список типов элементов управления, доступных для выбранного поля. Для полей с типами «Текстовый» или «Числовой» для данного свойства возможен выбор поля, списка или поля со списком. Для логических полей возможен выбор поля, поля со списком или флажка.

Свойства «Тип источника строк» (RowSourceType), «Источник строк» (RowSource) определят источник данных для списка или поля со списком. Например, для того чтобы вывести в строках списка данные из запроса «Список клиентов», следует выбрать для свойства Тип источника строк значение «Таблица/запрос» и указать в свойстве Источник строк имя запроса «Список клиентов». Если список должен содержать небольшое число значений, которые не должны изменяться, можно выбрать в свойстве Тип источника строк (RowSourceType) «Список значений» и ввести образующие список значения в ячейку свойства Источник строк (RowSource). Элементы списка отделяются друг от друга точкой с запятой.

Дата добавления: 2018-02-28 ; просмотров: 830 ; ЗАКАЗАТЬ РАБОТУ

Параметры форматирования таблиц

Цвет чередующихся строк

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

Чтобы изменить цвет другой строки:

  1. 1. Выберите вкладку «Главная» и найдите группу форматирования текста.
  1. 2. Нажмите стрелку раскрывающегося списка «Альтернативный ряд».
  1. 3. Выберите цвет в раскрывающемся меню или выберите «Нет цвета», чтобы удалить цвет другой строки.
  1. 4. Цвет вашей альтернативной строки будет обновлен.

Справочная информация

ДокументыЗаконыИзвещенияУтверждения документовДоговораЗапросы предложенийТехнические заданияПланы развитияДокументоведениеАналитикаМероприятияКонкурсыИтогиАдминистрации городовПриказыКонтрактыВыполнение работПротоколы рассмотрения заявокАукционыПроектыПротоколыБюджетные организацииМуниципалитетыРайоныОбразованияПрограммыОтчетыпо упоминаниямДокументная базаЦенные бумагиПоложенияФинансовые документыПостановленияРубрикатор по темамФинансыгорода Российской Федерациирегионыпо точным датамРегламентыТерминыНаучная терминологияФинансоваяЭкономическаяВремяДаты2015 год2016 годДокументы в финансовой сферев инвестиционной

Примеры

Использование функции Format в выражении. Функцию Format можно использовать в любых выражениях. Можно, например, использовать ее в запросе в виде части псевдонима поля или в свойстве Данные текстового поля в форме или отчете. Ниже представлен пример выражения, которое можно использовать в свойстве отчета Фильтр, чтобы вывести только записи, относящиеся к прошлой неделе.

В этом примере в источнике записей отчета есть поле «Дата», содержащее дату изменения каждой конкретной записи и использующееся в отчете. Во время выполнения отчета результаты фильтруются и отображаются только те записи, в которых значение недели в поле «Дата» (Format(,»ww»)) равно прошлой неделе (Format(Now(),»ww»)-1).

Использование функции Format в коде VBA

Примечание: В примерах ниже показано, как использовать эту функцию в модуле Visual Basic для приложений (VBA). Чтобы получить дополнительные сведения о работе с VBA, выберите Справочник разработчика в раскрывающемся списке рядом с полем Поиск и введите одно или несколько слов в поле поиска.

В данном примере показаны различные варианты использования функции Format для форматирования значений с помощью предварительно заданных форматов и форматов, определенных пользователем. Для разделителя даты ( /), разделителя времени ( и литералов AM/ PM фактические отформатированные выходные данные, отображаемые системой, зависят от ее региональных параметров. В среде разработки для отображения времени и даты используется краткий формат времени и даты, заданный в региональных параметрах программы. При отображении в работающей программе применяется краткий формат даты и времени из региональных параметров системы, который может отличаться от региональных параметров программы. В этом примере используется локаль «Английский (США)».

MyTime и MyDate отображаются в среде разработки с использованием текущих системных параметров для краткого формата времени и даты.

Использование функции Format с пустыми строками

В Microsoft Access версии 2,0 и более ранних версиях можно использовать функцию Format , чтобы возвращать одно значение для пустая строка, а другое — для значения. Например, вы можете использовать выражение формата, например следующее, с функцией Format , чтобы вернуть соответствующее строковое значение из кода:

В Microsoft Access 97 и более поздних версиях необходимо отдельно проверить, не равно ли значение Null, а затем вернуть соответствующее значение с учетом результата. Например, можно использовать функцию IIf в выражении с функцией Format:

varX = IIf(IsNull(varStrX),»Null», Format(varStrX, «@;ZLS»))

Данное изменение применимо только тогда, когда функция Format используется для форматирования строк в зависимости от того, пустая ли это строка или строка со значением Null. Другие выражения форматирования, используемые с функцией Format, действуют так же, как в предыдущих версиях.

При преобразовании базы данных из Microsoft Access 2.0 или более ранней версии в Microsoft Access 2002 или более поздней версии необходимо изменить текст программы так, чтобы проверка для случая Null выполнялась отдельно.

Определения основных понятий

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

  1. Предметная область – множество созданных таблиц в базе данных, которые связаны между собой с помощью первичных и вторичных ключей.
  2. Сущность – отдельная таблица базы данных.
  3. Атрибут – заголовок отдельного столбца в таблице.
  4. Кортеж – это строка, принимающая значение всех атрибутов.
  5. Первичный ключ – это уникальное значение (id), которое присваивается каждому кортежу.
  6. Вторичный ключ таблицы «Б» – это уникальное значение таблицы «А», использующееся в таблице «Б».
  7. SQL запрос – это специальное выражение, выполняющее определенное действие с базой данных: добавление, редактирование, удаление полей, создание выборок.

Теперь, когда в общих чертах есть представление о том, с чем мы будем работать, можно приступить к созданию БД.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector