Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Горячая тема (более 10 ответов) Ошибка при запросе к DBF через OLEBD(+) (число прочтений - 3141 )
mdocs
YaBB Newbies
*
Отсутствует


I Love YaBB 2!

Сообщений: 9
Зарегистрирован: 24. Октября 2006
Ошибка при запросе к DBF через OLEBD(+)
26. Октября 2007 :: 13:58
Печать  
Любой запрос, например:

Код
Выбрать все
	База = СоздатьОбъект("OLEDBData");
	Соединение = "Provider=VFPOLEDB.1;Deleted=Yes;Data Source=" + КаталогИБ()+ ";Mode=ReadWrite;Extended Properties="";User ID="";Password="";Mask Password=False;Collating Sequence=RUSSIAN;DSN=""";
	Рез = База.Соединение(Соединение);
	Запрос = База.СоздатьКоманду();


	ТекстЗапроса="SELECT ВидыРасчетов.ID [Ссылка $Справочник.ВидыРасчетов]
	|	, $ВидыРасчетов.ФондЗП as [ФондЗП $Справочник.РаспределениеПоФондам]
	|FROM $Справочник.ВидыРасчетов AS ВидыРасчетов";

	ТЗ=Запрос.ВыполнитьИнструкцию(ТекстЗапроса);
	ТЗ.ВыбратьСтроку(); 



Выдает:

FAILED! ICommandText
::Execute(): SQL: Column 'ССЫЛКА_1C_TYPE_СПРАВОЧНИК_ВИДЫРАСЧЕТОВ' is not found.

Подскажите, где я туплю.
  
Наверх
 
IP записан
 
spock
1c++ developer
1c++ moderator
Отсутствует



Сообщений: 822
Местоположение: Новосибирск
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Ошибка при запросе к DBF через OLEBD(+)
Ответ #1 - 26. Октября 2007 :: 16:47
Печать  
SELECT ВидыРасчетов.ID as [Ссылка $Справочник.ВидыРасчетов]
  
Наверх
ICQ  
IP записан
 
Reaper
YaBB Newbies
*
Отсутствует


I Love YaBB 2!

Сообщений: 4
Зарегистрирован: 01. Ноября 2007
Re: Ошибка при запросе к DBF через OLEBD(+)
Ответ #2 - 01. Ноября 2007 :: 12:09
Печать  
Людие, может и мне кто поможет? В такой вот конструкции для VFPOLEDB:

Код
Выбрать все
            |SELECT    
	|  Жур.IDDoc                as [Док $Документ],
	|  Жур.IDDocDef             as Док_вид,  
	|  Жур.Date                 as Дата,
	|  Жур.DocNo                as НомерДок,
	|  Жур.$ОбщийРеквизит.Автор as [Спр $Справочник.Пользователи],
	|  Жур.IsMark               as Удален,
	|  Жур.Closed               as Проведен,
	|  Док.Спр                  as [Контрагент $Справочник.Контрагенты],
	|  Док.Сумма                as Сумма  
	|FROM
	|  1SJourn as Жур      
	|
	|LEFT OUTER JOIN (....
	|                            .....) as Док
	|ON Жур.IDDoc = Док.IDDoc
	|WHERE          
	|  (Жур.Date BETWEEN :НачДата~~ AND :КонДата~~)
	|
	|GROUP BY Контрагент 



Не пашет группировка, выругивается либо на отстутствие колонки с именем Контрагент, либо говорит, что потеряно или не правильно выражение у оператора GROUP BY.  Причем Если не пытаться группировать - дааные запрос получает...

  
Наверх
 
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Ошибка при запросе к DBF через OLEBD(+)
Ответ #3 - 01. Ноября 2007 :: 12:43
Печать  
а ты попробуй:
Код
Выбрать все
GROUP BY Док.Спр 


П.С. А ты уверен, что у тебя не ругается на то, что нет колонки "Спр" таблицы "Док" (т.е. не хочешь ли ты поставить значёк "$" перед Док.Сумма и Док.Спр?)
  
