powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / CheckBox
22 сообщений из 22, страница 1 из 1
CheckBox
    #35340412
Звег
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Такой вопрос :
В таблице одно из полей логического типа, и на форме соответственно есть элемент ЧекБокс.
На событие КЛИК мыши вставляю примерно следующее:

INSERT INTO spisok_d (kursach) VALUES (thisform.pageframe1.page1.check1.Value)

где kursach - логическое поле таблицы!

Пишет - не совпадает тип данных !

Когда через командную строку прописываю INSERT INTO spisok_d (kursach) VALUES (.T.)

то все вноситься нормально ! Получаеться что Value ЧекБокса имеет не логический тип данных ? Но это же бред !!!!!!!


Хэлп
...
Рейтинг: 0 / 0
CheckBox
    #35340432
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Прежде, чем бросаться словами, надо проверить. Хотя бы в дизайнере формы. По умолчанию, CheckBox.Value имеет числовой тип данных. 0 или 1. Установите прямо в дизайнере формы CheckBox.Value = .F. и будет Вам "счастье"

А вообще, проще "привязать" поле таблицы к CheckBox.ControlSource и не мучится с программной вставкой.
...
Рейтинг: 0 / 0
CheckBox
    #35340439
PaulWist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И чЁ это в матчасти написано?

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
For a CheckBox control, the following table lists the settings for nSetting: 

nSetting  Description  
0
 Cleared. (Default)
 
1
 Selected.
 
2
 Mixed-value. This setting is only available in code.
...
Рейтинг: 0 / 0
CheckBox
    #35340445
ЗвегПолучаеться что Value ЧекБокса имеет не логический тип данных ? Но это же бред !!!!!!!


Хэлп
Правильно, вот как раз к хелпу и надо обратиться. Там и будет написано, что это не бред и значение может быть и числовым.
...
Рейтинг: 0 / 0
CheckBox
    #35340497
Звег
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Большое спасибо !

Владимир - в моем случае ПРИВЯЗАТЬ не проще потому что добавление с таблицу происходит по нажатию клавиши и вноситься одновременно много данных разного типа =)
...
Рейтинг: 0 / 0
CheckBox
    #35340522
Звег
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всплывающий вопрос

пытаюсь поступить по совету владимира только не с ЧекБоксом а с ОпшнГруп (Необходимо использование именно опшн группа так как в таблице два столбца устроены именно такие образом что если в первый вноситься ДО то во второй должно поступить НЕТ и наоборот)

Но когда я пытаюсь прописать в свойстве Value опшнгрупа .Т. он игнорирует изменение и все равно оставляет 1 !
...
Рейтинг: 0 / 0
CheckBox
    #35340557
PaulWist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну ты хоть в хелп посмотри

Код: plaintext
1.
Control  Data         Types allowed  
OptionGroup           Character, Integer, Numeric
...
Рейтинг: 0 / 0
CheckBox
    #35340567
Звег
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
как раз только что посмотрел ! И что тогда делать ?
...
Рейтинг: 0 / 0
CheckBox
    #35340573
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Звегкак раз только что посмотрел ! И что тогда делать ?
А что тебе надо?
...
Рейтинг: 0 / 0
CheckBox
    #35340606
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Чтоб было понятно.

Логическое поле вообще и CheckBox в частности, неявно содержат в себе ответ на вопрос вроде: А является ли ...?

Например, а является ли данная персона мужчиной? В зависимости от значения получаем ответ: "Да, это мужчина" или "Нет, это не мужчина".

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

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

OptionGroup - это объект для выбора. Причем вариантов выбора может быть довольно много. По крайней мере, больше 2. Т.е. для хранения выбранного значения логическое поле заведомо не годится.

Если ты записываешь результат выбора в логическое поле, то будь готов к большому объему программирования и не очевидности работы и модификации программы. Будут постоянные проблемы. Решаемые, конечно, но с дополнительными усилиями.
...
Рейтинг: 0 / 0
CheckBox
    #35340610
Звег
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
у меня в таблице есть две колонки - Зачет и Экзамен! типы данных в колонка логического типа ! Естественно что в семестре может быть либо зачет либо экзамен соответственно в пределах одной строки значение ДА может быть только у одного из столбцов ! Для добавления записи в эти столбцы я выбрал OptionGroup так как в это элементе одновременно может быть выбрано только одно значение!

