поле Sql запроса в цикле линк форм

Программирование на Атлантисе (VIP, FCOM, ARD), FastReport

Модераторы: m0p3e, edward_K, Модераторы

Irina
Новичок
Сообщения: 20
Зарегистрирован: 29 мар 2005, 17:49

поле Sql запроса в цикле линк форм

Сообщение Irina »

Привет всем.
Можно ли в цикл линк форм вставить свое поле из SQL запроса, значение которого меняется в зависимости от записи таблицы прототипа.
Запрос
.create view X
var
MCNrec:comp;// Поле.прототипа
grName:string
as select *
from
KatMC
where
(( Поля прототипа== KatMC.Nrec and KatMC.CGroupMC == GroupMC.Nrec))
Нужно поле GroupMC.Namе
Пробовала в цикле линк форм присваивать
McNrec:=mc_nrec;
X.GetFirst
X.grName:=X. GroupMC.Namе
Задавала условие if X.GetFirst GroupMC where (условие)
Выдает одинаковое значение для всех записей.
Работает лишь с update, но можно ли использовать в данном случае update.
Можно ли обновить запрос каким другим способом?
Заранее спасибо
edward_K
Заслуженный деятель интернет-сообщества
Сообщения: 5185
Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb

Re: поле Sql запроса в цикле линк форм

Сообщение edward_K »

усе работает и не таких простых sql
надо быть просто повнимательней.
вот так делать надежней( ошибок странных не вылетает и видно если нет группы или еще чего)
.var
wnmgrmc :string ;
.endvar
.fields
...
wnmgrmc
...
.endfields

.{ Цикл по матценности
.begin
X.McNrec:=mc_nrec;
wnmgrmc:='?!'
if X.GetFirst.Katmc=0 then
if X.Getfirst GroupMc=0 then
wnmgrmc:=V.GroupMc.Name
end.

@@@@@@@@ - наименование
.}
update то уж точно здесь использовать не надо.
:)
Irina
Новичок
Сообщения: 20
Зарегистрирован: 29 мар 2005, 17:49

Re: поле Sql запроса в цикле линк форм

Сообщение Irina »

Привет Edward, спасибо попробую.
С update получается отчет какой нужен.
Хорошо, а можно с помощью запроса, или каким другим способом, сгруппировать данные линк форм по GroupMc.Name
Irina
Новичок
Сообщения: 20
Зарегистрирован: 29 мар 2005, 17:49

Re: поле Sql запроса в цикле линк форм

Сообщение Irina »

Эдвард так получается поле с !?.
Den
Местный житель
Сообщения: 1842
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Ярославская область ОАО "Часовой завод Чайка" г. Углич
Контактная информация:

Re: поле Sql запроса в цикле линк форм

Сообщение Den »

Не пойму ,Иришка, причем тут update.
А сгруппировать можно, но это несколько гем..но, извнияюсь.В опыте валялось вроде "изменени выходного потока" или что-то в этом роде.
Irina
Новичок
Сообщения: 20
Зарегистрирован: 29 мар 2005, 17:49

Re: поле Sql запроса в цикле линк форм

Сообщение Irina »

Я тоже Ден не знаю причем тут update :), но так работает. Мне нужно обновить запрос в цикле линк формы, другого метода не нашла, пока еще.
Den
Местный житель
Сообщения: 1842
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Ярославская область ОАО "Часовой завод Чайка" г. Углич
Контактная информация:

Re: поле Sql запроса в цикле линк форм

Сообщение Den »

делай так :
...
.var
groupname,namemc :string
.endvar
.create view X
as select *
from
KatMC,groupmc
where
(( Поля прототипа== KatMC.Nrec and KatMC.CGroupMC == GroupMC.Nrec))

.{ цикл по матценнсоти
.{table x
namemc :=x.katmc.name;
groupname:=x.groupmc.name;
.}
//это для проверки
.begin
Message('По '+namemc+' '+'группа-'+groupmc);
end.
.}

поле прототипа в var-ах не надо описывать.
Так точно должно получиться :)
Den
Местный житель
Сообщения: 1842
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Ярославская область ОАО "Часовой завод Чайка" г. Углич
Контактная информация:

Re: поле Sql запроса в цикле линк форм

Сообщение Den »

Да, в .{table x забыл,конечно, begin end поставить
Irina
Новичок
Сообщения: 20
Зарегистрирован: 29 мар 2005, 17:49

Re: поле Sql запроса в цикле линк форм

Сообщение Irina »

Привет Den
Вот линк форма, что-то не получается.
Вроде бы все как ты говоришь.

.var
GrMCN:String;
.endvar
.create view X
var
MCNREC:comp;
as select *
from
KatMC,
GroupMC
where
(( MCNRec == KatMC.Nrec
and KatMC.CGroupMC == GroupMC.Nrec))
Order by GroupMC.Nrec;
.fields
...
GrMCN
...
.endfields

.{ // Цикл по складам
склад : ^
.{// по мц

.{Table 'X'

.begin
X.MCNrec:=MC_nrec;
// if X.GetFirst GroupMC=0 then
GrMCN:=X.GroupMC.Name;
end.

Группа МС ^ и др ^ ^ ^ ^

.}
.}
Итого по складу ^
.}
Итого по всем складам ^
.endform
Den
Местный житель
Сообщения: 1842
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Ярославская область ОАО "Часовой завод Чайка" г. Углич
Контактная информация:

Re: поле Sql запроса в цикле линк форм

Сообщение Den »

Что выдает ? Ничего не выводится ?
сортировку в create view пока тоже убери.
Что-то я не оченб понял : ты пишешь,что MCNREC это поле прототипа.Что в таком случае mc_nrec ???
Mc_nrec - убери его совсем. А MCNREC - не надо в var-ах объявлять.
Irina
Новичок
Сообщения: 20
Зарегистрирован: 29 мар 2005, 17:49

Re: поле Sql запроса в цикле линк форм

Сообщение Irina »

MCNREC переменная
MC_NREC от прототипа
Выдает данные отчета, которые в цикле линк формы, а значение поле, которое объявляю в create view оставалось пустым.
Сейчас изменила, как ты сказал, то что надо.
Огромное спасибо. :-*
Den
Местный житель
Сообщения: 1842
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Ярославская область ОАО "Часовой завод Чайка" г. Углич
Контактная информация:

Re: поле Sql запроса в цикле линк форм

Сообщение Den »

А для сортирвоки в твоем случае лучше юзать массивы (хотя может кто меня и поправит).
Запоминаешь весь поток в массив (один из элементов массива должен отвечать за уникальность группы МЦ, например код группы МЦ), а потом все данные выводишь из массива
:)
m0p3e
Местный житель
Сообщения: 1386
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Москва

Re: поле Sql запроса в цикле линк форм

Сообщение m0p3e »

ТП ( Таблицы в памяти ) удобнее на порядок.
Den
Местный житель
Сообщения: 1842
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Ярославская область ОАО "Часовой завод Чайка" г. Углич
Контактная информация:

Re: поле Sql запроса в цикле линк форм

Сообщение Den »

А в среде FCOM они доступны ?
Просто не разу их там не использовал...
Max_Fin
На пенсии
Сообщения: 797
Зарегистрирован: 29 мар 2005, 17:49
Откуда: г. Тюмень
Контактная информация:

Re: поле Sql запроса в цикле линк форм

Сообщение Max_Fin »

:o
Массивы? :o
Жду выхода Вселенная 2.12!
Ответить