| 
    
        
     
     | 
    
  | 
Запрос к xls | ☑ | ||
|---|---|---|---|---|
| 
    0
    
        Олеся999    
     19.07.17 
            ✎
    11:24 
 | 
         
        подскажите пожалуйста как запросом прочитать из эксель все колонки 
 
        от A до H ? Запрос = "SELECT * FROM [Лист1$A:B:C:D:E:F:G:H]"; так почему то не работает (( и как сделать допустим что бы колонка "A" грузилась в колонку тз которая называется "Номер", а колонка "B" грузилась в колонку тз которая называется "ФИО" итд. что то в роде: A AS Номер B AS ФИО  | 
|||
| 
    1
    
        END    
     19.07.17 
            ✎
    11:25 
 | 
         
        А зачем запросом? Просто через OLE нельзя?     
         | 
|||
| 
    2
    
        Олеся999    
     19.07.17 
            ✎
    11:32 
 | 
         
        (1) Неа через ADODB.Connection делаю )     
         | 
|||
| 
    3
    
        END    
     19.07.17 
            ✎
    11:34 
 | 
         
        (2) Т.е. принципиально надо запросом? Вы же можете любую технологию использовать для общения с экселем - разве нет?     
         | 
|||
| 
    4
    
        Олеся999    
     19.07.17 
            ✎
    11:37 
 | 
         
        (3) Могу, но дело в  том что на устройстве нет эксель. поэтому делаю так.     
         | 
|||
| 
    5
    
        xaozai    
     19.07.17 
            ✎
    11:37 
 | 
         
        Чисто предположение: ) 
 
        SELECT A as Nmber, B as FIO FROM [Sheet1$]  | 
|||
| 
    6
    
        PuhUfa    
     19.07.17 
            ✎
    11:38 
 | 
||||
| 
    7
    
        Олеся999    
     19.07.17 
            ✎
    11:45 
 | 
         
        (5) Так не будет работать:)     
         | 
|||
| 
    8
    
        VS-1976    
     19.07.17 
            ✎
    11:58 
 | 
         
        SELECT F1 as Nmber, F2 as FIO FROM [Sheet1$]
 
        Так будет  | 
|||
| 
    9
    
        xaozai    
     19.07.17 
            ✎
    12:05 
 | 
         
        (8) Да, так работает )
 
        Накидал вот ради интереса: Процедура КнопкаВыполнитьНажатие(Кнопка)
     | 
|||
| 
    10
    
        xaozai    
     19.07.17 
            ✎
    12:07 
 | 
         
        +(9) Или так строку можно заменить:
 
        Сообщить("" + RecordSet.Fields("Nmber").value + " | "  +  RecordSet.Fields("FIO").value);     | 
|||
| 
    11
    
        Олеся999    
     19.07.17 
            ✎
    12:15 
 | 
         
        Странно у меня пишет ошибка запроса 
 
        ТекстЗапроса = "SELECT | F1 as Номер, | F2 as ФИО | FROM [Лист1$]";  | 
|||
| 
    12
    
        Олеся999    
     19.07.17 
            ✎
    12:16 
 | 
         
        Так работает но добавляет только одну строку 
 
        ТекстЗапроса = "SELECT * FROM [Лист1$A:B]";  | 
|||
| 
    13
    
        xaozai    
     19.07.17 
            ✎
    12:18 
 | 
         
        (11) SELECT F1 as [Номер], F2 as [ФИО] FROM [Лист1$]
 
        Ежели по-русски.  | 
|||
| 
    14
    
        VS-1976    
     19.07.17 
            ✎
    12:23 
 | 
         
        (13) Вообще скобки нужны если в наименовании есть пробел, вроде как     
         | 
|||
| 
    15
    
        xaozai    
     19.07.17 
            ✎
    12:26 
 | 
         
        (14) Квадратные скобки обязательны, если имя не соответствует требованиям к идентификаторам, вроде как...     
         | 
|||
| 
    16
    
        VS-1976    
     19.07.17 
            ✎
    12:30 
 | 
         
        (15) С русским наименованием прокатывает. Системе побоку если это одно слово     
         | 
|||
| 
    17
    
        Олеся999    
     19.07.17 
            ✎
    12:32 
 | 
         
        (13) я что то попробовала, серавно ошибку запроса пишет     
         | 
|||
| 
    18
    
        xaozai    
     19.07.17 
            ✎
    12:34 
 | 
         
        (17) Ну, а что в описании ошибки?     
         | 
|||
| 
    19
    
        Олеся999    
     19.07.17 
            ✎
    12:38 
 | 
         
        (18) Ошибка при вызове метода контекста (Open): Произошла исключительная ситуация (Microsoft Access Database Engine): Отсутствует значение для одного или нескольких требуемых параметров.     
         | 
|||
| 
    20
    
        xaozai    
     19.07.17 
            ✎
    12:40 
 | 
         
        (19) Так это не для запроса.
 
        Это в строке подключения ошибка.  | 
|||
| 
    21
    
        Олеся999    
     19.07.17 
            ✎
    12:46 
 | 
         
        (20) Нет по отладке посмотрела 
 
        полкл проходит, а валится на Выборка = Новый COMОбъект("ADODB.Recordset"); Попытка Выборка.Open(ТекстЗапроса, Connection); Исключение Сообщить ("Проблемы с выполнением запроса"); Сообщить (ОписаниеОшибки()); Возврат; КонецПопытки;  | 
|||
| 
    22
    
        xaozai    
     19.07.17 
            ✎
    12:49 
 | 
         
        (12) Попробуйте как в (9).     
         | 
|||
| 
    23
    
        Олеся999    
     19.07.17 
            ✎
    12:54 
 | 
         
        (22) а так :  Ошибка при вызове метода контекста (Execute): Произошла исключительная ситуация (Microsoft Access Database Engine): Отсутствует значение для одного или нескольких требуемых параметров.     
         | 
|||
| 
    24
    
        VS-1976    
     19.07.17 
            ✎
    12:59 
 | 
         
        (23)
 
        пЗаголовок = ?( пЗаголовок, "Yes", "No" ); пConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=""" + пПутьКФайлу + """;Extended Properties=""Excel 12.0 Xml;HDR=" + пЗаголовок + """;"; Попытка пКоннектор = Новый COMОбъект( "ADODB.Connection" ); пКоннектор.ConnectionString = пConnectionString; Попытка пКоннектор.Open(); Исключение пКоннектор = Неопределено; Сообщить( "Не удалось подключиться к источнику." + Символы.ПС + ОписаниеОшибки() ); КонецПопытки; Исключение Сообщить( "Нет драйвера ADODB." + Символы.ПС + ОписаниеОшибки() ); КонецПопытки;  | 
|||
| 
    25
    
        xaozai    
     19.07.17 
            ✎
    13:09 
 | 
         
        (23) Можт, это установить нужно: http://www.microsoft.com/download/en/details.aspx?id=23734
 
        Это драйвер для работы с excel ч/з ADODB.  | 
|||
| 
    26
    
        Олеся999    
     19.07.17 
            ✎
    14:33 
 | 
         
        (25) Установлено, так как выполняя этот запрос: ТекстЗапроса = "SELECT * FROM [Лист1$]";
 
        добавляет строку, но почему то только одну  | 
|||
| 
    27
    
        Олеся999    
     19.07.17 
            ✎
    14:39 
 | 
         
        (24) так она подключается :)     
         | 
|||
| 
    28
    
        Олеся999    
     19.07.17 
            ✎
    15:08 
 | 
         
        в предопределенные колонки записывает все как надо     
         | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |