Как сделать подтаблицу в access?

В Access 2007 можно вводить данные непосредственно в таблицу в режиме таблица. Но обычно для ввода данных в БД Access 2007 используют формы (forms). Form ускоряет работу с базой данных. Form в БД — это структурированное интерактивное окно с элементами управления, в котором отображаются поля одной или нескольких таблиц или запросов.

Форму можно использовать для ввода, изменения или отображения данных из таблицы или запроса. В Microsoft Office Access 2007 предусмотрены новые средства, помогающие быстро создавать forms, а также новые типы форм и функциональные возможности.

Формы в БД Access можно создавать с помощью различных средств:

  • инструмента Form;
  • инструмента Разделенная form;
  • инструмента Несколько элементов;
  • инструмента Пустая form;
  • Мастера form;
  • Конструктора form.

Все средства создания форм помещены в группу forms на вкладке Создание (рис. 1).

Как сделать подтаблицу в access? Рис. 1.

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

В Microsoft Access 2007 предусмотрено два режима внесения изменений и дополнений в формы: режим макета и режим конструктора.

Переход между режимами (открыть, режим макета, конструктор) можно выполнить, щелкнув правой кнопкой мыши форму в области переходов, а затем выбрать нужный режим в контекстном меню.

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

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

Инструмент «Форма». Для быстрого создания формы, т.е. создания одним щелчком мыши можно воспользоваться инструментом Form. В этом случае надо выделить таблицу в области объектов. Затем перейти на вкладку Создание и щелкнуть на пиктограмме Form. На экране будет отображена form (рис 2).

Как сделать подтаблицу в access? Рис. 2.

Если Access обнаруживает одну таблицу, связанную отношением «один-ко-многим» с таблицей или запросом, который использовался для создания формы, Access добавляет таблицу данных в форму, основанную на связанной таблице или запросе. Если таблица данных в форме не нужна, ее можно удалить.

Средство «Разделенная форма». Разделенная form — новая возможность в Microsoft Access 2007, которая позволяет одновременно отображать данные в режиме формы и в режиме таблицы. В области объектов (переходов) выделить таблицу, например Успеваемость. Далее щелкнуть на пиктограмме «Разделенная forms» на вкладке Создать. На экране будет отображена form (3).

Как сделать подтаблицу в access? Рис. 3.

Инструмент «Несколько элементов». Форму, в которой отображается не одна, а одновременно несколько записей, можно создать инструментом «Несколько элементов» (рис. 4).

Чтобы создать данную форму выделим в области объектов (переходов) одну из таблиц (например, Успеваемость). Затем перейдем на вкладку Создание и щелкнем на пиктограмме «Несколько элементов».

На экране будет отображена form (рис. 4) в режиме макета.

Как сделать подтаблицу в access? Рис. 4.

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

Средство Пустая форма. Этот инструмент можно использовать в том случае, если необходимо быстро создать форму с несколькими полями. Form открывается в режиме «Работа с макетами форм» и при этом отображается область Список полей (рис. 5).

Как сделать подтаблицу в access? Рис. 5.

Мастер форм. Создание форм при помощи мастера форм осуществляется быстро, и это средство позволяет включить в форму поля из нескольких связанных таблиц или запросов.

На вкладке Создание в группе Формы надо нажать кнопку Другие формы, а затем выбрать команду Мастер форм.

Откроется окно диалога Создание форм, в котором необходимо отвечать на вопросы каждого текущего экрана Мастера и щелкать на кнопке Далее.

В первом окне необходимо выбрать поля из источника данных (таблиц или запросов). Для этого надо открыть список Таблицы и запросы, щелкнув на кнопку, справа. Например, выберем из списка таблицу Студенты.

Как сделать подтаблицу в access? Рис. 6.

Затем все «Доступные поля» переведем в «Выбранные поля», выделив их и щелкнув на кнопку >>.

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

В следующем окне надо выбрать внешний вид, например в один столбец и щелкнуть Далее. В следующем окне выберем требуемый стиль — официальный

После выбора стиля, требуется перейти в последнее окно, щелкнув на кнопке Далее. В последнем окне Мастера требуется ввести имя (например, Студенты мастер_форм) и указать дальнейшие действия: Открыть форму для просмотра и ввода данных; Изменить макет формы.

После ввода имени формы (например, Студенты), выбора режима: «Открыть форму для просмотра и ввода данных» и щелчка на кнопке Готово, получим следующую форму для ввода и просмотра записей в таблицу Студенты.

Как сделать подтаблицу в access? Рис. 7.

Конструктор форм. Для создания новой пустой формы Студенты необходимо выполнить следующее:

  1. В окне приложения Access 2007 выбрать вкладку Создание. Выполнить щелчок на пиктограмме «Конструктор форм». В окне редактирования появится окно Form1 с пустой областью данных.
  2. Для отображения списка полей требуемой таблицы выполнить щелчок на пиктограмме «Добавить существующие поля», появится список таблиц. Щелкнув на знак «+» таблицы (например, Студенты), откроется список необходимых полей (рис.7).

Как сделать подтаблицу в access? Рис. 8.

3. Поля из списка переместить на форму. Добавление полей осуществляется при нажатой левой кнопки мыши.

4. Поместить поля на форму (рис. 9).

Как сделать подтаблицу в access? Рис. 9.

5. Перемещение полей и их имен по форме производиться следующим образом:

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

6. Сохранить форму.

7. Просмотреть форму Студенты_конструктор, выполнив на ней двойной щелчок в области переходов.

Как сделать подтаблицу в access? Рис. 10.

Если вид формы не удовлетворяет, ее можно открыть в режиме Конструктор и внести необходимые изменения, затем сохранить.

Далее >>> Раздел: 2.4.7. Создание отчетов в Access 2007

Источник: https://www.lessons-tva.info/edu/inf-access/access_6.html

Шаг 28. Использование подтаблиц

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

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

Например, в БД Образование таблица Студенты связана по полю КодСтудента с таблицей Успеваемость, в которой находятся оценки студентов.

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

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

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

Например, для таблицы Студенты такая структура будет создана на основе таблицы Успеваемость (рис. 1).

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

Как сделать подтаблицу в access? Рис. 1. Таблица Студенты с подтаблицей Успеваемость

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

   С другой стороны, чтобы свернуть все раскрытые подтаблицы, следует выполнить команду Формат | Подтаблица | Свернуть все.

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

   Чтобы удалить имеющуюся подтаблицу, следует воспользоваться командой Формат | Подтаблица | Удалить. В этом случае подтаблица будет удалена, и пользователь для данной таблицы может создавать подтаблицу по своему усмотрению.

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

   Чтобы создать новую подтаблицу, необходимо в открытой таблице выполнить команду Вставка | Подтаблица. Затем в диалоговом окне Вставка подтаблицы (рис. 2) можно выбрать таблицу (или запрос), данные из которой будут отображаться в подтаблице.

Как сделать подтаблицу в access? Рис. 2. Диалоговое окно Вставка подтаблицы

   Для таблицы Студенты в качестве подтаблицы необходимо на вкладке Таблицы выбрать Успеваемость. Затем нужно в качестве параметров Подчиненные поля и Основные поля указать поля, по которым выполняется связь (в данном случае это КодСтудента), и нажать кнопку ОК.

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

Эти действия можно увидеть здесь, а взять клип здесь.

   Можно также создать сложную структуру, состоящую из нескольких подтаблиц.

   Например, было бы удобно отображать для каждой оценки название предмета, по которому она получена. Для этого необходимо развернуть подтаблицу для одной из записей (рис. 1) и установить в ней курсор. Затем нужно выполнить команду Вставка | Подтаблица, выбрать для связи таблицу Предметы и указать в качестве связующего поля КодПредмета.

   В результате будет получена структура «подтаблица в подтаблице», т.е. для каждой оценки интересующего студента можно отобразить соответствующий предмет.

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

В частности, для оценок отображаются предметы, для которых отображаются оценки и т. д.

Читайте также:  Как сделать фиксированный масштаб на всех документах word 2010?

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

   Для этого следует в таблице Студенты развернуть подтаблицу Успеваемость, в которой для какой-либо записи отобразить подтаблицу Предметы. Затем установить в последнюю подтаблицу курсор, снова выполнить команду Вставка | Подтаблица.

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

В результате получится структура, состоящая из четырех уровней: основная таблица Студенты и три вложенные подтаблицы Успеваемость => Предметы => Преподаватели (рис. 3).

Как сделать подтаблицу в access? Рис. 3. Таблица Студенты с несколькими подтаблицами

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

Источник: http://it.kgsu.ru/MSAccess/access28.html

Как создать подтаблицу в Access в этой ситуации?

  • Это действительно самая базовая связанная таблица, которую вы можете сделать — это очень подходит для любой системы баз данных.
  • Стол будет стоить
  • Id — pk id (все таблицы должны иметь этот PK) Идентификатор объекта — стандартный длинный столбец чисел, используемый для привязки к таблице активов.

Пункт (описание стоимости (краска, шины, ремонт сиденья и т.д. И т.д.) Стоимость (сумма данного предмета)

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

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

Таким образом, форма будет выглядеть примерно так:

Как сделать подтаблицу в access?

В приведенном выше примере (приложение доступа и базовая форма, которые я создал в Access), у меня на самом деле есть «два» столбца, в которых можно выбрать тип «item» или «cost».

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

Со временем вы можете добавить любой «новый» элемент затрат без необходимости создания новой таблицы или изменения структуры базы данных.

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

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

Поэтому любое понятие, которое вы имеете в отношении электронных таблиц и т.д., Должно быть выброшено из вашего ума. Компьютерные информационные системы ПРОСТО НЕ РАБОТАЮТ, ЧТО ПУТЬ И НЕ МОЖЕТ РАБОТАТЬ, ЧТО ПУТЬ!

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

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

Эта модель данных, если она сделана правильно, может использоваться ТОЛЬКО для очень сложных систем учета, ERP-систем или даже веб-магазина, у которого есть 1000 или даже миллионы различных продуктов. Такие модели данных разрабатываются первыми, а затем формы и пользовательский интерфейс, отчеты и т.д. Созданы.

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

В приведенном выше примере у нас есть счет-фактура, подобный настройке, и мы можем добавить столько вещей, которые мы хотим совершить в бронировании тура. (Билеты, куртки, книги, коньки, шины, краски, сиденья и окна — все, что мы хотим — мы просто добавляем новую строку для всех, что нам нужно.

Подумайте о каком-либо программном обеспечении «счет-фактура», которое вы использовали, — вы можете добавить столько элементов, которые вы хотите к этому счету.

Реляционная база данных НЕ поддерживает всю новую таблицу для каждой новой «стоимости», которую вы хотите построить. Базы просто не работают таким образом. Таким образом, вы только (пока) действительно нуждаетесь в главной таблице актива, а затем в детской таблице «затраты».

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

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

Таким образом, КАЖДЫЙ один пример в Интернете, каждой книге и каждой статье, в которой объясняется, как связать основную таблицу с дочерней таблицей, на самом деле на 100% уместен и как вам нужно подойти к этой проблеме.

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

Источник: https://qarchive.ru/15700027_kak_sozdat__podtablitsu_v_access_v_etoi__situatsii_

Создание отношения между таблицами в Access

Я окончательно перестал понимать, что происходит. У меня есть таблица, две подтаблицы которой похожи между собой. Мне нужно сделать так, чтобы было установлено отношение между этими подчиненными таблицами (которые содержат одинаковые поля, на рисунке – DataID – как ключ, и SectionRef – ссылка на основную таблицу).

Так вот, мне нужно чтобы уникальные записи таблицы Other исключительно соотносились с каждой записью в одной из таблиц SubS – 1 или 2. Я прилагаю рисунок, потому что не очень понимаю, как это можно сделать. Я пытался сделать источником ссылки запрос на объединение (UNION двух таблиц, но ведь они же сдержат одинаковые ключи!), так что этот вариант провалился.

Я чувствую, что решение – рядом, но никак не могу его найти…

link removed

Честно скажу .. пытался вникнуть .. но не смог в итоге понять что надо :angry: Есть таблица Section — основная таблица.
Каждой записи в таблице Section может соответствовать несколько записей в одной из подтаблиц SubSection 1 и Subsection 2.

КАЖДОЙ записи в таблицах SubSection 1 и SubSection2 могу соответствовать несколько записей в таблице Other, которая явлется починенной по отношению к каждой из них.

Отлично .. понятно .. и что надо сделать ещё раз ? Конечно. неправильный. как же…. Ладно, хотите сделать все непонятнее? Пожалуйста…
Есть договор, данные по нему находятся в таблице Sections
Сам договор может быть на одних условиях SubSection1 или на других условиях которые отражены в таблице SubSection2. Совершенно очевидно, что каждой уникальной записи Sections могут соответствовать несколько записей, но только одной из подчиненных SubSection таблиц, а не двух одновременно. При этом есть таблица Размещение (Others), которая может иметь несколько записей, соответствующих каждой уникальной записи в одной из соответсвующих таблиц SubSections. Соответственно, возможна ситуация, когда SectionID1 соответствуют две записи SebSection1ID1 и SebSection1ID2, каждой из которых соответствует энное количество записей Others. И при этом записи в основной таблице SectionID2 соответствуют две (например) записи SebSection2ID1 и SebSection2ID2. Проблема в том, что ключи в каждой из таблиц могут совпадать.
При этом объединить две подчиненных таблицы не представляется возможным, потому что на самом деле их три и вероятно будет до пяти и все имеют разную структуру (которая с точки зрения Others не имеет значения. Главное, что в любой подчиненной таблице будут два поля — ID, понятное дело, и SectionRefernece – ссылка на запись в основной таблице. Конечно, можно сделать все это без создания связи между таблицами, но хотелось бы поддерживать единство данных, а без связи такое мне кажется невозможным…

Случайный вопрос: может быть, использовать вторичный ключ?

PRIMARY KEY

Чтобы не было вопросов, в каждой из указанный подтаблиц SubSection 1 и SubSection 2 ключевым столбцом является DataID. Поскольку это две разных таблицы, а DataID — счетчик, то естественно. что они будут совпадать.

Ну вроде всё более менее стало понятно .. и что в итоге надо сделать ?

Ну и в любом случае .. и что требуется сделать ?

[Мне кажется вверху я сделал достаточно емкое пояснение…]
Какая должна быть структура базы данных? Самая главная таблица — Section. Ей соответствуют две таблицы. SectionRefernce в подчиненных таблицах нужен именно для этого — но таблиц — ДВЕ (а будет ПЯТЬ и больше). И записи соответствуют уникально, то есть, либо в одной таблице, либо в другой. Не может быть так, что записи в одной и в другой имеют одинаковый Section Reference.

Каждой записи в подчиненных таблицах соответсвуют записи в еще более подчиненной таблице (уже одной)

КАЖДОЙ записи в таблицах SubSection 1 и SubSection2 могут соответствовать несколько записей в таблице Other, которая явлется починенной по отношению к каждой из них. sax_ol, ты чё, издеваешься?
Начинай читать с начала… Если не подходит мой рисунок — вот вам схема данных Access

Должно интересовать только то, что обведено красным

  • Как сделать подтаблицу в access?

Хорошо.
Убираем все сложность описания и оставляем непосредственную задачу. У нас есть две таблицы, во многом схожие между собой (Table01 и Table02).

Каждой записи в каждой из этих таблиц соотвествует несколько записей в подчиненной таблице Subtable.

Как это организовать?
[b]Table01[/b]
|
| [b]SubTable[/b]
|
|___Page01
| |______________>ID1
| |______________>ID2
|___Page02
| |______________>ID3
|___Page03
|______________>ID4

[b]Table02[/b]
|
|
|
|___Page01
| |______________>ID5
| |______________>ID6
|___Page02
|______________>ID7
Когда я пробую реализовать такое, Access заявляет о нарушении целостности таблиц (понятное дело!) Пришли по почте, потому что я уже не могу представить даже, как это все работает….
Соблюдая целостность данных такого не может быть. потому что ID в двух основных таблицах могут совпадать, поэтому подчиненная не может сохраняться… Вот смотрю и понимаю — ну не может оно работать! В Table01 у нас три страницы — допустим, ID у них 01, 02 ,03
В Table02 у нас две страницы — так у них ID тоже будет 01,02 Таким образом получается, что в подтаблице Subtable возникают неоднозначные связи — это когда невозможно сказать, к какой из основных таблиц относится запись….

Читайте также:  Как в excel сделать фото одного размера?

Как мне избавиться от этой неоднозначности при соблюдении цельности данных?

Одним словом, я поступил пока следующим образом:
создал отдельные explicit связи, которые поддерживат цельность данных (каждая свою) для каждой таблицы — так что я могу открыть подтаблицу из любой основной таблицы. По умолчанию значение поля Refernce = Null, так что подчиненная запись создается ТОЛЬКО по отношению к вызвавшей ее таблице. Не очень красиво — но зато работает как часы.
Если понадобиться добавить еще одну основную таблицу — то просто еще одно поле добавиться в подтаблицу.

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

sax_ol?
Где твой вариант?!

Источник: https://codeby.net/threads/sozdanie-otnoshenija-mezhdu-tablicami-v-access.13336/

Как мне сделать подтаблицу в Access в этой ситуации?

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

Ваша таблица стоимости будет иметь

Id — pk id (все таблицы должны иметь этот PK). ID актива — стандартный столбец длинных номеров, используемый для обратной связи с таблицей активов.

Элемент (описание стоимости (краска, шины, ремонт сидений и т. Д. И т. Д. И т. П.) Стоимость (сумма данного предмета)

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

По сути, вы присоединяете каждую строку стоимости к определенной записи активов. И доступ автоматически установит для вас столбец «Идентификатор актива», если вы поместите форму затрат в качестве подформ в форму активов.

Форма будет выглядеть примерно так:

Как сделать подтаблицу в access?

Выше (приложение доступа и базовая форма, которую я встроил в Access) у меня фактически есть «два» столбца, в которых можно выбрать тип «элемент» или «стоимость».

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

Со временем вы можете добавить любой «новый» элемент затрат без необходимости создавать новую таблицу или изменять структуру базы данных.

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

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

Поэтому любое ваше представление о таблицах и т. Д. Должно быть выброшено из вашего сознания. Компьютерные информационные системы ПРОСТО НЕ РАБОТАЮТ И НЕ МОГУТ РАБОТАТЬ!

Так что имейте в виду, что реляционные базы данных НЕ являются электронными таблицами, и вы не можете и НЕ МОЖЕТЕ принимать проекты, которые требуют изменений структуры на лету.

Формы, отчеты, запросы и даже компьютерный код не могут работать с таблицами, которые изменяются для каждой вводимой вами записи — вы ДОЛЖНЫ принять модель данных, которая отражает ваши текущие потребности.

Эту модель данных, если все сделано правильно, ТОГДА можно использовать для очень сложных учетных систем, ERP-систем или даже для интернет-магазина, который имеет тысячи или даже миллионы различных продуктов. Сначала создаются такие модели данных, а затем создаются формы и пользовательский интерфейс, отчеты и т. Д.

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

Выше у нас есть счет-фактура, подобная настройке, и мы можем добавить столько вещей, сколько мы хотим, к бронированию тура. (Билеты, куртки, книги, коньки, шины, краски, сиденья и окна — все, что мы хотим — мы просто добавляем новую строку для всего, что нам нужно.

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

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

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

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

Таким образом, КАЖДЫЙ отдельный пример в Интернете, каждая книга и каждая статья, в которых объясняется, как связать основную таблицу с дочерней таблицей, на самом деле на 100% важны, и как вы ДОЛЖНЫ решить эту проблему.

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

Источник: https://geekquestion.com/5054222-kak-mne-sdelat-podtablicu-v-access-v-ehtoj-situacii/

Работа с подтаблицами в MDB

 Магнум   (2005-06-15 17:14) [0]

Работа с таблицами ведется, понятное дело, через GetTableNames и TableName. Подскажите, пожалуйста, как работать с подтаблицами через ADO.

 -=XP=- ©   (2005-06-15 18:17) [1]

как работать с подтаблицами через ADOЧерез ADO.

 Магнум   (2005-06-15 19:08) [2]

Я и работаю через ADO.

 Zacho ©   (2005-06-15 19:22) [3]

Магнум   (15.06.05 17:14)А что такое «подтаблицы» ? Нарушение 1НФ ?

 Магнум   (2005-06-15 20:08) [4]

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

Например, в базе данных «Борей» таблица «Поставщики» имеет отношение «один-ко-многим» с таблицей «Товары»; поэтому для каждой строки таблицы «Поставщики» в режиме таблицы можно просматривать и редактировать в подтаблице связанную строку таблицы «Товары».

 Щелкните индикатор развертывания, чтобы развернуть или свернуть подтаблицуMicrosoft Access автоматически создает подтаблицу в таблице, имеющей отношение «один-к-одному» или являющейся стороной «один» в отношении «один-ко-многим», если свойство таблицы Имя подтаблицы (SubdatasheetName) имеет значение Авто.

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

Подтаблица, относящаяся к подчиненной форме, может использовать в качестве источника данных таблицу, запрос или форму (указанную в свойстве подчиненной формы Объект-источник (SourceObject)).В пределах таблицы можно вложить до восьми уровней подтаблиц. Однако каждая таблица или подтаблица может иметь только одну вложенную подтаблицу.

Например, таблица «Клиенты» может содержать одну подтаблицу таблицы «Заказы», а подтаблица таблицы «Заказы» может содержать одну подтаблицу «Заказано». Но содержать подтаблицу таблицы «Заказы» и подтаблицу запроса «Продавцы» одновременно таблица «Клиенты» не может.

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

В форму подтаблица вставляется путем добавления подчиненной формы с последующим определением объекта-источника путем указания таблицы, запроса или формы в свойстве Объект-источник (SourceObject) подчиненной формы. При просмотре формы в режиме таблицы, подчиненная форма отображается в виде подтаблицы.

Если в качестве объекта-источника подчиненной формы используется форма, то для свойства Режим по умолчанию (DefaultView) может быть задано значение Таблица, Простая форма или Ленточная форма. Таким образом, в форме в режиме таблицы можно также просматривать подтаблицу в виде простой или ленточной формы. Хотя форма может иметь более одной подчиненной формы, каждая из которых может иметь до двух уровней вложения, в режиме таблицы для формы отображается только одна подтаблица. Microsoft Access выводит подтаблицу, соответствующую первой подчиненной форме в порядке перехода по форме. При первом открытии таблицы, запроса или формы в режиме таблицы подтаблица не развертывается; однако при первом открытии формы в режиме формы подтаблица, соответствующая подчиненной форме, развертывается. Если объектом-источником для подчиненной формы является форма, то в подтаблице, соответствующей этой подчиненной форме, можно постоянно отображать внешний ключ или связанные поля.

 Zacho ©   (2005-06-15 21:38) [5]

Магнум   (15.06.05 20:08) [4]Читай лучше другую документацию, в которой используется общепринятая для СУБД терминология, а не какие-то загадочные «подтаблицы», которые на деле оказываются стандартной связкой Master-Detail.

  • И изучи любой учебник по работе с БД в Дельфи.
  • А вот ответ на твой вопрос: посмотри в хелпе, например, раздел Making the table a detail of another dataset И не забудь нажать на ссылку «See Also» 🙂

 Магнум   (2005-06-16 07:13) [6]

Где sniknik?Нужна ваша квалифицированная помощь!!!

 sniknik ©   (2005-06-16 08:30) [7]

да здесь я, только не понимаю вопроса вот и не вмешиваюсь… ;о))не в принципе понятно что ты имееш ввиду (достаточно открыть аксес) но то что там видим это скорее такой оригинальный DBGrid а не свойства таблиц (подтаблицы ;о))). он просто так отображает внешние ключи (FOREIGN KEY).

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

открываем справку jet-а, «срисовываем» пример запросов, выполняем через ADO,  

Читайте также:  Как сделать чтобы excel выделял повторы?

CREATE TABLE Клиенты (ИндексКлиента INTEGER PRIMARY KEY, CLstNm NCHAR VARYING (50))CREATE TABLE Заказы (КодЗаказа INTEGER PRIMARY KEY, ИндексКлиента INTEGER, ПримечанияЗаказа NCHAR VARYING (255), CONSTRAINT ВнКлЗаказыИндексКлиента FOREIGN KEY (ИндексКлиента) REFERENCES Клиенты ON UPDATE CASCADE ON DELETE CASCADE)

осталось наполнить данными, получиш тоже самое (в аксессе, как ты будеш показывать это в дельфях, твое личное дело…).> Making the table a detail of another datasetэто тоже связь, аналогичная, мастер детайл, но обеспеченая на уровне клиента (программа на дельфи), foreign key на уровне сервера (базы).

 sniknik ©   (2005-06-16 08:41) [8]

в > Магнум   (15.06.05 20:08) [4] ты все в принципе описал (значит понимаеш что такое внешний ключ), и как работает. но что хочеш сделать непонятно. вопрос «как работать с «…любой несуществующий термин…» через «…неважно что…»» как вопрос не воспринимается.

если чегото нет, то как с ним работать? ;о))

