Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > SQL, базы данных
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.12.2008, 20:52   #1
slips
Форумчанин
 
Аватар для slips
 
Регистрация: 28.10.2008
Сообщений: 350
По умолчанию "View" не может содержать параметр БД Acces

Вобщем пытаюсь создать View, при запуске на выполнение выдаёт ошибку.
" View" не может содержать параметр, если опустить сам select работает проверял

Код:
CREATE VIEW  VIEWOBJECT2
   (ID,
    NAMESGNAME,
    FIOSGNAME,
    SPSGNAME
   )
AS
 SELECT OBJECT2.ID,(OBJECT1.NAME ) AS NAMESGNAME,(OBJECT3.NAME )  AS FIOSGNAME,(OBJECT4.NAME ) AS SPSGNAME
 FROM  (((OBJECT2 a left join  OBJECT1 a1 on a.NAME=a1.ID) 
                             left join  OBJECT3 a2 on a.FIO=a2.ID) 
                             left join  OBJECT4 a3 on a.SP=a3.ID)
slips вне форума Ответить с цитированием
Старый 09.12.2008, 02:24   #2
slips
Форумчанин
 
Аватар для slips
 
Регистрация: 28.10.2008
Сообщений: 350
По умолчанию Решение

Вобщем ситуация такая для того чтобы создать View - нужно передавать параметры (а он не выяснил по каким причинам их не принимает должным образом), что я сделал чтобы создать вьюху (или запрос)
например:
Есть таблицы:
1. Должности TABL1 с дмумя полями ID, DLNAME(Varchar)
2. Подразделения TABL2 c двумя полями ID,DPNAME(Varchar)
3. Сотрудник TABL3 c тремя полями ID,DLID(будем хранить значения из таблицы должностей), DPID(будем хранить из таблицы подразделении)

а) вместо CREATE VIEW используем оператор CREATE PROC
как это выглядит
если бы использовали CREATE VIEW
Код:
              {***Запрос по первой таблице, аналогично по второй*}
CREATE VIEW VIEWTABL1(ID,NAME) AS SELECT ID,DLNAME FORM TABL1     
              {***Запрос по третей таблице *******************}
CREATE VIEW VIEWTABL3 (TABL3.ID,DLNAME,DPNAME) 
   as 
   Select TABL3.ID,TABL1.DLNAME,TABL2.DPNAME
   From   TABL3 o left join TABL1 t1 on t1.ID=o.DLID 
                        left join TABL2 t2 on t2.ID=o.DPID  
Замечу что сейчас он не работает следует указать скобки         
в Итоге получим 
 CREATE VIEW VIEWTABL3 (TABL3.ID,DLNAME,DPNAME) 
   as 
   Select TABL3.ID,TABL1.DLNAME,TABL2.DPNAME
   From   ((TABL3 o left join TABL1 t1 on t1.ID=o.DLID) 
                           left join TABL2 t2 on t2.ID=o.DPID)  
Но так он тоже не работает хотя если только брать выражение select то оно работает
Код:
б) как это выглядит 
                   если бы использовали CREATE PROC
                  {***Запрос по первой таблице, аналогично по второй*}
CREATE PROC VIEWTABL1 AS SELECT ID,DLNAME FORM TABL1     
              {***Запрос по третей таблице *******************}
CREATE PROC VIEWTABL3 
   as 
   Select t3.ID,t1.DLNAME,t2.DPNAME
   From   ((TABL3 o left join TABL1 t1 on t1.ID=o.DLID) 
                          left join TABL2 t2 on t2.ID=o.DPID)  
Замечу что сейчас они работают т.е. можно смело ставить в 
AdoCommand и выполнять
slips вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Память не может быть "read" Alewteena Безопасность, Шифрование 3 27.08.2008 05:16
если пользователь наберет какой-то другой символ не "y" или "n" и нажмет enter, программа проигнорирует skobets Общие вопросы C/C++ 2 03.06.2008 06:51
Создаю диаграмму "Bar". Подскажите как убрать растояние между "столбами" MAcK Компоненты Delphi 11 24.10.2007 10:49
СРОЧНО!!! Тема:"Моделирование колебаний линейного гармонического осциллятора" Может у Бука Помощь студентам 1 04.03.2007 16:22