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

Форум: MS ACCESS

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

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

 
 

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

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

тема: Нарушение синтаксиса в запросе (Access 2010)
 
 автор: ireus   (28.01.2012 в 22:48)   личное сообщение
 
 

Создал запрос qАнализ_продаж. Выясняется. что он то работает. то выдаёт ошибку:
Unable to execute query. Invalid operation or syntax using multi-value field.
Полез проверять SQL-код запроса и обнаружил, что часть кода запроса претерпевает изменения:

DatePart("q",Дата_размещения) AS Квартал, Format(Дата_размещения,"mmmm") изменяется на:
[b]DatePart("q".Дата_размещения) AS Квартал, Format(Дата_размещения."mmmm")

Т.е., запятая (разделитель параметров в функции) превращается в точку! А происходит это, когда я, находясь в режиме Designe View (графическом режиме построения запросов), сдвину. например. границу верхней и нижней областей.
Сначала подумал. что это, действительно, из-за многозначных полей, но их в таблицах не использую.
Может быть кто-то сталкивался с подобным явлением?

  Ответить  
 
 автор: AlexSyr   (29.01.2012 в 12:03)   личное сообщение
 
 

ireus
Мне не удалось смоделировать Вашу ситуацию
Может лучше выдернуть Таблицу с запросом и выложить здесь.
Тогда будет предметный разговор.

  Ответить  
 
 автор: ireus   (29.01.2012 в 12:31)   личное сообщение
50 Кб.
 
 

Думаю. что картинка из-за ограничений плохо читается, а вот сам код выглядит так:

SELECT Заказы.ИД, Заказы.Дата_размещения, qСотрудники.[Имя сотрудника] AS Сотрудник, qЗаказчики.Организация AS Заказчик, Товары.Наименование AS Товары, qРасчётЗаказа.Sum AS Продажи, qЗаказчики.ФедеральныйОкруг, qЗаказчики.ГородОбласть, qСотрудники.ИД AS ИД_сотрудника, Товары.ИД AS ИД_товара, qЗаказчики.ИД AS ИД_заказчика, Year([Дата_размещения]) AS Год, Month(Дата_размещения) AS Месяц, DatePart("q",Дата_размещения) AS Квартал, Format(Дата_размещения,"mmmm") AS [Название месяца], Товары.Код_товара
FROM (((Заказы INNER JOIN qЗаказчики ON Заказы.ИД_заказчика = qЗаказчики.ИД) LEFT JOIN qСотрудники ON Заказы.ИД_сотрудника = qСотрудники.ИД) INNER JOIN qРасчётЗаказа ON Заказы.ИД = qРасчётЗаказа.ИД_заказа) INNER JOIN Товары ON qРасчётЗаказа.ИД_товара = Товары.ИД;
Запятые, которые самопроизвольно превращаются в точки, выделены жирно.

У меня есть подозрение, что данные "фокусы" происходят из-за многозначных полей, например, типа Attachmentт во всех моих тспользуемых в запросе таблицах. И ещё, если не открывать запрос в графическом режиме и не производить там никаких манипуляций (например, не сдвигать границу между верхней и нижней областью), то запрос будет работать. Но, мне кажется, лучше убрать многозначные поля.

  Ответить  
 
 автор: ireus   (29.01.2012 в 13:06)   личное сообщение
 
 

Короче, убрал многозначные поля во всех таблицах ("новшества" мелко-мягких) и всё заработало надёжно. С удовольствием прислушаюсь к противоположным мнениям.

  Ответить  
 
 автор: AlexSyr   (29.01.2012 в 15:49)   личное сообщение
 
 

ireus
В том то и дело, что моделировал Вашу ситуацию при наличии полей Attachment.
Сдается мне, не в них дело.
Впрочем - заработало = и ладушки

  Ответить  
 
 автор: ireus   (29.01.2012 в 18:29)   личное сообщение
 
 

AlexSyr, может работать. а может и не работать. Такое поведение самое противное. Вам большое спасибо за помощь. Всегда приятно встретить неравнодушных людей!

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