Ошибка: "Запись не найдена. Код ошибки 4"

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

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

Ответить
hope
Местный житель
Сообщения: 1353
Зарегистрирован: 29 мар 2005, 17:49
Контактная информация:

Ошибка: "Запись не найдена. Код ошибки 4"

Сообщение hope »

Сделала ARD-отчет, все формируется и считается, но постоянно выдается ошибка "Запись не найдена. Код ошибки 4".
По-видимому в каком-то потоке нет записей. Как это отследить и поправить? ???
ALEKS123
Местный житель
Сообщения: 278
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Москва
Контактная информация:

Re: Ошибка: "Запись не найдена. Код ошибки 4"

Сообщение ALEKS123 »

Сделать можно по-разному. Вот один из самых простых способов
.FORM
.ARD
.var
- - - - - - - -
.endvar
- - - - - - - -

.create view MM
as select * from
soprhoz,oborot where
((
MN_RE /== soprhoz.csoprdoc (noindex) and
soprhoz.nrec /== oborot.csoprhoz
));
- - - - - - - -
IF MM.GETFIRST = tsOK do
{
- - - - -
- - - - - -
- - - - - -
} WHILE MM.GETNEXT = tsOK;


Этот же кусок но немного по другому

.Var
PRZ : word;
.endvar
.create view MM
as select * from
soprhoz,oborot where
((
MN_RE /== soprhoz.csoprdoc (noindex) and
soprhoz.nrec /== oborot.csoprhoz
));
- - - - -

PRZ := MM.GETFIRST;
.{WHILE PRZ = 0;
- - - -
- - -
- - - -
- - - -
PRZ := MM.GETNEXT;
.}
- - - -
- - - -


Вот еще пример, как проверить наличие запичей в таблице
.Form 'My'
.F 'My.out'
.ARD
.var
GrNoE:boolean
.endvar
.Create view LogTab
As Select *
from
GroupMC, KatMC, KatEd
where
((GroupMC.NRec == KatMC.cGroupMC and
KatMC.cED == KatEd.NRec
))
;
+------------------------------------------------------------------------------------+
| Наименование | Бар-код | Масса |
+------------------------------------------------------------------------------------+
.{table 'LogTab.GroupMC';
.begin
GrNoE:=IsValidAll(tnKatMC);
end.
.{ ?Internal;(GrNoE)
.FIELDS
GroupMC.KOD
GroupMC.Name
.ENDFIELDS

Группа @@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
---------------------------------------------------------------
.{table 'LogTab.KatMC';
.FIELDS
KatMC.Name
KatMC.BarKod : 'P:R'
KatMC.Massa : 'B'
.ENDFIELDS
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@ &#&&&&&&&
.} //KatMC
.FIELDS
// Выводится не поле, а его макс. значение
KatMC.Massa : 'MAX'
// выводится мин. значение поля
KatMC.Massa : 'MIN'
// выводится сумма значений поля
KatMC.Massa : 'SUM'
// выводится среднее значение поля
KatMC.Massa : 'AVG'

.ENDFIELDS
-----------------------------
Максимальная масса: &&&&&&&&&
Минимальная масса: &&&&&&&&&
Сумма масс : &&&&&&&&&
Ср%E
GalaxyFoe
Новичок
Сообщения: 29
Зарегистрирован: 29 мар 2005, 17:49

Re: Ошибка: "Запись не найдена. Код ошибки 4"

Сообщение GalaxyFoe »

А в ard-отчете есть команды getfirst?
ALEKS123
Местный житель
Сообщения: 278
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Москва
Контактная информация:

Re: B ARD-отчетах

Сообщение ALEKS123 »

есть комнада GETFIRST. А также и команды
GETNEXT, GETPREV, GETLAST
GalaxyFoe
Новичок
Сообщения: 29
Зарегистрирован: 29 мар 2005, 17:49

Re: B ARD-отчетах

Сообщение GalaxyFoe »

да не.... сорри, это было 2 hope про сабж :)
Maverick
Абориген
Сообщения: 943
Зарегистрирован: 29 мар 2005, 17:49
Откуда: External Developer
Контактная информация:

Re: Ошибка: "Запись не найдена. Код ошибки 4"

Сообщение Maverick »

Чтобы в будущем так не лажонуться)))

На запись типа If GetFirst Table=tsOk в указанном АРДотчете компилер ругнется )))
Ну не поддерживает ФКОМ константы tsOk )))
Надо писать If GetFirst Table = 0 (нуль т.е.)

Сорри за поучения, но перед тем как свои исходники выкладывать, нужно хотя бы их скомпилить, если нет времени проверить работает ли он ввобще..
Вот... злой я сегодня.
Изображение
Знающий людей разумен.
Знающий себя просветлён.
Побеждающий людей силен.
Побеждающий самого себя могущественнен
ALEKS123
Местный житель
Сообщения: 278
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Москва
Контактная информация:

Re: ????

Сообщение ALEKS123 »

С таким уважамым на форуме человеком сложно спорить, конечно, но я все же на твоем месте (по данному вопросу) высказался бы более осторожно. Например, сказал бы так - у меня (тебя) ARD не воспринимает константы типа tsOK. А у меня вспринимает за милую душу.
Просто советую в SUPPORT.CFG вставить несколько строк
OpenResources=f:\gal\EXE\extfun.res
OpenResources=f:\gal\exe\g_adm.res
OpenResources=f:\gal\exe\g_asup.res
OpenResources=f:\gal\exe\g_main.res
OpenResources=f:\gal\exe\g_fin.res
OpenResources=f:\gal\exe\g_oper.res
OpenResources=f:\gal\exe\g_menu.res
OpenResources=f:\gal\EXE\g_vip.res

Может быть и с избытком, зато работать будет всегда.
А чтобы не компилять прототипы, если изменяешь какую-нибудь формочку, то советую добавить еще и следующие
OpenResources=f:\gal\EXE\fix1.res
OpenResources=f:\gal\EXE\oper.res
OpenResources=f:\galEXE\oper03fix01.res
OpenResources=f:\gal\EXE\oper03fix02.res
OpenResources=f:\gal\EXE\oper03fix03.res

Аналогично и зарплатные патчи.

Удачи!
Ответить