8.х (НЕ РЕШЕНО) Как в запрос для ACE.OLEDB передать параметр

Тема в разделе "Отчеты и обработки для "1С:Предприятие 8"", создана пользователем SvetaS_Love, 29 янв 2017.

  1. TopicStarter Overlay
    SvetaS_Love
    Offline

    SvetaS_Love Опытный в 1С

    Регистрация:
    26 фев 2016
    Сообщения:
    58
    Симпатии:
    0
    Баллы:
    26
    Добрый День!
    есть
    Код:
       СтрокаПодключения="Provider=Microsoft.ACE.OLEDB.12.0;Data Source="+ ЭлементМассива.ПолноеИмя +";Extended Properties=Excel 12.0;";
          // создание соединения
          Connection=Новый ComObject("ADODB.Connection");
        // Подключение
           Попытка
             Connection.Open(СтрокаПодключения);
           Исключение
           // Возврат
             Сообщить("Ошибка подключения к EXCEL");
             Возврат;
           КонецПопытки;
          сообщить("УСПЕШНО EXCEL");  
      
           // после подключения загружаем содержимое файла
          ТекстЗапроса =
          "SELECT
         |    Лист.Категория1  AS Категория1,
         |    Лист.Категория2  AS Категория2,
         |    Лист.Категория3  AS Категория3,
         |    Лист.Наименование    AS Наименование,
         |    Лист.Кол         AS Кол,
         |    Лист.Цена     as Цена,
         |    Лист.Сумма    AS Сумма
         |FROM
         |    [Лист1$] as Лист
         |Where Лист.Категория1 like  &Категория1
         |";
       
         Выборка = Новый COMОбъект("ADODB.Recordset");
    
         Попытка
           Выборка.Open(ТекстЗапроса, Connection);
         Исключение
           Сообщить ("Проблемы с выполнением запроса");
           Возврат;
         КонецПопытки;
    
    Вопрос в запросе есть строка
    Код:
    Where Лист.Категория1 like  &Категория1
    но как значение параметра " &Категория1" установить в строке
    Код:
    Выборка.Open(ТекстЗапроса, Connection);

    ЛЮДИ ДОБРЫЕ,
    ПОМОГИТЕ, ПОЖАЛУЙСТА
    Последнее редактирование: 29 янв 2017
  2. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    9.889
    Симпатии:
    1.029
    Баллы:
    204
    Для указания параметров существует объект Parameters.
    Подробнее тут.
  3. TopicStarter Overlay
    SvetaS_Love
    Offline

    SvetaS_Love Опытный в 1С

    Регистрация:
    26 фев 2016
    Сообщения:
    58
    Симпатии:
    0
    Баллы:
    26
    не понятно
  4. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    9.889
    Симпатии:
    1.029
    Баллы:
    204
    Что именно не понятно?
  5. TopicStarter Overlay
    SvetaS_Love
    Offline

    SvetaS_Love Опытный в 1С

    Регистрация:
    26 фев 2016
    Сообщения:
    58
    Симпатии:
    0
    Баллы:
    26
  6. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    9.889
    Симпатии:
    1.029
    Баллы:
    204
    В какой строке?
    Для того, чтобы работали параметры нужно по другому работать с Connection/Command/RecordSet
    Если вы не читали по ссылке, то параметры есть только у объекта Command.
    Более того, параметры скорее всего не будут именными, т.е. в общем виде текст запроса будет выглядеть так:

    "Select * From Table Where Field1 = ?"
  7. TopicStarter Overlay
    SvetaS_Love
    Offline

    SvetaS_Love Опытный в 1С

    Регистрация:
    26 фев 2016
    Сообщения:
    58
    Симпатии:
    0
    Баллы:
    26
    непонятно как это вставить в мой код