Имя: Пароль:
1C
1С v8
Recordset метод find() не могу найти запись
0 varyag
 
04.02.16
09:47
"Здравствуйте мои маленькие любители рэпа..." (с)В.Курнулли

В общем дело такое. Не могу применить метод Find(). После его выполнения запись не находится

    СтрокаПодключения = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source="+ПутьФайлаMDB+";""";
    Connection = Новый COMОбъект("ADODB.Connection");
    Попытка
        Connection.Open(СтрокаПодключения);
    Исключение
        Сообщить(ОписаниеОшибки());
        Возврат;
    КонецПопытки;
    
    rs = Новый COMОбъект("ADODB.RecordSet");
    ТекстЗапроса = "SELECT * FROM "+ИмяТаблицы;//+" ORDER BY PART";
    ////rs.Open(ТекстЗапроса, Connection, 1, 3);
    rs.Open(ТекстЗапроса,Connection,3,3);
    
    // Перебор таблицы значений и заполнение таблицы MDB
    КоличествоЗаписей = ТЗПрайсЛиста.Количество();
    НомерЗаписи = 1;
    Для Каждого СтрокаПрайса Из ТЗПрайсЛиста Цикл
        Состояние("Заполнение таблицы MDB. Cтрока "+НомерЗаписи+" из "+КоличествоЗаписей+".");
        ////rs.MoveFirst();
        Если rs.EOF() Тогда
            Сообщить("ццц");
        КонецЕсли;
        rs.Find("PART='ACV0069080'");


В выражении rs.Fields("PART").Value пишет "Произошла исключительная ситуация (ADODB.Field): BOF или EOF имеет значение True, либо текущая запись удалена. Для выполняемой операции требуется текущая запись."

Чо делать то? уже все перепробовал? Может из за того что тип колонок не указан?
1 varyag
 
04.02.16
09:59
Тип указал строка
            NewColumn.Type = 129;

Все равно не ищет сволочь..
2 cw014
 
04.02.16
10:00
А проверять на BOF не пробовал? У тебя результат то не пустой точно?
3 varyag
 
04.02.16
10:09
Проверял. В табло всегда BOF ложь, а EOF странно себя ведет. После строки
       Состояние("Заполнение таблицы MDB. Cтрока "+НомерЗаписи+" из "+КоличествоЗаписей+".");

Становится Истина. После rs.MoveFirst(); снова Ложь..
4 varyag
 
04.02.16
10:12
(2) результат не пустой - это ты про что? Таблица заполнена, я из нее и беру строку для поиска ACV0069080
5 varyag
 
04.02.16
11:22
Я полдня убил на это и когда у меня 1С зависла и я ее перезагрузил все заработало!!! Бесит, уже не впервой такая херня
Закон Брукера: Даже маленькая практика стоит большой теории.