Страница 1 из 2
Вывод в Screen полей из x$Users
Добавлено: 01 июн 2009, 12:59
Pomuk
Делаю Screen
Код: Выделить всё
Screen Users 'Пользователи' (,,Sci13Esc);
Table x$users;
Fields
x$users.XU$useroffice 'Офис' :[3];
x$users.XU$LOGINNAME 'Идентификатор' : [10];
x$users.XU$FULLNAME 'Имя пользователя' : [77];
end;
При компиляции пишет:
Ошибка: Нет такой функции, поля или метода : X$USERS.XU$USEROFFICE (стр.79, поз.23)
x$users.XU$useroffice 'Офис' [3];
Есть какие-то особенности при использовании этой таблицы или таблиц начинающихся с x$ или полей начинающихся с XU$?
Добавлено: 01 июн 2009, 13:27
edward_K
X$INDEXES_from.XI$NAME 'Индекс' :[10],protect ;
возможно дело в create view
Добавлено: 01 июн 2009, 13:46
Pomuk
вьюха вот такая
Код: Выделить всё
create view
from
ComponentModules,
Components,
ComponentUsers
x$users
where
((
'galnet' == ComponentModules.EXEName
and ComponentModules.Atl_Nrec == Components.ModuleCOde (noindex)
and Components.Atl_nRec == ComponentUsers.ResCode
and ComponentUsers.USERCODE ==x$users.atl_nrec
))
X$INDEXES_from это я так понимаю просто синоним таблицы X$INDEXES?
Добавлено: 01 июн 2009, 16:37
galover
Pomuk
в описании вьюхи запятую пропустил после ComponentUsers
Добавлено: 01 июн 2009, 17:04
m0p3e
galover
Во глаз - алмаз!
Добавлено: 01 июн 2009, 17:25
Pomuk
Да вообще и не говорите. Мне б такой
Но вот к сожалению, эта запятая проблему не решает
Добавлено: 01 июн 2009, 18:35
m0p3e
А почему в описании таблицы не указано что выбираем?
Create View
as Select *
from ...
Добавлено: 01 июн 2009, 18:40
edward_K
В описании полей еще не хватает ":". Короче - ищите 10 отличий
Добавлено: 01 июн 2009, 18:58
Pomuk
m0p3e писал(а):А почему в описании таблицы не указано что выбираем?
Create View
as Select *
from ...
Ну на сколько я знаю, это не обязательно, вот и не указывал. К тому же это, не динственный Screen в этом интерфейсе, в других всё работает и без указания полей.
edward_K писал(а):
В описании полей еще не хватает ":"
Нравится мне как сработал копипаст
Есть там двоеточии
Добавлено: 01 июн 2009, 19:12
m0p3e
В 99% случаев работает, но я натыкался именно на такое поведение компилятора при отсутствии описания выборки. Есть подозрение, что зависит от платформы, но не уверен. Я наступал на такие грабли под MSSQL.
Добавлено: 01 июн 2009, 19:15
Gameus_
на оракле тоже бывает не отрабатывает
Добавлено: 01 июн 2009, 19:24
Pomuk
Код: Выделить всё
create view
as select *
from
ComponentModules,
Components,
x$users,
ComponentUsers
не помогло
Добавлено: 01 июн 2009, 19:58
m0p3e
давай весь фейс в студию.
Добавлено: 02 июн 2009, 11:50
san
Любопытный пример
Если это Screen где же шаблоны <<.@@@@@@@ >> для вывода полей и названия для полей в нем не указываются, наверное это все таки Browse!
-и ни каких ошибок при компиляции нет.
interface test;
create view
from
ComponentModules,
Components,
ComponentUsers,
x$users
where
((
'galnet' == ComponentModules.EXEName
and ComponentModules.Atl_Nrec == Components.ModuleCOde (noindex)
and Components.Atl_nRec == ComponentUsers.ResCode
and ComponentUsers.USERCODE ==x$users.atl_nrec
));
Browse Users 'Пользователи' (,,Sci13Esc);
Table x$users;
Fields
x$users.XU$useroffice 'Офис' :[3];
x$users.XU$LOGINNAME 'Идентификатор' : [10];
x$users.XU$FULLNAME 'Имя пользователя' : [77];
end;
end.
Не используте view as Select *, это черевато сетевым трафиком,вместо используемых полей будете качать на станцию все поля таблицы. Берегите электричество
Добавлено: 02 июн 2009, 11:58
m0p3e
san
Не используте view as Select *, это черевато сетевым трафиком,вместо используемых полей будете качать на станцию все поля таблицы.
Вот так категорически? А если они мне все и нужны?