powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Не хватает памяти для Select .
8 сообщений из 8, страница 1 из 1
Не хватает памяти для Select .
    #33568723
Недоходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет. При исполнений такого кода
rep_load_naimen_cmr = "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,30,31,33,34,35,36,37,38,39,40,41,42,43,44,45,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,30,31,33,34,35,36,37,38,39,40,41,42,43,44,45"
rep_load_naimen2_cmr = 'nrec in ('- rtrim(rep_load_naimen_cmr) - ')'
rep_load_naimen3_cmr = 'nrec not in ('- rtrim(rep_load_naimen_cmr) - ')'

select alltrim(naimen),alltrim(str(nrec)) from urep_filter_cmr where &rep_load_naimen2_cmr into cursor laLines2_cmr
select alltrim(naimen),alltrim(str(nrec)) from urep_filter_cmr where &rep_load_naimen3_cmr into cursor laLines3_cmr

Выдаеться ошибка: "SQL expression is too complex".
Подскажите плиз, как можно другим способом составить этот код чтоб избежать эту ошибку?
...
Рейтинг: 0 / 0
Не хватает памяти для Select .
    #33568724
Недоходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VFP6
...
Рейтинг: 0 / 0
Не хватает памяти для Select .
    #33568845
Doktor Gradus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Разве нельзя использовать в SQL функцию BETWEEN:

Код: plaintext
BETWEEN(eTestValue, eLowValue, eHighValue) 

в вашем случае:

Код: plaintext
1.
select allt(naimen),allt(str(nrec)) from urep_filter_cmr where between( nrec,  1 ,  45 )
select allt(naimen),allt(str(nrec)) from urep_filter_cmr where !between( nrec,  1 ,  45 )
...
Рейтинг: 0 / 0
Не хватает памяти для Select .
    #33568864
Недоходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Sergey Ch

В хелпе нету, а фокс ее исполняет. А что это за функция?

2 Doktor Gradus

небольшое уточнение, а если переменная будет иметь такой вид тогда как быть?
rep_load_naimen_cmr rep_load_naimen_cmr = "1,2,3,4,5,6,7,8,9,12,13,14,34,35,36,37,38,39,40,41,45"
...
Рейтинг: 0 / 0
Не хватает памяти для Select .
    #33568904
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если не ошибаюсь, то в VFP6 было ограничение на количество значений в IN. Там, кажется, нельзя было больше 24 значений указать.

Т.е. разбей твое творение на несколько операторов IN как-то так:

(nrec IN (1,2,3,4,5) OR nrec IN (6,7,8,9,10) OR ...)

А еще лучше, сделай курсор, загони в него все твои значения и используй подзапрос

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
CREATE CURSOR listValue (nrec I)
INSERT INTO listValue (nrec) VALUES ( 1 )
INSERT INTO listValue (nrec) VALUES ( 2 )
INSERT INTO listValue (nrec) VALUES ( 3 )
INSERT INTO listValue (nrec) VALUES ( 4 )
...

SELECT ... ;
FROM ... ;
WHERE nrec IN (SELECT nrec FROM listValue)
...
Рейтинг: 0 / 0
Не хватает памяти для Select .
    #33568945
Недоходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 ВладимирМ

Супер, супер, просто супер!! СПАСИБО ВЫРУЧИЛИ!!!!
...
Рейтинг: 0 / 0
Не хватает памяти для Select .
    #33578624
Igor Korolyov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hi Владимир!

Или в массив + ASCAN()

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Не хватает памяти для Select .
    #33578658
Doktor Gradus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А я поэкспериментировал на днях, и вот такой код получился (VFP6):

Код: plaintext
1.
update <myTable> set <Field1> = <Value1>, ... , <FieldN> = <ValueN> ;
where <Table_primary_key> in (select <Table_primary_key> from <myAnotherTable>)

<myAnotherTable> -- чаще всего курсор, куда выбраны номера записей на обновление.
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Не хватает памяти для Select .
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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