Только что измение значение Value не у всех ОпшнГруп а у Option1 и Option2 соответственно на .T. и .F. как ты советовал в предыдущем примере ! Но все равно при попытке внесения записи говорит что не совпадает тип данных !
...
Рейтинг: 0 / 0
CheckBox
    #35340618
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЗвегВсплывающий вопрос

пытаюсь поступить по совету владимира только не с ЧекБоксом а с ОпшнГруп (Необходимо использование именно опшн группа так как в таблице два столбца устроены именно такие образом что если в первый вноситься ДО то во второй должно поступить НЕТ и наоборот)

Но когда я пытаюсь прописать в свойстве Value опшнгрупа .Т. он игнорирует изменение и все равно оставляет 1 !

И что мешает написать:
Код: plaintext
repl ПолеДа with (опшнгруп.Value =  1 ), ПолеНет with (опшнгруп.Value !=  1 )
...
Рейтинг: 0 / 0
CheckBox
    #35340633
Звег
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Дима Т - не понял что вы имеете ввиду если чесно !
...
Рейтинг: 0 / 0
CheckBox
    #35340639
Звег
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Теперь понял НО - 1 или 0 это все равно не ЛОГИЧЕСКИЕ значения а у меня в столбце - логические =)
...
Рейтинг: 0 / 0
CheckBox
    #35340682
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЗвегТеперь понял НО - 1 или 0 это все равно не ЛОГИЧЕСКИЕ значения а у меня в столбце - логические =)
Любой оператор сравнения возвращает логическое значение. И использовать их можно не только в IF`ах

выполни:
Код: plaintext
1.
2.
3.
4.
X =  1 
? X =  1 , X !=  1 

X =  2 
? X =  1 , X !=  1 
Понял?
...
Рейтинг: 0 / 0
CheckBox
    #35340696
Звег
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Примерно понял ! НО есть такой момент

1) У меня не одна опция в Группе а две (для каждого столбца)
2) В твоем случае у меня будет записываться постоянно одно и тоже значение - в 1 поле всегда ДА во второе всегда НЕТ!
...
Рейтинг: 0 / 0
CheckBox
    #35340752
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЗвегПримерно понял ! НО есть такой момент

1) У меня не одна опция в Группе а две (для каждого столбца)
2) В твоем случае у меня будет записываться постоянно одно и тоже значение - в 1 поле всегда ДА во второе всегда НЕТ!
optiongroup.value по умолчанию возвращает номер выбранного элемента, а не Value этого элемента. Т.е. при двух элементах это 1 и 2.
...
Рейтинг: 0 / 0
CheckBox
    #35340772
Звег
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо Дмитрий
Моя ошибка была в том что в последнем случае я работал не с опшнгруп самим а с опшнгруп.опшн1 =)
...
Рейтинг: 0 / 0
CheckBox
    #35340950
Galyamov Rinat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Автор: Звег
> у меня в таблице есть две колонки - Зачет и Экзамен! <...>
> соответственно в пределах одной строки значение ДА может быть только у
> одного из столбцов !

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

Если может быть либо то либо другое - то поле должно быть одно и содержать
"код вида проверки знаний" соответсвтие которому должно быть в справочнике.

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

Что это даст?

При добавлении новых видов проверки знаний (диференцированный зачет, зачет в
виде теста, государственный экзамен, ...) тебе достаточно добавить ОДНУ
строчку в справочник - и работайте товарищи дальше.

В твоем случае придется переделывать ВСЮ программу(добавить новый столбец,
переписать всю логику добавления, изменения, переделать все отчеты,
завязанные на эти столбцы...) Мрак.


Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
CheckBox
    #35340957
Galyamov Rinat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В обще говоря можно работать и с OptionGroup.Option1.value

оно будет равно 1 только если выбрана первая кнопка.

> Моя ошибка была в том что в последнем случае я работал не с опшнгруп
> самим а с опшнгруп.опшн1 =)

Т.о. если код был написан, то все равно НЕ будет ситуации:
"2) В твоем случае у меня будет записываться постоянно одно и тоже
значение - в 1 поле всегда ДА во второе всегда НЕТ!"


Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
CheckBox
    #35340978
Galyamov Rinat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Автор: Dima T
Чего, Диман. Однако студенты усиленно взялись за дипломы ;-)


Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
CheckBox
    #35341002
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Galyamov Rinat
> Автор: Dima T
Чего, Диман. Однако студенты усиленно взялись за дипломы ;-)


Posted via ActualForum NNTP Server 1.4

Похоже да, но тем кто сам соображать пытается надо помогать.
...
Рейтинг: 0 / 0
22 сообщений из 22, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / CheckBox
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]