Страница 1 из 2

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

Добавлено: 14 май 2003, 11:42
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.
Можно ли обновить запрос каким другим способом?
Заранее спасибо

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

Добавлено: 14 май 2003, 11:56
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 то уж точно здесь использовать не надо.
:)

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

Добавлено: 14 май 2003, 12:55
Irina
Привет Edward, спасибо попробую.
С update получается отчет какой нужен.
Хорошо, а можно с помощью запроса, или каким другим способом, сгруппировать данные линк форм по GroupMc.Name

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

Добавлено: 14 май 2003, 13:41
Irina
Эдвард так получается поле с !?.

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

Добавлено: 14 май 2003, 16:19
Den
Не пойму ,Иришка, причем тут update.
А сгруппировать можно, но это несколько гем..но, извнияюсь.В опыте валялось вроде "изменени выходного потока" или что-то в этом роде.

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

Добавлено: 14 май 2003, 16:36
Irina
Я тоже Ден не знаю причем тут update :), но так работает. Мне нужно обновить запрос в цикле линк формы, другого метода не нашла, пока еще.

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

Добавлено: 14 май 2003, 17:15
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-ах не надо описывать.
Так точно должно получиться :)

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

Добавлено: 14 май 2003, 17:19
Den
Да, в .{table x забыл,конечно, begin end поставить

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

Добавлено: 19 май 2003, 09:07
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

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

Добавлено: 19 май 2003, 10:25
Den
Что выдает ? Ничего не выводится ?
сортировку в create view пока тоже убери.
Что-то я не оченб понял : ты пишешь,что MCNREC это поле прототипа.Что в таком случае mc_nrec ???
Mc_nrec - убери его совсем. А MCNREC - не надо в var-ах объявлять.

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

Добавлено: 19 май 2003, 11:26
Irina
MCNREC переменная
MC_NREC от прототипа
Выдает данные отчета, которые в цикле линк формы, а значение поле, которое объявляю в create view оставалось пустым.
Сейчас изменила, как ты сказал, то что надо.
Огромное спасибо. :-*

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

Добавлено: 19 май 2003, 11:53
Den
А для сортирвоки в твоем случае лучше юзать массивы (хотя может кто меня и поправит).
Запоминаешь весь поток в массив (один из элементов массива должен отвечать за уникальность группы МЦ, например код группы МЦ), а потом все данные выводишь из массива
:)

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

Добавлено: 19 май 2003, 12:21
m0p3e
ТП ( Таблицы в памяти ) удобнее на порядок.

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

Добавлено: 19 май 2003, 12:46
Den
А в среде FCOM они доступны ?
Просто не разу их там не использовал...

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

Добавлено: 19 май 2003, 12:47
Max_Fin
:o
Массивы? :o