если значение поля =0 то checkbox=fasle

longfast
Дата: 13.12.2012 22:59:25
Умные люди помогите. Есть поле количество товара. Нужно чтобы если количество товара =0, то checkbox=fasle(т.е без галочки). делал через if ничего не выходит.
IF
(select kolvo from sklad where kolvo=0)=0
(SELECT nalichie FROM sklad)=fasle
ELSE (SELECT nalichie FROM sklad)=true
endif
thunder2
Дата: 14.12.2012 00:38:27
longfast,

Каша на письме - каша в голове !

В каком checkbox ? О чем ты, чудовище ? Ты перед тем как постить сначала бы прочитал, что написал !
Если речь о Grid`е, то в поле ControlSource колонки пишешь empty(kolvo). Поле ReadOnly ставишь в true, Sparse ставишь в true.
Если checkbox на форме - почти тоже самое
    thisform.checkbox1.value=empty(kolvo)


Если еще раз оформишь пост через 5-ю точку (как этот), больше ответов не получишь.
reware
Дата: 14.12.2012 04:53:52
longfast
Умные люди помогите. Есть поле количество товара. Нужно чтобы если количество товара =0, то checkbox=fasle(т.е без галочки). делал через if ничего не выходит.
IF
(select kolvo from sklad where kolvo=0)=0
(SELECT nalichie FROM sklad)=fasle
ELSE (SELECT nalichie FROM sklad)=true
endif

Нет, вы только поглядите, что можно сделать из обычной сноповязалки и швейной машинки имени Зингера. И что характерно, селекты человек уже где-то подсмотрел, но правда безрезультатно :) Особенно, если учесть некое странное слово "fasle", которого нет в общеизвестных словарях (японский не проверял). Только в переводе с языка племени бунгу-мунгу это переводится, как ... <censored>.
Взять хотя бы строчку
(select kolvo from sklad where kolvo=0)=0

Я, конечно, не есть сильно понимайт в вашей мови, но есть такая переменная _TALLY, в которой сохраняется результат (к-во отобранных записей) последнего селекта. Т.е. этот бред с (select kolvo from sklad where kolvo=0)=0 можно почикать ножичком, а анализировать именно глобальную переменную _TALLY опосля этого селекта. Если _TALLY=0, то нифига не выбрано.
Смотрим кино далее -
ELSE (SELECT nalichie FROM sklad)=true

Это вообще чего означает ? Нет, увольте, у меня батарейки кончились в голове :)
longfast
Дата: 16.12.2012 19:20:39
Люди, в програмировании не особо силен, поэтому и обратился к вам. На самом деле мне нужно чтоб если в таблице поле kolvo не ровнялось 0, то в этой же таблице поле nalichie (logical) автоматически становилось true
Dima T
Дата: 16.12.2012 19:38:10
longfast
Люди, в програмировании не особо силен,

Найди того кто силен или иди изучай программирование. Хотя бы синтаксис, чтобы можно было хоть чуть-чуть понять что ты пытаешься сделать.
Лично я вообще ничего не понял из твоей писанины.
ВладимирМ
Дата: 16.12.2012 20:13:43
longfast
Люди, в програмировании не особо силен, поэтому и обратился к вам. На самом деле мне нужно чтоб если в таблице поле kolvo не ровнялось 0, то в этой же таблице поле nalichie (logical) автоматически становилось true

Если это надо сделать во всех записях сразу, то

update sklad ;
set nalichie = iif(kolvo = 0, .F., .T.)
from sklad


Если это надо сделать в текущей записи, то

select sklad
replace nalichie with iif(kolvo = 0, .F., .T.)


Хотя практического смыла в поле nalichie вообще нет, поскольку отображать в CheckBox можно и результат функции. Т.е. там можно указать результат сравнения поля kolvo с нулем
thunder2
Дата: 16.12.2012 20:24:39
ВладимирМ

Хотя практического смыла в поле nalichie вообще нет, поскольку отображать в CheckBox можно и результат функции. Т.е. там можно указать результат сравнения поля kolvo с нулем

О чем ему было написано.
longfast
Дата: 16.12.2012 21:03:44
ВладимирМ
longfast
Люди, в програмировании не особо силен, поэтому и обратился к вам. На самом деле мне нужно чтоб если в таблице поле kolvo не ровнялось 0, то в этой же таблице поле nalichie (logical) автоматически становилось true

Если это надо сделать во всех записях сразу, то

update sklad ;
set nalichie = iif(kolvo = 0, .F., .T.)
from sklad



ошибки не выдает.пишет,что 16 записей обновлены.но в таблице значения не поменялись
longfast
Дата: 16.12.2012 22:22:57
спасибо, всё заработало.вот код



DELETE from sklad WHERE nalichie in (select nalichie FROM sklad)
update sklad ;
set nalichie = iif(kolvo = 0, .F., .T.)from sklad
AndreTM
Дата: 16.12.2012 22:29:41
longfast
спасибо, всё заработало.вот код
DELETE from sklad WHERE nalichie in (select nalichie FROM sklad)