Rambler's Top100
Форум: MS ACCESSVBVBA MS OfficeMS SQL server
Новые сообщения: 0000

Форум: MS ACCESS

Вопросы связанные с MS ACCESS

Обновить визитку
Участники «Online»
Все участники

 
 

Доброго времени суток, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: запрос Insert Into
 
 автор: kot_k_k   (27.09.2011 в 16:38)   личное сообщение
 
 

есть запрос работает как надо - переношу текст запроса в код
делаю


str_ = "SELECT LZK.Naimen, LZK.EI, Izd.Zakaz " & _
        "FROM (Izd INNER JOIN (Gurn_LZK INNER JOIN LZK ON Gurn_LZK.Kod_LZK_plan = LZK.Izd) ON Izd.Kod_Izd = Gurn_LZK.Izd) LEFT JOIN Naimen_Tcena_Zakaz_Select ON LZK.Naimen = Naimen_Tcena_Zakaz_Select.Naimen " & _
        "WHERE (((Naimen_Tcena_Zakaz_Select.Kod_TC) Is Null)) GROUP BY LZK.Naimen, LZK.EI, Izd.Zakaz HAVING (((Izd.Zakaz)=67))"
set rst=dbs.OpenRecordset(str_)


в строке set - начинает орать чтослишком мало параметров нужно 1

сократил текст до
str_ = "SELECT LZK.Naimen, LZK.EI " & _
"FROM LZK LEFT JOIN Naimen_Tcena_Zakaz_Select ON LZK.Naimen = Naimen_Tcena_Zakaz_Select.Naimen"

все одно орет про мало параметров -

Naimen_Tcena_Zakaz_Select - это запрос который нормально работает как запрос вот текст


SELECT Naimen_Zakaz_Tcena.*
FROM Naimen_Zakaz_Tcena
WHERE (((Naimen_Zakaz_Tcena.Zakaz)=[Forms]![Gurn_Izd]![Zakaz1].[Form]![Kod_Zak]));


получается если запросом ссылаться на него - работает, если прописть в строке и попытаться выполнить - фигвам.
почему VB не может выполнить вложенный запрос?

  Ответить  
 
 автор: kot_k_k   (27.09.2011 в 16:43)   личное сообщение
 
 

в тексте вложенного запроса заменил обращение к форме на конкретное число - нормально заработал весь код

но как быть - запрос должен от текущей ситуации менять

  Ответить  
 
 автор: kot_k_k   (27.09.2011 в 16:47)   личное сообщение
 
 

аааааа - вот так заработало - шоб ему 100 лет жить.


str_ = "SELECT LZK.Naimen, LZK.EI " & _
        "FROM LZK LEFT JOIN (SELECT Naimen_Zakaz_Tcena.* " & _
        "FROM Naimen_Zakaz_Tcena " & _
        "WHERE (((Naimen_Zakaz_Tcena.Zakaz)=" & [Forms]![Gurn_Izd]![Zakaz1].[Form]![Kod_Zak] & "))) as SSS ON LZK.Naimen = SSS.Naimen"

  Ответить  
 
 автор: Силblч   (27.09.2011 в 17:20)   личное сообщение
 
 

та да

  Ответить  
 
 автор: Анатолий (Киев)   (27.09.2011 в 17:48)   личное сообщение
 
 

Или вместо set rst=dbs.OpenRecordset(str_):

Set qdf =dbs.CreateQueryDef("",str_)
qdf.Parameters(0) = EVal(qdf.Parameters(0).Name)
set rst=qdf.OpenRecordset

  Ответить  
 
 автор: kot_k_k   (28.09.2011 в 08:50)   личное сообщение
 
 

спасибо опробую, писанины меньше

  Ответить  
HiProg.com - Технологии программирования
Rambler's Top100 TopList