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

Форум: MS ACCESS

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

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

 
 

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

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

тема: Ошибка 3061
 
 автор: seluvan   (14.03.2012 в 14:59)   личное сообщение
 
 

Пишу:
Set R = CurrentDb.OpenRecordset("SELECT * FROM ПеремещениеРегистр_ПереченьПеремещенияЗапрос " & _
"WHERE (((ПеремещениеРегистр_ПереченьПеремещенияЗапрос.КодШапкиПеремещения)= [Forms]![ПеремещениеГлавнаяФорма]![КодПеремещения]))")

Ругается на ошибку 3061 (слишком мало параметров, требуется 1).
Запрос в конструкторе работает)))
В чём ошибка?

Если ставлю вместо ссилки ([Forms]![ПеремещениеГлавнаяФорма]![КодПеремещения]) статическое число, ловит необходимие записи. Я так понимаю не правильно обращается к полю форми.

  Ответить  
 
 автор: ДрЮня   (14.03.2012 в 15:04)   личное сообщение
 
 

Вы не передаете в запрос параметр, проверьте местоположение кавычек

  Ответить  
 
 автор: Дядя Федор   (14.03.2012 в 15:29)   личное сообщение
 
 

Set R = CurrentDb.OpenRecordset("SELECT * FROM ПеремещениеРегистр_ПереченьПеремещенияЗапрос " & _
"WHERE (((ПеремещениеРегистр_ПереченьПеремещенияЗапрос.КодШапкиПеремещения)= " & _
[Forms]![ПеремещениеГлавнаяФорма]![КодПеремещения] & _
")))"

'[Forms]![ПеремещениеГлавнаяФорма]![КодПеремещения] - передаст конкретное значение

  Ответить  
 
 автор: seluvan   (14.03.2012 в 15:40)   личное сообщение
 
 

Прописал:
Set R = CurrentDb.OpenRecordset("SELECT * FROM ПеремещениеРегистр_ПереченьПеремещенияЗапрос " & _
"WHERE (((ПеремещениеРегистр_ПереченьПеремещенияЗапрос.КодШапкиПеремещения) = " & _
[Forms]![ПеремещениеГлавнаяФорма]![КодПеремещения] & "))")
заработало))) спасибо

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


WHERE (((ПеремещениеРегистр_ПереченьПеремещенияЗапрос.КодШапкиПеремещения) = " & _
[Forms]![ПеремещениеГлавнаяФорма]![КодПеремещения] & "))"



спокойно работает и без скобок - это Акс когда запрос делает SQL строку таки выеживается.
вполне хватает так

Set R = CurrentDb.OpenRecordset("SELECT * FROM ПеремещениеРегистр_ПереченьПеремещенияЗапрос " & _
"WHERE КодШапкиПеремещения = " & _
[Forms]![ПеремещениеГлавнаяФорма]![КодПеремещения] )

  Ответить  
 
 автор: shanemac51   (14.03.2012 в 15:40)   личное сообщение
 
 

чтобы не воевать с кавычками, использую замену

s1="SELECT  *
s1=s1 & " FROM ПеремещениеРегистр_ПереченьПеремещенияЗапрос " 
s1=s1 & " WHERE (((ПеремещениеРегистр_ПереченьПеремещенияЗапрос.КодШапкиПеремещения)=%1))"
s1=replace(s1,"%1", [Forms]![ПеремещениеГлавнаяФорма]![КодПеремещения])
debug.print s1
Set R = CurrentDb.OpenRecordset(s1)

  Ответить  
 
 автор: Йожык   (16.03.2012 в 13:46)   личное сообщение
 
 

Действительно, " WHERE Чтототам=" & [Forms]![ПеремещениеГлавнаяФорма]![КодПеремещения]
предппочтительней
лучше запЕсать " WHERE Чтототам=" & [Forms]![ПеремещениеГлавнаяФорма].Form![КодПеремещения]

Хотя я предпочитаю " WHERE Чтототам=" & Forms("ПеремещениеГлавнаяФорма").Form("КодПеремещения")

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