Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 ADODB.RecordSet не задаётся свойство Filter  [new]
Taekwonder
Member

Откуда: Ростов-на-Дону-->Moscow
Сообщений: 625
Здравствуйте уважаемые форумчане!
Прошу прощения если вопрос не в ту ветку.

В общем открываю ADODB для чтения Excel - открывается нормально, всё в порядке.

Потом через некоторое время Задаю Свойство RecordSet.FilTer

Если Не ПустаяСтрока(ВыбЗнач) тогда
		Если Исключить тогда
	        Фильтр = "NOT (F10 LIKE '*"  + ВыбЗнач + "*')";
		Иначе
			Фильтр = "(F10 LIKE '%" + ВыбЗнач + "%')";
		конецесли;
	Иначе 
		Фильтр = "";
	КонецЕсли;
	
	ЭтотОбъект.RecordSet.Filter = Фильтр;	
	ЭтотОбъект.RecordSet.Requery();
	НаборЗаписей = ЭтотОбъект.RecordSet;

При исполнении метода Requery выдаёт ошибку:
Ошибка при установке значения атрибута контекста (Filter): Произошла исключительная ситуация (ADODB.Recordset): Аргументы имеют неверный тип, выходят за пределы допустимого диапазона или вступают в конфликт друг с другом.
ЭтотОбъект.RecordSet.Filter = Фильтр;
по причине:
Произошла исключительная ситуация (ADODB.Recordset): Аргументы имеют неверный тип, выходят за пределы допустимого диапазона или вступают в конфликт друг с другом.

Вот такая вот ситуация.
Подскажите как исправить, чтобы LIKE заработал?
21 сен 11, 17:45    [11314354]     Ответить | Цитировать Сообщить модератору
 Re: ADODB.RecordSet не задаётся свойство Filter  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
Не в ту.
21 сен 11, 17:47    [11314365]     Ответить | Цитировать Сообщить модератору
 Re: ADODB.RecordSet не задаётся свойство Filter  [new]
Taekwonder
Member

Откуда: Ростов-на-Дону-->Moscow
Сообщений: 625
Гавриленко Сергей Алексеевич,

Куда и как перенести?
22 сен 11, 10:41    [11317109]     Ответить | Цитировать Сообщить модератору
 Re: ADODB.RecordSet не задаётся свойство Filter  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
А на чем у вам код написан?
22 сен 11, 10:44    [11317128]     Ответить | Цитировать Сообщить модератору
 Re: ADODB.RecordSet не задаётся свойство Filter  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31965
Taekwonder
Куда и как перенести?
Как - нажать кнопку сообщить модератору

А куда - это зависит от используемого языка программирования
По ADODB, к сожалению, форума тут нету, но можно в какой то родственный, типа Visual Basic
22 сен 11, 10:46    [11317150]     Ответить | Цитировать Сообщить модератору
 Re: ADODB.RecordSet не задаётся свойство Filter  [new]
Taekwonder
Member

Откуда: Ростов-на-Дону-->Moscow
Сообщений: 625
Код вообще написан на 1С 8.1, но мне кажется что это не важно, т.к. данное свойство принадлежит не объектам языка, а "COM'овскому" объекту, который можно использовать на любом языке.
Сюда написал, потому что подумал что люди использующие SQL Server наверное полючше будут разбираться в ADODB
22 сен 11, 10:50    [11317179]     Ответить | Цитировать Сообщить модератору
 Re: ADODB.RecordSet не задаётся свойство Filter  [new]
qwerty112
Guest
Taekwonder
Если Не ПустаяСтрока(ВыбЗнач) тогда
		Если Исключить тогда
	        Фильтр = "NOT (F10 LIKE '*"  + ВыбЗнач + "*')";
		Иначе
			Фильтр = "(F10 LIKE '%" + ВыбЗнач + "%')";
		конецесли;
	Иначе 
		Фильтр = "";
	КонецЕсли;
	
	ЭтотОбъект.RecordSet.Filter = Фильтр;	
	ЭтотОбъект.RecordSet.Requery();
	НаборЗаписей = ЭтотОбъект.RecordSet;

адинэсник, а адинэсник,
а чё у тебя один раз *, а в другой % ?
22 сен 11, 10:51    [11317186]     Ответить | Цитировать Сообщить модератору
 Re: ADODB.RecordSet не задаётся свойство Filter  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31965
qwerty112
Taekwonder
Если Не ПустаяСтрока(ВыбЗнач) тогда
		Если Исключить тогда
	        Фильтр = "NOT (F10 LIKE '*"  + ВыбЗнач + "*')";
		Иначе
			Фильтр = "(F10 LIKE '%" + ВыбЗнач + "%')";
		конецесли;
	Иначе 
		Фильтр = "";
	КонецЕсли;
	
	ЭтотОбъект.RecordSet.Filter = Фильтр;	
	ЭтотОбъект.RecordSet.Requery();
	НаборЗаписей = ЭтотОбъект.RecordSet;

адинэсник, а адинэсник,
а чё у тебя один раз *, а в другой % ?
ОТ этого описанной ошибки быть не может.

Скорее, поле F10 имеет не-строковый тип.
22 сен 11, 14:32    [11319372]     Ответить | Цитировать Сообщить модератору
 Re: ADODB.RecordSet не задаётся свойство Filter  [new]
qwerty112
Guest
alexeyvg
ОТ этого описанной ошибки быть не может.

Скорее, поле F10 имеет не-строковый тип.

как знать - как знать ...

навсякей для ТС,
с таким же сообщением, АДО "умирает" и на куда более неявной "промблеме"
11106997
хотя тут - вроде, непохоже...
22 сен 11, 15:20    [11319836]     Ответить | Цитировать Сообщить модератору
 Re: ADODB.RecordSet не задаётся свойство Filter  [new]
Taekwonder
Member

Откуда: Ростов-на-Дону-->Moscow
Сообщений: 625
qwerty112,

Потому что я и так, и так пробовал.
22 сен 11, 15:54    [11320116]     Ответить | Цитировать Сообщить модератору
 Re: ADODB.RecordSet не задаётся свойство Filter  [new]
Taekwonder
Member

Откуда: Ростов-на-Дону-->Moscow
Сообщений: 625
alexeyvg,

Поле F10 имеет 100% строковый тип, потому что там сидит название склада
22 сен 11, 15:55    [11320132]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить