Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / View / 8 сообщений из 8, страница 1 из 1
05.08.2008, 16:59
    #35471707
Мука
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
View
Доброго времени суток.
Есть такая проблема.
Открываю вьюху для редактирования (не мою) и вижу в ней
Код: plaintext
1.
2.
3.
4.
5.
Select 'Смена № '+Alltrim(Str(smena.smena_no))+;
Iif(!Empty(smena.pref),'/'+smena.pref,'')+', '+Dtoc(Ttod(smena.date_from))+', '+ALLTRIM(users.code) sm,;
	smena.* ;
	From smena ;
	Inner Join users On smena.rn_user=users.rn ;
	Where !Empty(date_to) AND &w_vSmena

Открывается с ошибками , но открывается для редактирования. Когда определяю w_vSmena, то открывается без ошибок и тащит то что нужно. Пытаюсь по образу и подобию сделать такую вьюху в другой БД типа:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
CREATE SQL VIEW vSmena;
   AS;
Select 'Смена № '+Alltrim(Str(smena.smena_no))+;
Iif(!Empty(smena.pref),'/'+smena.pref,'')+', '+Dtoc(Ttod(smena.date_from))+', '+ALLTRIM(users.code) sm,;
	smena.* ;
	From smena ;
	Inner Join users On smena.rn_user=users.rn ;
	Where !Empty(date_to) AND &w_vSmena

Если не определю w_vSmena до создания, ругается что не может создать такое представление, а если определю, то явно пишет туда условие. Вот так вопрос, как сделать именно такую вьюху ?
Очень надо.
...
Рейтинг: 0 / 0
05.08.2008, 17:10
    #35471740
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
View
Как вариант сделать без "&" а потом открыть контейнер БД, найти там где текст запроса хранится и "&" добавить.
Код: plaintext
1.
use My.DBC 
brow
...
Рейтинг: 0 / 0
05.08.2008, 17:26
    #35471779
Мука
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
View
Dima T, была такая мысль и уверен, что получится, но! У меня есть исходники которые генерят такие вьюхи и их куча и никто не открытвает контейнер, а так напрямую командой, через CREATE SQL VIEW ... . Вот и думаю, как это народ умудрился ? Может фоксу в режим какой перевести надо или еще что ? В Парус 7-ке так структуру меняют через описатель структурыт ( просто FXP файл в котором понапихано определение таблиц и таких представлений, а так же код по трансформации данных). Так вот в этом описателе просто (возможно не просто) создается куча SQL VIEW ... . И такие вьюхи создаются. Они конечно кривые пока макроподстановку не определить, но ведь создаются!
...
Рейтинг: 0 / 0
05.08.2008, 17:38
    #35471815
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
View
Мука...У меня есть исходники которые генерят такие вьюхи ... напрямую командой, через CREATE SQL VIEW ...
А в исходники эти заглянуть сложно? И сделать по образу и подобию.

Макроподстановка срабатывает сразу же как только CREATE SQL VIEW выполняется и подставляется содержимое.

Как вариант попробовать
Код: plaintext
SET ENGINEBEHAVIOR  70 

и CREATE SQL VIEW при не определенной w_vSmena
...
Рейтинг: 0 / 0
05.08.2008, 17:42
    #35471824
Мука
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
View
Dima T, делаю по образу и подобию.
Вот пример из исходника:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
If "4"$cType
	Create Sql View VRDPOST;
		AS Select ORGBASE.*,;
		ORG.*,;
		PERSON.*,;
		RDPOST.*;
		From RDPOST;
		LEFT JOIN ORGBASE on ORGBASE.RN = RDPOST.KONTR_RN;
		LEFT Join ORG   On ORG.ORBASE_RN    = ORGBASE.Rn;
		LEFT Join PERSON On PERSON.ORBASE_RN = ORGBASE.Rn Where &W_VRDPOST
	ENDIF

И когда выполняется из под паруса, все ок, никаких ошибок.
При неопределенном w_vSmena в совместимости с 70 пробовали - ругается Missing Operand.
Где-то тут собака зарыта...
...
Рейтинг: 0 / 0
05.08.2008, 17:58
    #35471882
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
View
Попробовал:
Код: plaintext
1.
2.
3.
4.
Create Sql View MyTest;
		AS Select *;
		From POST;
		Where &W_VRDPOST

VFP6 - создает
VFP9 - Syntax error

Что по этому поводу в 9-ке поменяли похоже. VFP7 у меня нет
...
Рейтинг: 0 / 0
05.08.2008, 18:05
    #35471904
Мука
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
View
Dima T, спасибо. Видимо действительно что-то поменяли в 9-ке. Жаль. Придется извращаться.
...
Рейтинг: 0 / 0
05.08.2008, 18:21
    #35471947
LUCIAN
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
View
Мука Where !Empty(date_to) AND &w_vSmena


Если не определю w_vSmena до создания, ругается что не может создать такое представление, а если определю, то явно пишет туда условие. Вот так вопрос, как сделать именно такую вьюху ?
Очень надо.

Попробуйте условие задать так:
Where !Empty(date_to) AND &?w_vSmena
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / View / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]