powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Динамическое имя курсора
23 сообщений из 23, страница 1 из 1
Динамическое имя курсора
    #38552991
Eugene7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В цикле делаю селекты, и пишу в курсор. Но не дает указывать имя курсора динамически. А если написать фиксированное имя, то с каждой итерацией курсор будет перезаписываться

Код: sql
1.
2.
3.
4.
5.
6.
SELECT MIN(narm.car)+' '+narm.trol_num+'  '+MIN(raspis.shift)+' ñì.' as vypusk   ;
	FROM narm RIGHT JOIN raspis ON (narm.rout=raspis.rout AND narm.car=raspis.car AND IIF( (RIGHT(narm.shift,1)='1' OR RIGHT(narm.shift,1)='2'),RIGHT(narm.shift,1), IIF(LEFT(narm.shift,1)=' ',RIGHT(narm.shift,1),narm.shift) ) = raspis.shift) AND raspis.weekend=core.weekend  ;
	WHERE narm.dat=m.datf AND narm.rout = routn ;
	GROUP BY narm.trol_num ;
	ORDER BY vypusk ;
	INTO CURSOR &columnn
...
Рейтинг: 0 / 0
Динамическое имя курсора
    #38553017
IgorNG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Eugene7,

Не дает как?
А так INTO CURSOR (columnn) ?
...
Рейтинг: 0 / 0
Динамическое имя курсора
    #38553104
Sergey Sizov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Eugene7,
а теперь объясните назначение тучи курсоров одинаковой структуры с динамическими именами.
...
Рейтинг: 0 / 0
Динамическое имя курсора
    #38553115
Eugene7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
нельзя
...
Рейтинг: 0 / 0
Динамическое имя курсора
    #38553120
Eugene7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sergey SizovEugene7,
а теперь объясните назначение тучи курсоров одинаковой структуры с динамическими именами.
В идеале мне это нужно в одной таблице разными столбцами, но средствами foxpro фиг сделаешь, приходится идти обходным путем.
Потом буду сводить в одну таблицу.
...
Рейтинг: 0 / 0
Динамическое имя курсора
    #38553130
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Eugene7В идеале мне это нужно в одной таблице разными столбцами, но средствами foxpro фиг сделаешь
Заинтриговал :)
...
Рейтинг: 0 / 0
Динамическое имя курсора
    #38553137
Eugene7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да вы бы лучше помогли с проблеммой
...
Рейтинг: 0 / 0
Динамическое имя курсора
    #38553182
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Eugene7да вы бы лучше помогли с проблеммой
Как динамически задать имя курсора тебе уже написали
IgorNGINTO CURSOR (columnn)
В остальном: не зная проблемы сложно помочь. Телепатов тут нет.
...
Рейтинг: 0 / 0
Динамическое имя курсора
    #38553185
ALEXTL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Eugene7,
SYS(3)
...
Рейтинг: 0 / 0
Динамическое имя курсора
    #38553186
Eugene7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Уже 5-ым путем пытаюсь решить проблемму, и везде утыкаюсь на что-то, что нельзя сделать в FOXPRO

Вот например пытаюсь объеденить курсоры в 1 таблицу.
Каждый курсор с 1 колонкой разной длины. Если например в первой колонке 20, в другой 25 - надо объеденить так, что-бы оставшиеся 5 были пустыми записями.
Т.е. типа того:
колонка 1 колонка 2
123 123
123 123
123
123

И так показать в отчете. Но с нескольких курсоров отчет данные не берет. Приходится объединять.

Делаю это через JOIN. Т.е. нужно определить курсор где больше всего записей, и к нему приджоинить остальные.
Но вот беда - динамически имя не подставить!
И как спрашивается приджоинивать...

Может у кого есть мысли как что-то из выше описанного можно решить?
...
Рейтинг: 0 / 0
Динамическое имя курсора
    #38553187
Eugene7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima TEugene7да вы бы лучше помогли с проблеммой
Как динамически задать имя курсора тебе уже написали
IgorNGINTO CURSOR (columnn)

Не работает. Ругается.
...
Рейтинг: 0 / 0
Динамическое имя курсора
    #38553191
Sergey Sizov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Eugene7В идеале мне это нужно в одной таблице разными столбцами, но средствами foxpro фиг сделаешь,И сие есть уже доказанный факт? Ссылку на доказательство в студию. приходится идти обходным путем.
Потом буду сводить в одну таблицу.Почему сразу в одну нельзя?
...
Рейтинг: 0 / 0
Динамическое имя курсора
    #38553196
Sergey Sizov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Eugene7Уже 5-ым путем пытаюсь решить проблемму, и везде утыкаюсь на что-то, что нельзя сделать в FOXPRO

Вот например пытаюсь объеденить курсоры в 1 таблицу.
Каждый курсор с 1 колонкой разной длины. Если например в первой колонке 20, в другой 25 - надо объеденить так, что-бы оставшиеся 5 были пустыми записями.
Т.е. типа того:
колонка 1 колонка 2
123 123
123 123
123
123

И так показать в отчете. Но с нескольких курсоров отчет данные не берет. Приходится объединять.

Делаю это через JOIN. Т.е. нужно определить курсор где больше всего записей, и к нему приджоинить остальные.
Но вот беда - динамически имя не подставить!
И как спрашивается приджоинивать...

Может у кого есть мысли как что-то из выше описанного можно решить?Сударь, Вы упорно продолжаете рассказывать нам про трудности, которые на Вас свалились при реализации выбранного Вами способа решения какой-то неизвестной нам задачи и ничего не говорите про саму задачу. Может таки напряжетесь?
...
Рейтинг: 0 / 0
Динамическое имя курсора
    #38553204
Eugene7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Конечная задача и есть отчет вида:
колонка1 колонка 2
123 123
123 123
123
123

По поводу динамической подстановки имени разобрался - проблемма оказалась в следующем:
columnn = 'column'+STR(n)

В columnn оказывалась страка вида: "column 1"
с кучей пробелов. ALLTRIM проблемму решил.
...
Рейтинг: 0 / 0
Динамическое имя курсора
    #38553215
Eugene7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[quot Sergey Sizov]Eugene7Почему сразу в одну нельзя?
Ну расскажите как это сделать?
В первую колонку мне нужно отселектить записи по одному маршруту, во вторую по другому маршруту. Все из одной таблицы.
Т.е. по сути содержимое одной колонки - результат запроса из всей таблицы.
Как заполнить их все одним селектом?
...
Рейтинг: 0 / 0
Динамическое имя курсора
    #38553226
Sergey Sizov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[quot Eugene7]Sergey Sizovпропущено...

Ну расскажите как это сделать?
В первую колонку мне нужно отселектить записи по одному маршруту, во вторую по другому маршруту. Все из одной таблицы.
Т.е. по сути содержимое одной колонки - результат запроса из всей таблицы.
Как заполнить их все одним селектом?И откуда мне брать имена таблиц, полей, их связи и т.д. Из астрала? Или угадать? Или про сферического коня в вакууме? Что такое маршрут? Чем маршруты отличаются?
...
Рейтинг: 0 / 0
Динамическое имя курсора
    #38553271
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Eugene7Dima Tпропущено...

Как динамически задать имя курсора тебе уже написали
пропущено...


Не работает. Ругается.
У меня работает
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
create Cursor test (nX i)
insert into test values (1)
insert into test values (2)
insert into test values (3)

columnn = 'MyCursor'
select * from test into cursor (columnn)
brow



в columnn у тебя что ? Проверял?
...
Рейтинг: 0 / 0
Динамическое имя курсора
    #38553284
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Eugene7Конечная задача и есть отчет вида:
колонка1 колонка 2
123 123
123 123
123
123
многоколоночный отчет?
...
Рейтинг: 0 / 0
Динамическое имя курсора
    #38553304
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если просто вывести в несколько колонок на бумагу, то в свойствах отчета вкладка "Page layout" - Columns Nubers поставить нужное количество колонок.
...
Рейтинг: 0 / 0
Динамическое имя курсора
    #38553332
IgorNG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[quot Eugene7]Sergey Sizovпропущено...

Ну расскажите как это сделать?
В первую колонку мне нужно отселектить записи по одному маршруту, во вторую по другому маршруту. Все из одной таблицы.
Т.е. по сути содержимое одной колонки - результат запроса из всей таблицы.
Как заполнить их все одним селектом?

Как-то мутно все. А UNION ALL в SELECTE не катит?
...
Рейтинг: 0 / 0
Динамическое имя курсора
    #38555113
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На самом деле, ничего мутного... Просто ТС путает исходные данные для отчёта с самим отчётом :)
Для того, чтобы получить "многоколоночный отчёт" - достаточно сборку исходных данных представить в виде "строка-колонка-значение", а затем преобразовать их, используя средства для кросс-таблиц (XTAB). И уже этот кросс и будет готовым plane-отчетом...
...
Рейтинг: 0 / 0
Динамическое имя курсора
    #38555408
Fffffffffff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
И даже не зная, что такое XTAB, можно получить тот же результат, используя в запросе простую функцию IIF()
...
Рейтинг: 0 / 0
Динамическое имя курсора
    #38555589
UJCNM232
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plaintext
1.
SYS(2015)
...
Рейтинг: 0 / 0
23 сообщений из 23, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Динамическое имя курсора
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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