powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / ПОМОГИТЕ с циклом !!!
15 сообщений из 15, страница 1 из 1
ПОМОГИТЕ с циклом !!!
    #35788029
Руслан82
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Таблица DBF нужно
Каждую строку проверить если поля 1 , 2 , 3, 4 совпадают то
( проверить 5 поле(числовое) с 5 (числовое) (Числовой диапазон 5 всегда меньше 6 го) и 6(числовое) если 5ое поле этой строки поподает в диапазон 5 по 6 то вывести результат на экран если нет то берем следующею строку и заново , пока не проверит все поля
...
Рейтинг: 0 / 0
ПОМОГИТЕ с циклом !!!
    #35788051
homik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пожалуйста, абстрагируйся, и попробуй перечитать свое сообщение :)
...
Рейтинг: 0 / 0
ПОМОГИТЕ с циклом !!!
    #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
ПОМОГИТЕ с циклом !!!
    #35790065
Руслан82
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
в таблице много данных
берем первую строку и сверяем с остальными поэтому 5 неравно 5 (это другая строка диапазон чисел другой) даже если 1=1 ; 2=2; 3=3; 4=4; это не значит что 5 попадает от 5 до 6 следующей строки


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

Нужно:...

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

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

нет

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

голову уже сломал
HELP !!!!
...
Рейтинг: 0 / 0
ПОМОГИТЕ с циклом !!!
    #35790810
Руслан82
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нужно всех у кого совпадают данные и пересекаться даты вывести на экран
...
Рейтинг: 0 / 0
ПОМОГИТЕ с циклом !!!
    #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
ПОМОГИТЕ с циклом !!!
    #35790823
Квилпыч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторТаблица DBF нужно
Каждую строку проверить если поля 1 , 2 , 3, 4 совпадают то
( проверить 5 поле(числовое) с 5 (числовое) (Числовой диапазон 5 всегда меньше 6 го) и 6(числовое) если 5ое поле этой строки поподает в диапазон 5 по 6 то вывести результат на экран если нет то берем следующею строку и заново , пока не проверит все поля

кривая таблица, в 5 поле у тебя даты, как ты их думаешь сравнить как числовые? или что в твоем понимании числовые.
...
Рейтинг: 0 / 0
ПОМОГИТЕ с циклом !!!
    #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
ПОМОГИТЕ с циклом !!!
    #35790954
Руслан82
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо большое похоже то что надо
разбираюсь
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / ПОМОГИТЕ с циклом !!!
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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