Как сделать выбор пола в access

Как сделать выбор пола в access?

Поле со списком в access может стать полем для поиска. Поисковое поле со списком в Access может сильно облегчить вам работу с данными.

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

Рассмотрим способ создания поля для поиска вручную. В режиме конструктора формы добавим свободное поле в примечание формы (кнопка «Мастера» должна быть отжата):

Зададим следующие свойства для свободного поля «ПолеПоиск» (для этого надо выделить его в режиме конструктора и нажать клавишу F4):

Перейдём на вкладку «Данные» свойств поля со списком. Значения свойства «Данные» оставим пустым. В «Источнике строк» мы выбираем подстановку из поля «ФИО» базового запроса «зап_СписокДляФормы» (этот же запрос «даёт» данные для текущей формы и поле «ФИО» запроса является базовым для поля «ФИО» формы). Свойства «Ограничиться списком», «Автоподстановка» и «Доступ» принимают значение «да».

На вкладке «События» определяем для свойства «После обновления» макрос «МакросПоиск».

Макрос состоит всего из двух команд:

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

По мере введения символов программа будет автоматически предлагать подходящие записи. Когда выбрана нужная запись, можно нажать клавишу «Enter» или «Tab». Курсор будет автоматически переведён в область данных формы на нужную запись.

Теперь нажимаем «Enter» или «Tab» и фокус ввода перейдёт на нужную нам запись в область данных формы:

7 лет назад (25 октября 2010) 1765

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

на этом правка шаблона заканчивается

2.открываем componentsregistrationfrontend.php находим в тексте код

$icq = $inCore->request(’icq’, ’str’, ’’);

и дабовляем после него

3. меняем запрос на создание нового пользователя

Все теперь у вас пол указывается при регистрации laugh

Потом это можно будет вынести в админку (если будет такая необходимость)

Источник:
http://word-office.ru/kak-sdelat-vybor-pola-v-access.html

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Читайте также  БД Расписание занятий преподавателя, ACCESS

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

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

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

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

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

Источник:
http://info-comp.ru/obucheniest/365-drop-down-list-on-the-access.html

Как сделать выбор пола в access?

Довольно распространена ситуация, когда выбор значения из одного списка должен приводить к обновлению второго, подчинённого списка, недавно я описывал такую реализацию на PHP, а теперь вот понадобилась в Access.

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

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

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

Как решить эту типовую задачу, мы и поговорим.

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

2. Вместо первого поля, включив кнопку «Мастера» на панели элементов Access, сгенерируем список, выводящий вместо кодов названия отделов. Сделать это можно так:

  • форма выведена в режиме конструктора, нажимаем кнопку «Поле со списком», показываем мышкой границы будущего списка. По отпускании кнопки мыши появится окно «Мастер создания полей со списком»;
  • выбираем «Объект будет использовать значения из таблицы или запроса», жмём «Далее»;
  • выбираем таблицу «Отделы», жмём «Далее»;
  • переносим оба поля таблицы отделов в №выбранные поля» (кнопкой >>), жмём «Далее»;
  • убеждаемся, что список виден, а галочка «Скрыть ключевой столбец» включена, жмём «Далее»;
  • выбираем «Сохранить в поле:» и поле «КодОтдела», жмём «Далее»; задаём подпись к списку и жмём «Готово».

3. С помощью конструктора запросов составляем следующий запрос:

Здесь «ПолеСоСписком16» — наименование компоненты верхнего списка.

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

Увидеть это окно можно, щёлкнув правой кнопкой мыши на втором списке и выбрав «Свойства».

5. Теперь самое главное. В списке компонент выбираем «Форма» вместо имени поля со списком, выбираем вкладку события, событие Текущая запись, щёлкаем по кнопке с многоточием, подтверждаем, что нам нужен построитель программы, а не макроса или выражения:

Открылся редактор Visual Basic и появилась пустая функция с именем Form_Current . Пишем туда единственную строчку кода, которая обновит нижний список:

Здесь предполагается, что имя нижнего списка ПолеСоСписком20 .

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

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

Скачать этот пример в архиве ZIP (41 Кб)

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

Ну и общие соображения по зависимым спискам в Access:

Если первый список не связан с полем источника записей формы, то обновление надо ставить в обработчик события BeforeUpdate («До обновления» в окне свойств конструктора формы в русских версиях Access-а), либо в AfterUpdate.

Если же первый список связан с полем источника записей формы, то обновление надо ставить в обработчик события Current («Текущая запись») формы и BeforeUpdate (AfterUpdate) первого списка.

Данный способ действует только для одиночной формы (на экране видно одну запись).

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

Источник:
http://pers.narod.ru/study/access_chained_lists.html

I. Выполнить запросы на выборку

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

Откройте базу данных, которую вы создавали на прошлом занятии.

Перейдите на вкладку «Запросы»

Запросы удобно создавать в режиме конструктора.

После выбора «Создание запроса в режиме конструктора», необходимо добавить ОБЕ таблицы базы данных.

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

Рассмотрим следующие ПРИМЕРЫ.

ПРИМЕР 1. Пусть нам необходимо найти пациентов мужского пола, с диагнозами «колит» или «гастрит» в возрасте от 20 до 40 лет.

Поля, которые нам понадобятся для осуществления данного запроса на выборку:

ФИО пациента, Пол, Возраст, Диагноз.

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

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

Условия, по которым осуществляется выборка из базы данных, записываются в строке «Условия отбора».

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

Кавычки Access ставит автоматически для полей, имеющих текстовый тип данных.

Условие для возраста имеет следующий вид (пересечение параметров):

Т.е. пациенту должно быть от 20 лет до 40 включительно (>=20 и

Для Возраста условие отбора будет 42 .

СОЭ в норме означает промежуток от минимально нормального уровня СОЭ до максимально нормального (2-15 для женщин и 2-10 для мужчин).

После определенной даты означает «больше» даты, т.е. >25/06/2009 (Access автоматически поставит >#25/06/2009#).

В итоге, окно запроса имеет следующий вид:

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

Применяется для осуществления поиска записи в таблице по определенному условию.

ПРИМЕР 3. Осуществить возможность поиска по полу.

Требуемые поля: ФИО пациента, Пол.

Под полом в строке «Условие отбора» задается оператор LIKE[Введите Имя поля]. Под Именем поля подразумевается поле, по которому осуществляется отбор.

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

Если ввести «м», то Access отобразит пациентов мужского пола, а если «ж», то, соответственно, женского.

Читайте также  Создание форм для ввода данных в таблицы базы данных Access 2007

Запрос с вычислением

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

Сначала нужно вынести в запрос все поля, которые участвуют в вычислениях. Затем в первом пустом столбце, в строке «Поле» задается имя нового столбца, после ставится ДВОЕТОЧИЕ. Затем в отдельных квадратных скобках указываются имена столбцов, участвующие в вычислениях, между скобками ставятся математические связки. Например:

Имя нового столбца: ([столбец1]+[столбец2])/[столбец3]+12

ПРИМЕР 4. Рассчитать Индекс массы тела ( ИМТ=(вес*10000)/(рост,см) 2 ) для пациентов женского пола.

Нужные поля: ФИО пациента, Пол, Рост, Вес.

Окно запроса должно иметь такой вид:

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

I. Выполнить запросы на выборку

1) Выбрать всех пациентов, поступивших после определенной даты (задать самостоятельно)

2) Выбрать всех пациентов-мужчин с определенным диагнозом (задать самостоятельно)

3) Выбрать всех пациентов-женщин, рост >150, вес >50

4) Выбрать всех пациентов с нормальной температурой тела.

5) Выбрать всех пациентов с нормальным содержанием гемоглобина, повышенным уровнем СОЭ, поступивших в 2009 году.

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

Источник:
http://lektsii.org/6-27644.html

11.1.8 Создание запросов на выборку

  • Перейти на вкладку Запросы.
  • Щелкнуть по кнопке Создать и выбрать конструктор для создания запроса. При этом на экране появятся два окна: окно конструктора запросов, на которое наложено окно добавления таблицы. С помощью последнего окна выполнить операцию добавления таблицы Пациенты (предварительно выделив ее в списке таблиц), после этого закрыть окно добавления. Изображение таблицы появится в верхней части конструктора в виде прямоугольного окна со списком полей таблицы. Если случайно появились лишние окна, их нужно убрать щелчком правой кнопки по таблице с последующим выбором пункта Удалить из контекстного меню.
  • В нижней части окна конструктора запросов располагается механизм формирования запроса. Он представляет собой таблицу, в столбцах которой следует расположить требуемые поля одной или нескольких таблиц, а в строках – следующие параметры:
    Поле – имя поля таблицы.
    Имя таблицы – имя таблицы, которой принадлежит поле.
    Сортировка – порядок сортировки записей в запросе – алфавитный или обратный, необязательное поле.
    Вывод на экран – флажок, управляющий выводом поля на экран при выполнении запроса. Поле с выключенным выводом на экран допускает сортировку и установку условий отбора, но после выполнения запроса в окне запроса это поле не будет отражено.
    Условие отбора – вводится условие отбора для вывода тех записей, которые удовлетворяют этим условиям.

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

    В строке Условие отбора в первой ячейке для поля ФИО зададим условие отбора Р*
    В строке Условие отбора можно использовать некоторые символы, которые заменяют букву, группу букв, цифру:
    * — заменяет любое количество любых букв.
    ? — заменяет одну какую-либо букву.
    # — заменяет одну какую-либо цифру.

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

  • Создать запрос на выборку ФИО пациентов мужского пола в возрасте до 30 лет. Для этого заполнить первые три ячейки строки поле именами полей таблицы: ФИО, Пол и Возраст. Далее ввести условия отбора для полей Пол и Возраст.
  • Выполнить запрос, посмотреть есть ли пациенты, удовлетворяющие этим 2 условиям. (если нет, то изменить в условии отбора для пола м на ж). Сохранить под именем Мужчины до 30лет.

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

  • Создать еще один запрос на выборку пациентов из 2-х связанных таблиц, которые были госпитализированы с определенным диагнозом (например:ОРЗ) и лечившихся у определенного врача (например: у Таблеткина). В окне добавления таблицы добавить таблицы Пациенты и Госпитализация.
  • Сохранить под именем Врач и Диагноз.

  • Создать запрос Отбор по дате, который отбирает пациентов моложе 30 лет, принимавших определенное лекарство. (Добавляем 2 таблицы).
  • Сохранить под именем Отбор по дате моложе 30 лет.

    Источник:
    http://uborshizzza.livejournal.com/1734942.html

    Как сделать выбор пола в access?

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    Источник:
    http://www.sites.google.com/site/domostoy/cto-takoe-bazy-dannyh-access/stpolesospiskom