Запросы

Программирование на Visual Basic for Applications
batiq
Обычный пользователь
Обычный пользователь
 
Сообщения: 95
Зарегистрирован: 21.01.2005 (Пт) 13:47

Запросы

Сообщение batiq » 18.03.2005 (Пт) 16:46

Можно ли в excel выполнять запросы?

Дело в том, что у меня есть текстовый файл содержащий
таблицу (с заголовком)..
Как лучше будет получать максимальные, средние и т.п. значения некоторых полей данной таблицы?.

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 18.03.2005 (Пт) 17:13

Можно выполнять запросы...
А как хочешь? Через SQL или после импорта на листе?
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Gloom
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 200
Зарегистрирован: 23.11.2004 (Вт) 15:57
Откуда: СПб

Сообщение Gloom » 18.03.2005 (Пт) 17:24

Код: Выделить всё
    Set rst = CreateObject("ADODB.Recordset")
    rst.Open "select max([Число]) as maxValue, " & _
        "min([Число]) as minValue, " & _
        "avg([Число]) as avgValue, " & _
        "sum([Число]) as sumValue from test.csv", _
        "Provider=Microsoft.Jet.OLEDB.4.0;" & _
        "Data Source=d:\test;" & _
        "Extended Properties=Text;"
    With ActiveCell
        For i = 0 To 3
            .Offset(i).Value = rst(i).Name
            .Offset(i, 1).Value = rst(i).Value
        Next
    End With

batiq
Обычный пользователь
Обычный пользователь
 
Сообщения: 95
Зарегистрирован: 21.01.2005 (Пт) 13:47

Сообщение batiq » 19.03.2005 (Сб) 18:42

не мог бы Ты пояснить строки?.
..и, что означает "число"?.

batiq
Обычный пользователь
Обычный пользователь
 
Сообщения: 95
Зарегистрирован: 21.01.2005 (Пт) 13:47

Сообщение batiq » 19.03.2005 (Сб) 18:46

GSerg писал(а):Можно выполнять запросы...
А как хочешь? Через SQL или после импорта на листе?


а как лучше? Ты имеешь ввиду SQL в EXCEL?

..наверное, надо будет после импорта, потому как в текстовом файле есть шапка таблицы (заголовок)(я думаю он будет мешать; или нет?)..

скорее, давай оба спосаба.. оба интересны..
Последний раз редактировалось batiq 21.03.2005 (Пн) 10:01, всего редактировалось 1 раз.

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 19.03.2005 (Сб) 21:33

Строки - текст запроса. Число - имя поля (имя столбца в шапке, если она есть). Какого рода запросы ты хочешь делать? Может можно обойтись автофильтром?
Lasciate ogni speranza, voi ch'entrate.

batiq
Обычный пользователь
Обычный пользователь
 
Сообщения: 95
Зарегистрирован: 21.01.2005 (Пт) 13:47

Сообщение batiq » 21.03.2005 (Пн) 10:12

alibek писал(а):Строки - текст запроса. Число - имя поля (имя столбца в шапке, если она есть). Какого рода запросы ты хочешь делать? Может можно обойтись автофильтром?


Дело в том, что шапка несколько-строчная; будут ли с этим проблемы?

|Attempted SDC
|CH seizures m
|eeting SDCCH
|overflow

- один из заголовков расписаный в четыре строки..

А запросы могут быть, например: максимальное, минимальное или среднее значения и т.п.

Что такое автофильтр?

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 21.03.2005 (Пн) 10:14

Подозреваю, что проблемы будут.
Лучше используй средства Excel (функции вызываются из WorksheetFunctions).
Lasciate ogni speranza, voi ch'entrate.

batiq
Обычный пользователь
Обычный пользователь
 
Сообщения: 95
Зарегистрирован: 21.01.2005 (Пт) 13:47

Сообщение batiq » 21.03.2005 (Пн) 10:17

alibek писал(а):Подозреваю, что проблемы будут.
Лучше используй средства Excel (функции вызываются из WorksheetFunctions).


Может быть, создать копию текстового файла и заменить строки заголовка на одну строку с пронумерованными полями?

" 1 2 3 4 "

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 21.03.2005 (Пн) 10:31

Зачем? Через Excel будет проще.
Lasciate ogni speranza, voi ch'entrate.

batiq
Обычный пользователь
Обычный пользователь
 
Сообщения: 95
Зарегистрирован: 21.01.2005 (Пт) 13:47

Сообщение batiq » 21.03.2005 (Пн) 13:01

alibek писал(а):Зачем? Через Excel будет проще.

Что Ты имеешь ввиду? Я пользуюсь excel.. но не знаю как в нем по-простому вычислять максимальные и т.п. значения..

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 21.03.2005 (Пн) 13:35

=МАКС(A1:A100)
=МИН(A1:A100)
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

batiq
Обычный пользователь
Обычный пользователь
 
Сообщения: 95
Зарегистрирован: 21.01.2005 (Пт) 13:47

Сообщение batiq » 21.03.2005 (Пн) 16:36

GSerg писал(а):=МАКС(A1:A100)
=МИН(A1:A100)

дело в том, что мне нужно не просто значения вытащить, а всю строку содержащую это значение..


Вернуться в VBA

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

    TopList