Вывод значений запроса
Модераторы: m0p3e, edward_K, Модераторы
Вывод значений запроса
Здравствуйте!
Подскажите, пожалуйста, как правильно оформить вывод данных в таблицу:
есть запрос
.create view TERM as
select mnfoper.name from katmarsh,marsh_sp,mnfoper,spkau
where ((kod ==katmarsh.nrec
and katmarsh.nrec == marsh_sp.cmarsh
and (spkau.name='Термическая обработка')
and marsh_sp.nope == mnfoper.nrec
and mnfoper.canval1 ==spkau.nrec
));
Данный запрос определяет для техмаршрута операции, у которых доп.аналитика имеет значение "термическая обработка". Т.е. заранее не известно количество выводимых значений - может быть и одно значение у запроса, может несколько. Как организовать последовательный вывод полученных значений в ячейки таблицы?
Подскажите, пожалуйста, как правильно оформить вывод данных в таблицу:
есть запрос
.create view TERM as
select mnfoper.name from katmarsh,marsh_sp,mnfoper,spkau
where ((kod ==katmarsh.nrec
and katmarsh.nrec == marsh_sp.cmarsh
and (spkau.name='Термическая обработка')
and marsh_sp.nope == mnfoper.nrec
and mnfoper.canval1 ==spkau.nrec
));
Данный запрос определяет для техмаршрута операции, у которых доп.аналитика имеет значение "термическая обработка". Т.е. заранее не известно количество выводимых значений - может быть и одно значение у запроса, может несколько. Как организовать последовательный вывод полученных значений в ячейки таблицы?
-
- Местный житель
- Сообщения: 1089
- Зарегистрирован: 04 сен 2008, 11:27
- Откуда: Москва
- Контактная информация:
Re: Вывод значений запроса
попробую угадать .. таблица excel тогда счетчик, таблица в памяти просто insert
Время ведет!
Re: Вывод значений запроса
а использовать цикл _loop можно? у меня он почему-то неправильно отрабатывает...как должен выглядеть код в таком случае?
_ loop mnfoper ?
_ loop mnfoper ?
-
- Местный житель
- Сообщения: 370
- Зарегистрирован: 28 сен 2006, 15:43
- Откуда: Санкт-Петербург
- Контактная информация:
Re: Вывод значений запроса
В документации: описание языка Vip -> Отчеты -> Цикл по SQL-таблице. Там все написано и приведены примеры.
Re: Вывод значений запроса
Пишу вот такой вариант вывода
if (TERM.getfirst katmarsh=0)
{if (TERM.getfirst marsh_sp=0)
{ term_name:=TERM.mnfoper.name;
Message (term_name);
}
}
получаю на выходе - только первое значение из запроса, т.е нет цикла.
меняю данный текст на
.{table 'TERM' by mnfoper.nrec
.begin
term_name:=Term.mnfoper.name;
Message (term_name);
end.
,}
выходит ошибка- ожидалось арифметическое выражение и указывает на первую строку. что я делаю не так? подскажите, пожалуйста
if (TERM.getfirst katmarsh=0)
{if (TERM.getfirst marsh_sp=0)
{ term_name:=TERM.mnfoper.name;
Message (term_name);
}
}
получаю на выходе - только первое значение из запроса, т.е нет цикла.
меняю данный текст на
.{table 'TERM' by mnfoper.nrec
.begin
term_name:=Term.mnfoper.name;
Message (term_name);
end.
,}
выходит ошибка- ожидалось арифметическое выражение и указывает на первую строку. что я делаю не так? подскажите, пожалуйста
-
- Местный житель
- Сообщения: 370
- Зарегистрирован: 28 сен 2006, 15:43
- Откуда: Санкт-Петербург
- Контактная информация:
Re: Вывод значений запроса
Сложно сказать, что именно тут не так по такому кусочку кода. Но тут как минимум одна ошибка: ,} (надо .}). Попробуйте еще точку с запятой поставить: .{table 'TERM' by mnfoper.nrec;. Она, вроде как, и описана не обязательной, в примерах везде стоит.
Re: Вывод значений запроса
Такая ошибка может появиться внутри программного блока, т. е. сейчас у вас, скорее всего, как-то так:Marisha_P писал(а):выходит ошибка- ожидалось арифметическое выражение и указывает на первую строку
Код: Выделить всё
.begin
. . .
.{table 'TERM' by mnfoper.nrec
. . .
.}
. . .
end.
Код: Выделить всё
.{table 'TERM' by mnfoper.nrec
. . .
.}
Re: Вывод значений запроса
Это опечатки(( Набирая сюда, перепутала точку и запятую и пропустила точку с запятой в конце строки. В коде набирала именно так. Первый вариант отрабатывает, пусть и не до конца, а тут не компилируется даже из-за этого арифметического выражения. И понять не могу в чем проблема, какое арифметическое выражение от меня ждут:(
Re: Вывод значений запроса
KATZ спасибо Вам огромное-преогромное!!!!!!!!!!!!!!
Re: Вывод значений запроса
Подскажите еще, пожалуйста, по такой проблеме:
надо выводить цикл, только есть значения, удовлетворяющие запросу.
попробовала подсчитывать кол-во значений в переменную, и теперь хотелось бы просто, чтобы выполнялось условие:
if (i <> 0) then
.{horizontal table 'term_v.tC'
^
.}
пишу в .begin end. - пишет ожидалось арифметическое выражение... как выделить этот блок, чтоб компилятор его воспринимал как проверку условия?
надо выводить цикл, только есть значения, удовлетворяющие запросу.
попробовала подсчитывать кол-во значений в переменную, и теперь хотелось бы просто, чтобы выполнялось условие:
if (i <> 0) then
.{horizontal table 'term_v.tC'
^
.}
пишу в .begin end. - пишет ожидалось арифметическое выражение... как выделить этот блок, чтоб компилятор его воспринимал как проверку условия?
Re: Вывод значений запроса
.{while i<>0
...
.}
если я правильно вопрос понял.
...
.}
если я правильно вопрос понял.
-
- Заслуженный деятель интернет-сообщества
- Сообщения: 5188
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: SPB galaxy spb
Re: Вывод значений запроса
здесь скорей всего так надо
Код: Выделить всё
.{?internal;(i <> 0);
.{horizontal table 'term_v.tC'
^
.}
.}
Re: Вывод значений запроса
спасибо большое!!!!!!!