Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Access
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.09.2010, 12:51   #1
Ael
Пользователь
 
Регистрация: 06.09.2010
Сообщений: 11
По умолчанию Запрос на выборку по логическому полю.

Здравствуйте! Прошу помощи в решении следующей проблемы. В таблице БД в есть два поля - текстовое "ФИО" и логическое "Пол". Нужно сделать запрос на выборку по полю "Пол". То есть клиенту предлагается самостоятельно ввести искомый пол - М/Ж. Проблема в конвертации вводимого М и Ж в логические 0 и -1. Мой запрос выглядит так:

Код:
SELECT Сотрудник.ФИО, Сотрудник.Пол
FROM Сотрудник
WHERE (((Сотрудник.Пол)=[ ]));
Как бы сделать так, что бы при вводе М и Ж,а не 0 и -1, выводились нужные строки.

Есть ли другие решения кроме того, что бы сделать поле "Пол" текстовым и создать подстановку?
Ael вне форума Ответить с цитированием
Старый 19.09.2010, 14:12   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Вообще-то, делать поле ПОЛ логическим - не корректно... А с чего Вы взяли, что М - это Истина, а Ж - Ложь? Или у Вас наоборот? Всё равно, почему?!
Делайте поле char(1) и не парьтесь.

Но, по сути вопроса:
Код:
SELECT Сотрудник.ФИО, Сотрудник.Пол
FROM Сотрудник
WHERE Сотрудник.Пол=([ПолеФормы]='М');
Serge_Bliznykov вне форума Ответить с цитированием
Старый 19.09.2010, 15:14   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
А с чего Вы взяли, что М - это Истина, а Ж - Ложь?
Вспомнился анекдот "...А какой буквой обозначить Юридическое лицо..." )))
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 19.09.2010, 21:36   #4
Ael
Пользователь
 
Регистрация: 06.09.2010
Сообщений: 11
По умолчанию

Спасибо огромное!
Ну, насчет некорректности согласен, но все же это же выигрыш в памяти, нет?
Ael вне форума Ответить с цитированием
Старый 19.09.2010, 23:25   #5
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Ну, насчет некорректности согласен, но все же это же выигрыш в памяти, нет?
в 99% современных СУБД - нет, никакого выигрыша не будет...
впрочем, потерь на хранении такого поля по сравнению с char(1) тоже не будет, поэтому выбирайте, как удобнее/логичнее/правильнее/корректнее...
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
С# Запрос на выборку fobass Общие вопросы .NET 2 04.02.2010 14:26
Запрос на выборку igordeg Microsoft Office Access 3 21.01.2010 21:33
Запрос на выборку Like Agapov_stas Microsoft Office Access 3 02.12.2009 11:09
запрос на выборку МаришаГ Microsoft Office Access 5 21.08.2009 23:46
Запрос на выборку Ruska882009 Microsoft Office Access 2 26.02.2009 20:39