Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / ПОМОГИТЕ с циклом !!! / 15 сообщений из 15, страница 1 из 1
30.01.2009, 13:44
    #35788029
Руслан82
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ПОМОГИТЕ с циклом !!!
Таблица DBF нужно
Каждую строку проверить если поля 1 , 2 , 3, 4 совпадают то
( проверить 5 поле(числовое) с 5 (числовое) (Числовой диапазон 5 всегда меньше 6 го) и 6(числовое) если 5ое поле этой строки поподает в диапазон 5 по 6 то вывести результат на экран если нет то берем следующею строку и заново , пока не проверит все поля
...
Рейтинг: 0 / 0
30.01.2009, 13:51
    #35788051
homik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ПОМОГИТЕ с циклом !!!
Пожалуйста, абстрагируйся, и попробуй перечитать свое сообщение :)
...
Рейтинг: 0 / 0
30.01.2009, 14:01
    #35788088
Kruchinin Pahan
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ПОМОГИТЕ с циклом !!!
Руслан82Таблица DBF нужно
Каждую строку проверить если поля 1 , 2 , 3, 4 совпадают то
( проверить 5 поле(числовое) с 5 (числовое) (Числовой диапазон 5 всегда меньше 6 го) и 6(числовое) если 5ое поле этой строки поподает в диапазон 5 по 6 то вывести результат на экран если нет то берем следующею строку и заново , пока не проверит все поля
Руслан82, ну кто вас учил формулировать условия?

- Что значит "1, 2, 3, 4 совпадают"? Значит ли это, что 1=2=3=4 в одной и той же строке?
- Зачем проверять поле 5 числовое с полем 5 числовым? Или это надо в группировке делать?
- И как может поле 5 не попадать в диапазон заданный полем 5 и полем 6?

Может быть, если правильно сформулировать условие, у вас и вопрос исчезнет сам собой?
...
Рейтинг: 0 / 0
01.02.2009, 10:06
    #35790065
Руслан82
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ПОМОГИТЕ с циклом !!!
в таблице много данных
берем первую строку и сверяем с остальными поэтому 5 неравно 5 (это другая строка диапазон чисел другой) даже если 1=1 ; 2=2; 3=3; 4=4; это не значит что 5 попадает от 5 до 6 следующей строки


Помогите !!!
...
Рейтинг: 0 / 0
01.02.2009, 11:17
    #35790096
?
?
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ПОМОГИТЕ с циклом !!!
Приведи пример. Нарисуй таблицу и скажи, что хочешь из нее получить. Или создай файл и прикрепи.
...
Рейтинг: 0 / 0
02.02.2009, 06:45
    #35790726
Руслан82
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ПОМОГИТЕ с циклом !!!
ВОТ пример мне нужно достать 1 ю и 5 ю запись
...
Рейтинг: 0 / 0
02.02.2009, 08:43
    #35790781
?
?
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ПОМОГИТЕ с циклом !!!
Руслан82,
Е....................................................................................!
Ты издеваешься!
...
Рейтинг: 0 / 0
02.02.2009, 08:58
    #35790793
Kruchinin Pahan
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ПОМОГИТЕ с циклом !!!
Руслан82ВОТ пример мне нужно достать 1 ю и 5 ю запись
Во! Можно начинать строить условие. Есть некоторая задача. Назовем ее задачей трудоустройства. Имеется набор диапазонов дат по сотрудникам. Уникальным идентификатором сотрудника является фамилия, имя, отчество, год рождения. Заданные интервалы дат могут пересекаться.

Нужно:...

А вот что нужно получить - не понятно. Ну, попробуйте хотя бы словами объяснить как из этого набора данных вы выберете первую и пятую записи. И почему исключаете вторую.
...
Рейтинг: 0 / 0
02.02.2009, 09:00
    #35790800
Kruchinin Pahan
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ПОМОГИТЕ с циклом !!!
Руслан82,

Включаю телепатию. Возможно вам надо по этим "сотрудникам" найти записи, в которых пересеклись интервалы дат?
...
Рейтинг: 0 / 0
02.02.2009, 09:04
    #35790806
Руслан82
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ПОМОГИТЕ с циклом !!!
>> ?

нет

вот мне нужен цикл потому что их 2000 записи в таблице и мне нужно выбрать только
с одинаковыми паспортными данными но если поле start finih хоть как то пересекаются

голову уже сломал
HELP !!!!
...
Рейтинг: 0 / 0
02.02.2009, 09:13
    #35790810
Руслан82
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ПОМОГИТЕ с циклом !!!
Нужно всех у кого совпадают данные и пересекаться даты вывести на экран
...
Рейтинг: 0 / 0
02.02.2009, 09:22
    #35790819
Kruchinin Pahan
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ПОМОГИТЕ с циклом !!!
Руслан82ВОТ пример мне нужно достать 1 ю и 5 ю запись
Сам себе задачу поставил. Сам решил. А вы учитесь задачи формулировать:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
CLOSE TABLES ALL
CREATE CURSOR CurMain (Uid I, F C( 20 ), I C( 20 ), O C( 20 ), God I, Start D, Finish D)
INSERT INTO CurMain (F, I, O, God, Start, Finish) VALUES ("Иванов", "Иван", "Иванович",  1991 , {^ 2007 . 02 . 15 }, {^ 2007 . 02 . 20 })
INSERT INTO CurMain (F, I, O, God, Start, Finish) VALUES ("Петров", "Петор", "Петрович",  1986 , {^ 2007 . 03 . 16 }, {^ 2007 . 03 . 31 })
INSERT INTO CurMain (F, I, O, God, Start, Finish) VALUES ("Иванов", "Иван", "Иванович",  1991 , {^ 2007 . 05 . 31 }, {^ 2007 . 06 . 16 })
INSERT INTO CurMain (F, I, O, God, Start, Finish) VALUES ("Сидоров", "Сидр", "Сидоравич",  1986 , {^ 2007 . 02 . 16 }, {^ 2007 . 02 . 30 })
INSERT INTO CurMain (F, I, O, God, Start, Finish) VALUES ("Иванов", "Иван", "Иванович",  1991 , {^ 2007 . 02 . 19 }, {^ 2007 . 02 . 25 })
GO TOP
REPLACE ALL Uid WITH RECNO("CurMain") && Без суррогатного ключа, как-то грустно получается

SELECT ;	
	CL.F, ;
	CL.I, ;
	CL.O, ;
	CL.God, ;
	CL.Uid		AS Uid1, ;
	CR.Uid		AS Uid2, ;
	CL.Start	AS Start1, ;
	CL.Finish	AS Finish1, ;
	CR.Start	AS Start2, ;
	CR.Finish	AS Finish2 ;
	FROM CurMain CL ;
	INNER JOIN CurMain CR ON ;
						CL.Uid != CR.Uid ; 
						AND CL.F == CR.F ;
						AND CL.I == CR.I ;
						AND CL.O == CR.O ;
						AND CL.God == CR.God ;
						AND CL.Start <= CR.Finish ;
						AND CL.Finish >= CR.Start ;
	INTO CURSOR CurTmp NOFILTER READWRITE
	
SELECT DISTINCT ;
	CR.* ;
	FROM CurTmp CL ;
	INNER JOIN CurMain CR ON ;
					INLIST(CR.Uid, CL.Uid1, CL.Uid2) ;
	INTO CURSOR CurResult NOFILTER
BROW
...
Рейтинг: 0 / 0
02.02.2009, 09:23
    #35790823
Квилпыч
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ПОМОГИТЕ с циклом !!!
авторТаблица DBF нужно
Каждую строку проверить если поля 1 , 2 , 3, 4 совпадают то
( проверить 5 поле(числовое) с 5 (числовое) (Числовой диапазон 5 всегда меньше 6 го) и 6(числовое) если 5ое поле этой строки поподает в диапазон 5 по 6 то вывести результат на экран если нет то берем следующею строку и заново , пока не проверит все поля

кривая таблица, в 5 поле у тебя даты, как ты их думаешь сравнить как числовые? или что в твоем понимании числовые.
...
Рейтинг: 0 / 0
02.02.2009, 09:36
    #35790837
Kruchinin Pahan
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ПОМОГИТЕ с циклом !!!
Kruchinin PahanСам себе задачу поставил. Сам решил. А вы учитесь задачи формулировать:

ИМХО, перемудрил. Достаточно так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
CLOSE TABLES ALL
CREATE CURSOR CurMain (Uid I, F C( 20 ), I C( 20 ), O C( 20 ), God I, Start D, Finish D)
INSERT INTO CurMain (F, I, O, God, Start, Finish) VALUES ("Иванов", "Иван", "Иванович",  1991 , {^ 2007 . 02 . 15 }, {^ 2007 . 02 . 20 })
INSERT INTO CurMain (F, I, O, God, Start, Finish) VALUES ("Петров", "Петор", "Петрович",  1986 , {^ 2007 . 03 . 16 }, {^ 2007 . 03 . 31 })
INSERT INTO CurMain (F, I, O, God, Start, Finish) VALUES ("Иванов", "Иван", "Иванович",  1991 , {^ 2007 . 05 . 31 }, {^ 2007 . 06 . 16 })
INSERT INTO CurMain (F, I, O, God, Start, Finish) VALUES ("Сидоров", "Сидр", "Сидоравич",  1986 , {^ 2007 . 02 . 16 }, {^ 2007 . 02 . 30 })
INSERT INTO CurMain (F, I, O, God, Start, Finish) VALUES ("Иванов", "Иван", "Иванович",  1991 , {^ 2007 . 02 . 19 }, {^ 2007 . 02 . 25 })
GO TOP
REPLACE ALL Uid WITH RECNO("CurMain") && Без суррогатного ключа, как-то грустно получается


SELECT DISTINCT ;
	CL.* ;
	FROM CurMain CL ;
	INNER JOIN CurMain CR ON ;
						CL.Uid != CR.Uid ; 
						AND CL.F == CR.F ;
						AND CL.I == CR.I ;
						AND CL.O == CR.O ;
						AND CL.God == CR.God ;
						AND CL.Start <= CR.Finish ;
						AND CL.Finish >= CR.Start ;
	INTO CURSOR CurResult NOFILTER READWRITE
...
Рейтинг: 0 / 0
02.02.2009, 10:42
    #35790954
Руслан82
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ПОМОГИТЕ с циклом !!!
Спасибо большое похоже то что надо
разбираюсь
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / ПОМОГИТЕ с циклом !!! / 15 сообщений из 15, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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