0 / 0 / 0
Регистрация: 03.02.2013
Сообщений: 17
|
||||||
1 | ||||||
Выполнение выборки Select на листе Excel10.02.2013, 20:32. Показов 7873. Ответов 14
Метки нет (Все метки)
Очень нужна помощь
есть таблица на фиксированном листе Worksheets("1704") cо столбца А по столбец Т, где первая строка название - требуется создать лист отчет, куда в последствии вывести информацию - выбрать записи где в столбце A нет записи "NAT MINSK", а в столбце E <> "RUB" - в таблице могут быть одинаковые записи по полям N-Q, в таком случае надо просуммировать поле X1, а поле X2 определяется как суммированное X3 / X1
0
|
10.02.2013, 20:32 | |
Ответы с готовыми решениями:
14
Выполнение хранимой процедуры из выборки select Вывод результата выборки Select SQL в Excel .Select на неактивном листе Как сложить 3 SELECT выборки |
призрак
|
||||||
10.02.2013, 22:22 | 2 | |||||
вот этот приведенный вами код - к чему?
и почему его нет в прикрепленном файле? Добавлено через 25 минут не уверен, что понял правильно.
2
|
0 / 0 / 0
Регистрация: 03.02.2013
Сообщений: 17
|
|
10.02.2013, 22:35 [ТС] | 3 |
Выдается сообщение
Compile Error Syntax Eror
0
|
357 / 163 / 27
Регистрация: 21.06.2011
Сообщений: 350
|
|
10.02.2013, 22:39 | 4 |
У меня все отлично отработало...
0
|
0 / 0 / 0
Регистрация: 03.02.2013
Сообщений: 17
|
|
10.02.2013, 22:42 [ТС] | 5 |
В таблице поля
K1 K2 K3 X1 X2 X3 X4 могут быть одинаковыми в этом случае требуется вывести поле K1 K2 K3 X1 и просуммировать поле X2 и поле X3 должно быть взвешенным, т.е. X3 = X4/X2 Добавлено через 2 минуты перегрузил Excel все работает
0
|
0 / 0 / 0
Регистрация: 03.02.2013
Сообщений: 17
|
|
10.02.2013, 22:56 [ТС] | 7 |
к сожалению немного не то получилось
лишние строки удалены COUNTERPARTY<>"NAT MINSK" AND INSTR_1<>"RUB" а вот с остальным не получилось есть строки 6,7,8,9 где поля K1 K2 K3 X1 идентичны 0645 001 2 0645 001 2 0645 001 2 0645 001 2 в этом случае строка должна быть один раз напечатана, а поле X2 суммироваться, поле X3 = X4/X2 (так называемая средне взвешенная ставка поле X4 ранее определялся, как произведение X2 * ставку)
0
|
призрак
|
|
10.02.2013, 23:05 | 8 |
гм... это больше становится похоже на работу, а не на помочь/подсказать...
ладно. давайте по порядку. у приведенных вами строк другие поля различны. напр., COUNTERPARTY, CPTY_TCID, INSTR_1. да почти все. а в результат они попадают. что выводить тогда? возможно, вам имеет смысл нарисовать вручную пример результата для исходных данных? иначе мне, например, задача до сих пор непонятна. впрочем, возможно, это именно мои тараканы.
1
|
0 / 0 / 0
Регистрация: 03.02.2013
Сообщений: 17
|
|
10.02.2013, 23:32 [ТС] | 9 |
Лист 1704 - первичный лист
Лист 1 промежуточный где видно какие столбцы анализируются и удаляются Лист 2 результат
0
|
0 / 0 / 0
Регистрация: 03.02.2013
Сообщений: 17
|
|
10.02.2013, 23:33 [ТС] | 10 |
"возможно, вам имеет смысл нарисовать вручную пример результата для исходных данных?
иначе мне, например, задача до сих пор непонятна. впрочем, возможно, это именно мои тараканы. " Очень разумно и большое спасибо
0
|
призрак
|
||||||
10.02.2013, 23:51 | 11 | |||||
меняется только строка запроса. проверяйте.
1
|
0 / 0 / 0
Регистрация: 03.02.2013
Сообщений: 17
|
||||||
11.02.2013, 01:31 [ТС] | 12 | |||||
если можно поясните что вот это
0
|
0 / 0 / 0
Регистрация: 21.12.2015
Сообщений: 1
|
|
21.12.2015, 13:28 | 14 |
Добрый день! Возникла похожая задача.
только в секции where указывается считаная дата код выглядит так: Sub Netting() Dim sCon$, rs As Object, cn As Object, w As Worksheet, d As String d = Worksheets("Расчет").Range("B1").Value Dim sSQL$ Set rs = CreateObject("ADODB.Recordset") Set cn = CreateObject("ADODB.Connection") Select Case CLng(Split(Application.Version, ".")(0)) Case Is < 12 sCon = "Provider=Microsoft.Jet.OLEDB.4.0ata Source=" & ThisWorkbook.FullName _ & ";Extended Properties=""Excel 8.0;HDR=Yes;IMEX=1"";" Case Is >= 12 sCon = "Provider=Microsoft.ACE.OLEDB.12.0ata Source=" & ThisWorkbook.FullName _ & ";Extended Properties=""Excel 12.0;HDR=Yes;IMEX=1"";" End Select ' thnx R Dmitry sSQL = "SELECT Sum(Покупка), Sum(Продажа)" _ & " FROM [Данные$A:H]" _ & " WHERE Валюта_1=""USD"" AND Дата_валютирования=""" & d & """" _ & " GROUP BY Валюта_1, Дата_валютирования" cn.Open sCon Set rs = cn.Execute(sSQL) Set w = ThisWorkbook.Worksheets.Add w.[a2].CopyFromRecordset rs End Sub дата считывается корректно, строка sql выглядит так: "SELECT Sum(Покупка), Sum(Продажа) FROM [Данные$A:H] WHERE Валюта_1="USD" AND Дата_валютирования="24.03.2015" GROUP BY Валюта_1, Дата_валютирования" но при выполнении кода выдается ошибка "Несоответствие типов данных в выражении условия отбора" Не могу понять что чему не соответствует.
0
|
15151 / 6424 / 1731
Регистрация: 24.09.2011
Сообщений: 9,999
|
||||||
21.12.2015, 13:52 | 15 | |||||
b0s0ta, дату он не поймет в таком виде. Измените две строки
1
|
21.12.2015, 13:52 | |
21.12.2015, 13:52 | |
Помогаю со студенческими работами здесь
15
Выполнение выборки ничего не выдаёт Ошибка при выполнении выборки SELECT Что возвращает оператор выборки SELECT Поиск значения на листе и выполнение действий Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |