Semenalidery.com

IT Новости из мира ПК
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Поле со списком access

Добавление поля подстановки или поля списка значений в веб-приложении Access

Важно Корпорация Майкрософт больше не рекомендует создавать и использовать веб-приложения Access в SharePoint. В качестве альтернативного средства для бизнес-решений, не требующих дополнительного программирования и работающих в браузере и на мобильных устройствах, рекомендуется использовать Microsoft PowerApps.

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

В этой статье

Создание поля подстановки

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

Использование мастера подстановок в веб-приложении Access:

В классическом приложении Access откройте таблицу в режиме конструктора.

В первой пустой строке списка полей введите название нового поля подстановки и щелкните Подстановка в столбце Тип данных. Будет запущен мастер подстановок.

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

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

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

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

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

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

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

Нажмите кнопку ОК и сохраните изменения в таблице.

Создание поля списка значений

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

В классическом приложении Access откройте таблицу в режиме конструктора.

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

Добавьте новое поле и выберите тип данных Подстановка. Будет запущен мастер подстановок.

Установите флажок Будет введен фиксированный набор значений.

Введите по одному значению в каждую строку, а затем нажмите кнопку ОК.

Сравнение поля со списком и элемента управления с автозаполнением

В следующем представлении:

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

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

Выпадающий список на форме Access 2003

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

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

Что такое выпадающий список в Access 2003

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

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

Как создать выпадающий список

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

Открываем Access в режиме конструктора, выбираем «Формы» на окне объекты, и жмем создать

Затем нам предложат выбрать источник данных, но нам этого не нужно мы просто жмем «ОК»

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

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

Читать еще:  Oracle data access

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

Вот в принципе и все, единственное на следующем шаге мы можем задать подпись нашего выпадающего списка и жмем «Готово»

В итоге у нас на форме будет отображено следующее

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

Теперь сохраняем форму, и запускам ее:

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

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

И теперь у нас все будет выглядеть как надо

Отображается второй столбец, а записывается в базу первый, т.е. идентификатор.

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

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

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

Больше ничего не меняем, просто сохраняем и запускаем нашу форму

И теперь наш выпадающий список берет значения не из простого списка, а из базы данных.

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

Поле со списком access

Поле со списком access – составной элемент управления, объединяющий поле и раскрывающийся список, позволяющий не только выбирать (как в простом списке), но и вводить значения.

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

Открывается список нажатием на кнопке (в правом углу элемента управления «Поле со списком access») или клавишами Alt+«стрелка вниз». При помощи простого макроса можно сделать так, чтобы поле со списком раскрывалось само при входе в него.

Чтобы ввести значение в поле со списком access, можно начать вводить значение в поле с клавиатуры или выбрать нужное значение в выпадающем списке. При вводе значений с клавиатуры помогает свойство «Автоподстановка». Если установить его как «да», то при вводе информации Access автоматически будет предлагать значения из списка, выделяя буквы предлагаемого значения после последнего введённого символа.

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

Например, слово «детектив» в поле «литературный жанр» можно написать «детиктив» или «дитиктив», или ещё как-нибудь (неважно, опечатка это или следствие неграмотности оператора. Любой человек может ошибаться и даже имеет на это право).

Поле, содержащее ошибочные значения, уже нельзя правильно ни отсортировать, ни использовать в запросе. Мы зададим запрос с фильтром Like «детектив» и будет найдено, предположим, 120 книг этого жанра. Но вследствие неправильного ввода информации запрос «не увидел», к примеру, 18 книг.

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

Другой вопрос состоит в том, стоит ли разрешать оператору добавлять новые значения в базовую таблицу подстановки (со стороны «один»). Всё зависит от конкретных задач и типа информации. Не всегда можно предугадать все возможные варианты для значений поля подстановки. Например, поле подстановки для указания пола сотрудника может принимать два значения: «мужской» и «женский». А вот попробуйте создать поле подстановки мужских или женских имён (например, мужские имена: Андрей, Андриан, Андрон, Анджей и т. д.; женские имена: Наталья, Наталия, Наталея, Натали и т. д.).

Читать еще:  Как изменить разрешение слайда в powerpoint

Во-первых, некоторые родители дают такие имена, которых не было раньше в природе (а это имя ещё надо ввести в базовую таблицу подстановки).

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

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

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

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

К тому же оно чаще всего используется в инициалах. Например, я ввёл значение «Иванов Андриан Иванович», хотя имя человека «Андрей». В поле «ФИО» получим «Иванов А. И.». Вроде как и ошибки нет.)

Создаётся поле со списком access, как правило, в режиме конструктора объекта базы данных:

— в таблицах – в области «Свойства поля» на вкладке «Подстановка» есть такой аргумент «Тип элемента управления» с выпадающим списком. Выбираем значение «Поле со списком» и выбираем следующие аргументы: тип источника строк, сам базовый источник строк, номер присоединённого столбца и другие необходимые элементы;

Выбор из поля со списком без редактирования

Здравствуйте. Подскажите пожалуйста вот на какой вопрос:
Имеется таблица: МатОтветств

Состоит из трёх полей:
1. ФИО (ключ) — текстовое (Поле со списком, Источник строк

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

2. Должность — Текстовое (у неё так же есть источник — таблица Сотрудники по одноимённому полю, но думаю это не имеет отношения к моему вопросу)

3. Отдел — текстовое (рукописное)

Есть форма: запр_отв (Источник —

)
Состоит из
1. поля со списком (у которого источник данных — [МатОтветств].[ФИО])
2. Кнопки запускающей запрос — Ответственный Запрос

Есть запрос: Ответственный Запрос
в котором делается выборка по такому коду:

Тело его не важно опять же, важно условия. По нажатию кнопки на имеющейся форме запускается имеющийся запрос с условием берущий данные из поля той же формы — [Ответственный] = [МатОтветств].[ФИО].

Так вот вопрос в чём, когда я выбираю из списка кого либо ответственного для запроса,
—поле обретает статус редактирования,
—запрос конечно формируется верно,
—но при закрытии формы выдаёт ошибку о совпадении индексов счётчика потому как поле в статусе редактирования.

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

Возможно в кнопку можно добавить макрос отменяющий редактирование? Желательно именно макрос потому как на кнопке макрос — открыть отчёт. Возможно и кодом VBA, но тогда подскажите ещё и функцию открытия отчёта в режиме пред просмотра пожалуйста.

Выбор значения из поля со списком, исходя из предыдущего поля со списком
Дана БД. Форма на добавление данных. Необходимо сделать следующее: 1) В поле "Свободно.

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

Поле со списком. Выбор поля таблицы для заполнения
Здравствуйте! Есть пустая таблица "сводная ведомость успеваемости" — в строках список учеников, в.

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

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

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

Добавлено через 46 секунд

Делал на Access 2007

Добавлено через 2 минуты
Так, нашёл у тебя ошибку в связях таблиц. Нужно связать отдел и код сотрудника. Потому как выводится весь список сотрудников в форме Ответственных из за отсутствия связи

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

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

Добавлено через 5 минут

Всё же проблема от этого не решилась. По прежнему на форме запр_отв выбираю в поле со списком другого сотрудника и в таблице в отделе АО меняется просто сотрудник, а этого категорически нельзя допустить. Нужно дабы я мог свободно выбрать любого сотрудника, причём желательно из таблицы МатОтветств (потому как в ней только именно те кто за что-то ответственный, а не все сотрудники) и чтоб при свободном выборе на форме из списка не какие изменения в таблицы не вносились. Вот что я имею в виду.

Добавлено через 3 минуты
Мне просто нужно заблокировать изменение в таблице через поле берущее из неё данные при перемене данных в самом поле. Расчёт на то, что пользователь открыв мою программу не будет знать точно какой сотрудник мат. ответственный и его точное ФИО. Для этого в списке уже должны быть те кто мат. ответственный с динамическим обновлением истинных данных. Вдруг я в таблицу введу нового мат. ответственного и он будет должен появится в списке формы.

Читать еще:  Как написать sql запрос в access

Поле со списком access

Поле со списком access – составной элемент управления, объединяющий поле и раскрывающийся список, позволяющий не только выбирать (как в простом списке), но и вводить значения.

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

Открывается список нажатием на кнопке
(в правом углу элемента управления «Поле со списком access») или клавишами Alt+«стрелка вниз». При помощи простого макроса можно сделать так, чтобы поле со списком раскрывалось само при входе в него.

Чтобы ввести значение в поле со списком access, можно начать вводить значение в поле с клавиатуры или выбрать нужное значение в выпадающем списке. При вводе значений с клавиатуры помогает свойство «Автоподстановка». Если установить его как «да», то при вводе информации Access автоматически будет предлагать значения из списка, выделяя буквы предлагаемого значения после последнего введённого символа.

Обилие всяких кнопочек и настроек может постоянно сбивать вас с толку. Также может появиться страх при первом открытии программы.

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

Например, слово «детектив» в поле «литературный жанр» можно написать «детиктив» или «дитиктив», или ещё как-нибудь (неважно, опечатка это или следствие неграмотности оператора. Любой человек может ошибаться и даже имеет на это право).

Поле, содержащее такие значения, уже нельзя правильно ни отсортировать, ни использовать в запросе. Мы зададим запрос с фильтром Like «детектив» и запрос найдёт нам, предположим, 120 книг этого жанра. Но вследствие неправильного ввода информации запрос «не увидел», к примеру, 8 книг.

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

Другой вопрос состоит в том, стоит ли разрешать оператору добавлять новые значения в базовую таблицу подстановки (со стороны «один»). Всё зависит от конкретных задач и типа информации. Не всегда можно предугадать все возможные варианты для значений поля подстановки. Например, поле подстановки для указания пола сотрудника может принимать два значения: «мужской» и «женский». А вот попробуйте создать поле подстановки мужских или женских имён (например, мужские имена: Андрей, Андриан, Андрон, Анджей и т. д.; женские имена: Наталья, Наталия, Наталея, Натали и т. д.).

Аксесс довольно сложная программа. Это подтверждает тот факт, что в интернете можно найти массу информации по ней. Однако, вы знаете что на самом деле достаточно знать лишь 20% инструментов, чтобы создавать и настраивать 80% баз данных в программе?

Во-первых, некоторые родители дают такие имена, которых не было раньше в природе (а это имя ещё надо ввести в базовую таблицу подстановки).

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

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

К тому же оно чаще всего используется в инициалах. Например, я ввёл значение «Иванов Андриан Иванович», хотя имя человека «Андрей». В поле «ФИО» получим «Иванов А. И.». Вроде как и ошибки нет.)

Создаётся поле со списком access, как правило, в режиме конструктора объекта базы данных:

— в таблицах – в области «Свойства поля» на вкладке «Подстановка» есть такой аргумент «Тип элемента управления» с выпадающим списком. Выбираем значение «Поле со списком» и выбираем следующие аргументы: тип источника строк, сам базовый источник строк, номер присоединённого столбца и другие необходимые элементы;

— в формах — при помощи кнопки «Поле со списком» на панели элементов. Если создаём новое поле со списком из базового поля со списком в таблице, то можно просто перенести это поле на форму (отчёт) из окошка «Список полей». Все базовые свойства будут унаследованы новым элементом управления.

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

В приведённом ниже примере при выборе города в поле со списком автоматически загружаются в подчинённую форму записи, относящиеся к этому городу (т. е. мы видим, кто стоит на учёте в г. Щёлково).

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

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

forms![ИмяФормы]'[Имя поля со списком].[Column](x). Например: forms![Типы]![НазваниеТипа].[Column](1)

х – номер столбца. Столбцы начинают нумерацию с нуля.

При вычислении номера видимого столбца надо принимать в расчет и невидимые столбцы.

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