Источник: http://delphimaster.net/view/3-1118841262

MS Access — Работа с таблицами, создание, удаление, настройка внешнего вида

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

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

Основы таблиц

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

Чтобы открыть существующую таблицу:

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

Понимание таблиц

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

Поле — это способ организации информации по типу. Подумайте о названии поля как о вопросе и каждой ячейке в этом поле в качестве ответа на этот вопрос.

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

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

Навигация по столам

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

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

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

Чтобы перемещаться между полями, вы можете использовать клавиши со стрелками влево и вправо или прокручивать влево и вправо.

Добавление записей и ввод данных

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

Чтобы добавить новую запись:

Существует три способа добавления новой записи в таблицу:

  • В группе «Запись» на вкладке «Главная» щелкните команду «Создать».
  • На панели навигации «Запись» в нижней части окна нажмите кнопку «Новая запись».
  • Просто начните печатать в строке ниже вашей последней добавленной записи.

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

Чтобы сохранить запись:

      1. Выберите вкладку «Главная» и найдите группу «Записи».
      2. Нажмите кнопку «Сохранить».

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

Редактирование записей

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

Чтобы заменить слово в записи:

Вы можете редактировать несколько вхождений одного и того же слова, используя Find и Replace, который ищет термин и заменяет его другим термином.

      1. Выберите вкладку «Главная» и найдите группу «Найти».
      2. Выберите команду «Заменить». Появится диалоговое окно «Найти и заменить».
      3. Нажмите поле «Найти»: и введите слово, которое вы хотите найти.
      4. Нажмите кнопку «Заменить с» и введите слово, которое вы хотите заменить оригинальным словом.
      5. Нажмите стрелку «Вниз»: выберите область, которую вы хотите найти.
      Выберите «Текущее поле», чтобы ограничить поиск выбранным в данный момент полем.
      Выберите текущий документ для поиска по всей таблице.
      6. Нажмите стрелку раскрывающегося списка Match: выберите, насколько близко вы хотите, чтобы результаты соответствовали вашему поиску.
      Выберите любую часть поля для поиска поискового запроса в любой части ячейки.
      Выберите «Всего полей» для поиска только для ячеек, которые соответствуют вашему поисковому запросу.
      Выберите «Начало поля» для поиска только для ячеек, которые начинаются с вашего поискового запроса.
      7. Нажмите «Найти далее», чтобы найти следующее вхождение поискового запроса.
      8. Нажмите «Заменить», чтобы заменить исходное слово на новое.

Хотя вы можете использовать Replace All для замены каждого экземпляра термина, заменяя его по одному, вы можете быть абсолютно уверены, что редактируете только нужные вам данные. Замена данных непреднамеренно может негативно повлиять на вашу базу данных.

Чтобы удалить запись:

      1. Выберите всю запись, нажав серая рамка в левой части записи.
      2. Выберите вкладку «Главная» и найдите группу «Записи».
      3. Нажмите команду Удалить. Запись будет удалена навсегда.

Идентификационные номера, присвоенные записям, остаются неизменными даже после удаления записи. Например, если вы удалите 34-ю запись в таблице, последовательность идентификационных номеров записей будет читать … 32, 33, 35, 36 … а не … 32, 33, 34, 35, 36 .. ,

Изменение внешнего вида таблицы

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

Изменение размеров полей и строк

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

Чтобы изменить размер поля:

      1. Поместите курсор над правой сеткой в заголовке поля. Ваша мышь станет двойной стрелкой.
      2. Нажмите и перетащите линию сетки вправо, чтобы увеличить ширину поля или влево, чтобы уменьшить ширину поля.
      3. Отпустите мышь. Ширина поля будет изменена.

Чтобы изменить размер строки:

      1. Поместите курсор на нижнюю линию сетки в серой области слева от строки. Ваша мышь станет двойной стрелкой.
      2. Нажмите и перетащите линию сетки вниз, чтобы увеличить высоту строки или вверх, чтобы уменьшить высоту строки.
      3. Отпустите мышь. Высота строки будет изменена.

Скрытие полей

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

Чтобы скрыть поле:

      1. Щелкните правой кнопкой мыши заголовок поля.
      2. В раскрывающемся меню выберите Скрыть поля.

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

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

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

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

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

Изменение линий сетки

Другим способом Access упрощает чтение ваших таблиц путем добавления линий сетки, которые отмечают границы каждой ячейки. Gridlines(линии сетки) — это тонкие линии, которые появляются между каждой ячейкой, строкой и столбцом таблицы. По умолчанию сетчатые линии темно-серого цвета и появляются со всех сторон ячейки, но вы можете изменить их цвет или скрыть нежелательные линии сетки.

Чтобы настроить отображение линий сетки:

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

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

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

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

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

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

Источник: https://maxfad.ru/ofis/ms-access/385-ms-access-rabota-s-tablitsami-sozdanie-udalenie-nastrojka-vneshnego-vida.html

Ссылка на основную публикацию
Adblock
detector