Наверх
 
IP записан
 
Reaper
YaBB Newbies
*
Отсутствует


I Love YaBB 2!

Сообщений: 4
Зарегистрирован: 01. Ноября 2007
Re: Ошибка при запросе к DBF через OLEBD(+)
Ответ #4 - 01. Ноября 2007 :: 12:50
Печать  
Пробовал
Код
Выбрать все
Табл = ПрямойЗапрос.ВыполнитьИнструкцию(ТекстЗапроса);
{D:\РАБОТА\ГАУЯ\БАЗА\EXTFORMS\TEST.ERT(97)}: FAILED! ICommandText::Execute(): SQL: GROUP BY clause is missing or invalid. 



А Док - получен объединением нескольких таблиц - там в скобках конструкция на 3 листа Смущённый, так что при использовании "$" начинает ругаться метапарсер
  
Наверх
 
IP записан
 
kiruha
1c++ power user
Отсутствует



Сообщений: 1249
Зарегистрирован: 11. Апреля 2007
Re: Ошибка при запросе к DBF через OLEBD(+)
Ответ #5 - 01. Ноября 2007 :: 13:02
Печать  
В строку GROUP BY должны входить все переменные , кроме тех, по которым
идут операции агрегирования (Сумма, MAX и т.п.)

Ну и саму операци агрегирования не мешало бы добавить.
  
Наверх
 
IP записан
 
Reaper
YaBB Newbies
*
Отсутствует


I Love YaBB 2!

Сообщений: 4
Зарегистрирован: 01. Ноября 2007
Re: Ошибка при запросе к DBF через OLEBD(+)
Ответ #6 - 01. Ноября 2007 :: 13:14
Печать  
Kiruha, спасибо, помогло.
ВНЕЗАПНО! При попытке использовать
Код
Выбрать все
  GROUPING(Док.Спр)	  as Группа 


выдает:
FAILED! ICommandText::Execute(): File 'grouping.prg' does not exist.
  
Наверх
 
IP записан
 
Reaper
YaBB Newbies
*
Отсутствует


I Love YaBB 2!

Сообщений: 4
Зарегистрирован: 01. Ноября 2007
Re: Ошибка при запросе к DBF через OLEBD(+)
Ответ #7 - 01. Ноября 2007 :: 14:17
Печать  
+ для "WITH ROLLUP" ругается:
Command contains unrecognized phrase/keyword.

Откуда могут ноги рости?
  
Наверх
 
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Ошибка при запросе к DBF через OLEBD(+)
Ответ #8 - 01. Ноября 2007 :: 14:24
Печать  
для дбф такое не прокатит
  
Наверх
 
IP записан
 
Вадимко
God Member
*****
Отсутствует


Нам бы чего про ОдноЦэ...

Сообщений: 1048
Местоположение: Минск
Зарегистрирован: 24. Мая 2006
Пол: Мужской
Re: Ошибка при запросе к DBF через OLEBD(+)
Ответ #9 - 01. Ноября 2007 :: 14:55
Печать  
Reaper писал(а) 01. Ноября 2007 :: 13:14:
ВНЕЗАПНО! .

Смех
слово-то какое...
  

Кампутер, кофе и сигареты - это очень плохо для моего здоровья...
Наверх
IP записан
 
kiruha
1c++ power user
Отсутствует



Сообщений: 1249
Зарегистрирован: 11. Апреля 2007
Re: Ошибка при запросе к DBF через OLEBD(+)
Ответ #10 - 01. Ноября 2007 :: 15:40
Печать  
Reaper писал(а) 01. Ноября 2007 :: 14:17:
+ для "WITH ROLLUP" ругается:
Command contains unrecognized phrase/keyword.

Откуда могут ноги рости?


Если нужны итоги -
Выгружаешь запрос в ИндексированнаяТаблица  и см далее метод Группировать().
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать