Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft Access Новый топик    Ответить
 Показать поле в запросе чекбоксом  [new]
Владимир Саныч
Member

Откуда: Израиль (причем это 1 человек, а не 2 => прошу на ты)
Сообщений: 40414
Аксесс 2000. В запросе есть два поля: одно типа Yes/No из таблицы, а другое вычисляемое: InStr("aouei",[sLetter])>0 (т.е. выражение логического типа). Открываю запрос в виде DataSheet, первое поле показывается чекбоксом, а второе простым текстбоксом со значениями 0 и -1. Хочу, чтобы оно тоже показывалось чекбоксом.

Пробовал сделать CBool(...) - не помогает. В свойствах поля пробовал поменять контрол - так там чекбокс вообще отсутствует. Что делать?

(В запасе есть способ создать форму, но хотелось бы этого не делать. Базу сделал для себя, особая красота не нужна, но хотелось бы удобства.) Спасибо!
7 дек 03, 17:58    [450032]     Ответить | Цитировать Сообщить модератору
 Re: Показать поле в запросе чекбоксом  [new]
АлексейК
Member

Откуда: http://www.msdatabase.ru , Moscow
Сообщений: 7683
если поставить формат поля да/нет
сохранить макет, то при следующем запуске в конструкторе можно задавать вкладку подстановка для полей типа выражение
8 дек 03, 09:34    [450301]     Ответить | Цитировать Сообщить модератору
 Re: Показать поле в запросе чекбоксом  [new]
АлексейК
Member

Откуда: http://www.msdatabase.ru , Moscow
Сообщений: 7683
совсем забыл, чтобы задать формат поля да/нет нужно сначала в это поле вывести выражение - равное битовому полю запроса , задать формат, сохранить а затем заменить выражение
8 дек 03, 09:38    [450314]     Ответить | Цитировать Сообщить модератору
 Re: Показать поле в запросе чекбоксом  [new]
Владимир Саныч
Member

Откуда: Израиль (причем это 1 человек, а не 2 => прошу на ты)
Сообщений: 40414
Видимо, я не совсем понял, что такое "сохранить макет" и "заменить выражение". После задания формата да/нет вкладка с типами контрола стала пустой, а когда вернулась, то в ней по-прежнему не оказалось чекбокса (только текстбокс, листбокс и комбобокс, несмотря на четко различимый формат да/нет).
8 дек 03, 13:35    [450929]     Ответить | Цитировать Сообщить модератору
 Re: Показать поле в запросе чекбоксом  [new]
АлексейК
Member

Откуда: http://www.msdatabase.ru , Moscow
Сообщений: 7683
сохранить макет - я имел ввиду сохранить запрос.

1 в режиме конструктора запроса
выражение:[любое_булевое_поле_запроса]

2 закрыть запрос с сохранением и снова открыть в конструкторе

3 теперь можно задать формат да/нет

4 заменить выражение но ничего не менять в свойствах макета (формат,тип поля)
8 дек 03, 14:13    [451058]     Ответить | Цитировать Сообщить модератору
 Re: Показать поле в запросе чекбоксом  [new]
Владимир Саныч
Member

Откуда: Израиль (причем это 1 человек, а не 2 => прошу на ты)
Сообщений: 40414
Именно так и делаю. Вкладка с типом контрола становится пустой.
8 дек 03, 14:33    [451106]     Ответить | Цитировать Сообщить модератору
 Re: Показать поле в запросе чекбоксом  [new]
АлексейК
Member

Откуда: http://www.msdatabase.ru , Moscow
Сообщений: 7683
на после пункта 2 вкладка пустая?

после замены на выражение - пункт 4 - она станет пустая но тип останется ранее заданным и выводиться будет как чексбокс если его не изменить на другой !!!
8 дек 03, 16:09    [451363]     Ответить | Цитировать Сообщить модератору
 Re: Показать поле в запросе чекбоксом  [new]
Владимир Саныч
Member

Откуда: Израиль (причем это 1 человек, а не 2 => прошу на ты)
Сообщений: 40414
После 2 пустая. После 4 тоже пустая. Если открыть запрос в виде DataSheet, поменять ширину какого-нибудь поля и сохранить (именно так я понял слова "сохранить макет"), то она перестает быть пустой, но появляются только возможности текстбокс, листбокс и комбобокс. При этом выглядит поле либо как -1/0, либо как да/нет (в зависимости от формата), но никогда - не как чекбокс.
8 дек 03, 16:28    [451414]     Ответить | Цитировать Сообщить модератору
 Re: Показать поле в запросе чекбоксом  [new]
АлексейК
Member

Откуда: http://www.msdatabase.ru , Moscow
Сообщений: 7683
кинь мне свой адрес пришлю пример с выражением отображаемым как чексбокс.

кстати тип контрола где-то в системных таблицах должен быть
8 дек 03, 16:52    [451475]     Ответить | Цитировать Сообщить модератору
 Re: Показать поле в запросе чекбоксом  [new]
Владимир Саныч
Member

Откуда: Израиль (причем это 1 человек, а не 2 => прошу на ты)
Сообщений: 40414
Буду благодарен.

vcohen хомячок mail.ru
8 дек 03, 16:57    [451483]     Ответить | Цитировать Сообщить модератору
 Re: Показать поле в запросе чекбоксом  [new]
АлексейК
Member

Откуда: http://www.msdatabase.ru , Moscow
Сообщений: 7683
отправил
8 дек 03, 17:29    [451561]     Ответить | Цитировать Сообщить модератору
 Re: Показать поле в запросе чекбоксом  [new]
Владимир Саныч
Member

Откуда: Израиль (причем это 1 человек, а не 2 => прошу на ты)
Сообщений: 40414
Получено, спасибо!

Только эффекта никакого. Да, вижу это поле с чекбоксом. Пытаюсь создать в том же запросе еще одно такое же - и не могу. Наверно, у меня Аксесс кривой.
8 дек 03, 17:30    [451567]     Ответить | Цитировать Сообщить модератору
 Re: Показать поле в запросе чекбоксом  [new]
АлексейК
Member

Откуда: http://www.msdatabase.ru , Moscow
Сообщений: 7683
изменить выражение вместо этого можешь? ))
8 дек 03, 17:34    [451582]     Ответить | Цитировать Сообщить модератору
 Re: Показать поле в запросе чекбоксом  [new]
Владимир Саныч
Member

Откуда: Израиль (причем это 1 человек, а не 2 => прошу на ты)
Сообщений: 40414
Менял, пока фантазия не кончилась.
8 дек 03, 17:35    [451589]     Ответить | Цитировать Сообщить модератору
Между сообщениями интервал более 1 года.
 Re: Показать поле в запросе чекбоксом  [new]
Владимир Саныч
Member

Откуда: Израиль (причем это 1 человек, а не 2 => прошу на ты)
Сообщений: 40414
...Прошло больше 2 лет, и вот очередной ответ на этот топик оказался в другом топике...

Мшсещырф
проверил.
у меня так работает
    Dim qDf As DAO.QueryDef
    Dim tF1 As DAO.Field
    
    Set qDf = CurrentDb.QueryDefs![ВашЗапрос]
    Set tF1 = qDf.Fields![ВашеВычислимоеЛогическоеПоле]

    tF1.Properties("Format").Value = "Yes/No"
    tF1.Properties("DisplayControl") = 106

акцесс между тем 2002

Что-то я не могу найти ту базу... Если найду - проверю. Пока что спасибо!
14 апр 06, 18:53    [2565731]     Ответить | Цитировать Сообщить модератору
 Re: Показать поле в запросе чекбоксом  [new]
Бенедикт
Member

Откуда:
Сообщений: 2099
Тип у таких полей 3 (dbInteger), так что неудивительно, что флажок показываться не хочет.

После 5-7 попыток я, кажется, нашёл способ, как через построитель запросов Access 2003 заставить показывать флажок для вычисляемого логического поля.
0) Открывает построитель, добавляем таблицу, в которой есть логическое поле (если такой ещё нет).
1) Перетаскиваем логическое поле из таблицы на бланк.
2) Даём алиас этому полю, т.е. пишем, например, "Expr1: ".
3) Нажимаем кнопку "Сохранить".
4) В окне свойств идём на вкладку "Подстановка" и выбираем "Флажок".
5) Заменяем имя поля таблицы после алиаса и двоеточия своим логическим выражением.
6) Нажимаем кнопку "Сохранить", контролируем, что "Флажок" остался.
7) Наслаждаемся. Или нет... В общем, просьба сообщить результаты.
14 апр 06, 19:24    [2565810]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft Access Ответить