Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / условие в IF / 8 сообщений из 8, страница 1 из 1
02.03.2004, 12:15
    #32427602
lesha_spb
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
условие в IF
мне нужно проверить такое условие
DO WHILE !EOF("cMeters")
IF (cMeters.idob IN (SELECT idob FROM metercheck))
какие-то действия
skip in cmeters
enddo
т.е. я хочу проверить есть ли текущий cMeters.idob в таблице metercheck
Моя запись неправильная(in так не используется)
Как надо?
...
Рейтинг: 0 / 0
02.03.2004, 12:21
    #32427629
Hel!Riser
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
условие в IF
если есть индекс idob в таблице metercheck то лутше пользуй
Код: plaintext
IF SEEK(cMeters.idob,'metercheck','idob')
...
Рейтинг: 0 / 0
02.03.2004, 12:30
    #32427662
lesha_spb
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
условие в IF
А если нет и делать не хочется
...
Рейтинг: 0 / 0
02.03.2004, 12:40
    #32427686
Hel!Riser
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
условие в IF
тада
Код: plaintext
1.
SELECT idob FROM metercheck t WHERE t.idob=cMeters.idob INTO ARRAY aTmp
IF _TALLY# 0  && есть такая буква в этом слове

но фс:е это не серь:езна и медленна. лутше индекс построй
...
Рейтинг: 0 / 0
02.03.2004, 12:43
    #32427694
lesha_spb
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
условие в IF
да про селект я и сам догадался. Что ж придется индекс делать
Спасибо за ответы
...
Рейтинг: 0 / 0
02.03.2004, 12:49
    #32427706
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
условие в IF
Ну, вообще-то, еще LOCATE есть. Хотя, конечно, это медленнее индекса, но в общем случае быстрее SELECT.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
select meterchek
SET ORDER TO  0     && для ускорения LOCATE
select cMeters
SCAN
	select meterchek
	LOCATE FOR idob = cMeters.idob
	IF FOUND()=.F.
		LOOP
	ENDIF
	select meterchek
	*какие-то действия
ENDSCAN
...
Рейтинг: 0 / 0
02.03.2004, 12:53
    #32427722
Hel!Riser
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
условие в IF
дык если cMeters - это некая выборка, то пользуй и metercheck c левой связкой по ИДу. а когда шерстить будешь, то смотришь на ISNULL() поля, кот как бы из metercheck.
Или перед перед фходом в цикл сделай
SELECT idob FROM metercheck t INNER JOIN cMeters c ON t.idob=cMeters.idob INTO CURSOR qTmp
...
Рейтинг: 0 / 0
02.03.2004, 12:54
    #32427725
Hel!Riser
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
условие в IF
блин не договорил :) И его соотв инексни или LOCATE трави. Фсяка перемещений будет меньше при такой фильтрации данных в курсор
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / условие в IF / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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