|
Проблеммы с переносом с сумированием ADO в Excel
|
|||
---|---|---|---|
#18+
Суть проблеммы нужно при помощи ADO почитать общую сумму оплаты данных на листе "Платежи" вроде считает, но когда начинаю проверять, некоторые платежи выпадают из расчета. файл прилогаю. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.10.2012, 12:16 |
|
Проблеммы с переносом с сумированием ADO в Excel
|
|||
---|---|---|---|
#18+
у меня ничего не выпало. Конкретнее пожалуйста ... |
|||
:
Нравится:
Не нравится:
|
|||
19.10.2012, 13:19 |
|
Проблеммы с переносом с сумированием ADO в Excel
|
|||
---|---|---|---|
#18+
Shocker.Proу меня ничего не выпало. Конкретнее пожалуйста Обидно до соплей. все поудалял из книг для примера сейчас стало все нормально а до этого было следующее. Select ом отбирал платежи и при отборе некоторые просто пропускались. отбирал макросом "Макрос5" ... |
|||
:
Нравится:
Не нравится:
|
|||
19.10.2012, 14:08 |
|
Проблеммы с переносом с сумированием ADO в Excel
|
|||
---|---|---|---|
#18+
Возвращай все обратно и смотри, в какой момент сглючит ... |
|||
:
Нравится:
Не нравится:
|
|||
19.10.2012, 14:52 |
|
Проблеммы с переносом с сумированием ADO в Excel
|
|||
---|---|---|---|
#18+
Shocker.Pro, а подскажите вот код авторSub Макрос5() Dim cn As Object, rs As Object Set cn = CreateObject("ADODB.Connection") Set rs = CreateObject("ADODB.Recordset") cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + ThisWorkbook.FullName + ";Extended Properties='Excel 8.0'" rs.Open "SELECT * FROM [Платежи$] WHERE (REG_NUM=107) ORDER BY REG_NUM ", cn, 3 Cells(1, 1).CopyFromRecordset rs rs.Close: Set rs = Nothing cn.Close: Set cn = Nothing End Sub как контролировать ? все работает стабильно и отбирает всегда одинаковые строки прямой зависимости не могу выявить ... |
|||
:
Нравится:
Не нравится:
|
|||
19.10.2012, 21:35 |
|
Проблеммы с переносом с сумированием ADO в Excel
|
|||
---|---|---|---|
#18+
Книгу сохраняете перед запуском макроса? Он берет файл с диска, т.е. не может учесть изменения, внесенные после последнего сохранения. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.10.2012, 23:35 |
|
Проблеммы с переносом с сумированием ADO в Excel
|
|||
---|---|---|---|
#18+
Chumakov_JAкак контролировать ?Что значит "контрлировать"? Пошагово выполнить? [MOD]Учимся использовать тэги оформления кода - FAQ [/MOD] ... |
|||
:
Нравится:
Не нравится:
|
|||
20.10.2012, 11:29 |
|
Проблеммы с переносом с сумированием ADO в Excel
|
|||
---|---|---|---|
#18+
Shocker.Pro, все банально просто. файл Excel, принимает данные из БД постоенной на DB2 лист где хранятся платежи имеет записей от 30 до 80 тысяч все работает на Excel 2007 поэтому проблем с ограничением не испытываю также принимаю из DB2 в отдельный лист описание плательщиков (имя ,адрес и т.д.) листы скрытые после этого формулами расчитываю по отдельным плательщикам всякие данные все считает отлично автор http://www.sql.ru/forum/actualthread.aspx?tid=844510 стал вопрос как узнать кто из плательщиков имеющий определенный статус вообще ничего не платит. и вот тут начал выдумывать анализ и получение данных на ADO автор http://www.sql.ru/forum/actualthread.aspx?tid=976075 но при простом авторSELECT * FROM [Платежи$] WHERE (INS_REG_NUM=103) ORDER BY INS_REG_NUM у меня происходит неполное получение данных при этом я уверен на 100 % что пустых строк от начало и до конца SELECTa нет но при этом автофильтром я вижу 528 строк (а так хочется написать записей) а SELECT отбирает всего 261 и вот тут я застопорился .................. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.10.2012, 22:13 |
|
Проблеммы с переносом с сумированием ADO в Excel
|
|||
---|---|---|---|
#18+
Chumakov_JA, попробуй опять же 1. поюзать акцесс, связав исходный эксельный лист по ОЛБЦ. Там все-таки конструктор удобный для всяких экспериментов. 2. МС Квери. ЗЫ Похоже, АДО для источника типа Эксель вообще косячная штука. При массовом использовании, бывает, уже в обед перегружаю комп, т.к. память стремительно утекает как змеиная песочная собка, "Out of memory" - и все тут. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.10.2012, 23:10 |
|
Проблеммы с переносом с сумированием ADO в Excel
|
|||
---|---|---|---|
#18+
Код: vbnet 1.
Кстати, такой провайдер вроде тока для ограниченного 2003-м Экселем числом строк робит корректно? Т.е. более 2^16 строк он не пережует? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.10.2012, 23:14 |
|
Проблеммы с переносом с сумированием ADO в Excel
|
|||
---|---|---|---|
#18+
портерChumakov_JA, попробуй опять же 1. поюзать акцесс, связав исходный эксельный лист по ОЛБЦ. Там все-таки конструктор удобный для всяких экспериментов. 2. МС Квери. ЗЫ Похоже, АДО для источника типа Эксель вообще косячная штука. При массовом использовании, бывает, уже в обед перегружаю комп, т.к. память стремительно утекает как змеиная песочная собка, "Out of memory" - и все тут. сють проблеммы нужно на стандартном варианте Micrisoft Office а там тока Excel,Word, PowerPoint ... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2012, 00:04 |
|
Проблеммы с переносом с сумированием ADO в Excel
|
|||
---|---|---|---|
#18+
портер ЗЫ Похоже, АДО для источника типа Эксель вообще косячная штука. При массовом использовании, бывает, уже в обед перегружаю комп, т.к. память стремительно утекает как змеиная песочная собка, "Out of memory" - и все тут. так и есть BUG: Memory leak occurs when you query an open Excel worksheet by using ActiveX Data Objects (ADO) ... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2012, 00:12 |
|
Проблеммы с переносом с сумированием ADO в Excel
|
|||
---|---|---|---|
#18+
портер Код: vbnet 1.
Кстати, такой провайдер вроде тока для ограниченного 2003-м Экселем числом строк робит корректно? Т.е. более 2^16 строк он не пережует? +1 ТС, провайдер нужно использовать другой для 2007-го Экселя http://connectionstrings.com/excel-2007 ... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2012, 00:15 |
|
Проблеммы с переносом с сумированием ADO в Excel
|
|||
---|---|---|---|
#18+
qwerty112портер Код: vbnet 1.
Кстати, такой провайдер вроде тока для ограниченного 2003-м Экселем числом строк робит корректно? Т.е. более 2^16 строк он не пережует? +1 ТС, провайдер нужно использовать другой для 2007-го Экселя http://connectionstrings.com/excel-2007 Ну огромное спасибо все помогло автор sCon = "Provider=Microsoft.ACE.OLEDB.12.0;" & _ "Data Source=" & ThisWorkbook.FullName & ";" & _ "Extended Properties=""Excel 12.0;HDR=Yes;"";" ... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2012, 20:29 |
|
Проблеммы с переносом с сумированием ADO в Excel
|
|||
---|---|---|---|
#18+
Chumakov_JA, еще добавлю, что в качестве таблицы данных используйте только заголовок листа, Именованные диапазоны будут тоже косячить. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2012, 22:24 |
|
Проблеммы с переносом с сумированием ADO в Excel
|
|||
---|---|---|---|
#18+
ну подскажите ещё момент где неправельно автор sSQL = "SELECT `Плательщики$`.INS_REG_NUM, " & _ "`Плательщики$`.INS_SHORT_NAME, Sum(`Платежи$`.PAY_SUM) AS 'Сумма из PAY_SUM' " & _ "FROM {oj `Плательщики$` `Плательщики$` " & _ "LEFT OUTER JOIN `Платежи$` `Платежи$` ON `Плательщики$`.INS_REG_NUM = `Платежи$`.INS_REG_NUM} " & _ "WHERE (`Плательщики$`.CT_ID>=89) AND (`Плательщики$`.INS_UNARRANGE_DATE Is Null) " & _ "GROUP BY `Плательщики$`.INS_REG_NUM, `Плательщики$`.INS_SHORT_NAME " & _ "ORDER BY `Плательщики$`.INS_REG_NUM;" при этом MS Query все работает ... |
|||
:
Нравится:
Не нравится:
|
|||
22.10.2012, 09:28 |
|
Проблеммы с переносом с сумированием ADO в Excel
|
|||
---|---|---|---|
#18+
Chumakov_JA, уже прям выяснил что длинный запрос а вот как уменьшить ? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.10.2012, 12:32 |
|
Проблеммы с переносом с сумированием ADO в Excel
|
|||
---|---|---|---|
#18+
Chumakov_JA, из Excel гораздо быстрее можно получить данные, открыв его как OLE-объект. Я открываю в цикле несколько десятков файлов, состоящих из нескольких листов, суммирую значения по ячейкам и переношу суммы в итоговый файл. На всю процедуру уходит несколько секунд. Запрос на тех же данных работал бы целый день. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.10.2012, 12:43 |
|
Проблеммы с переносом с сумированием ADO в Excel
|
|||
---|---|---|---|
#18+
F, Пример или ссылку в студию. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.10.2012, 14:19 |
|
Проблеммы с переносом с сумированием ADO в Excel
|
|||
---|---|---|---|
#18+
Пример чего? Вы на чем програму пишете? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.10.2012, 16:18 |
|
Проблеммы с переносом с сумированием ADO в Excel
|
|||
---|---|---|---|
#18+
Chumakov_JAChumakov_JA, уже прям выяснил что длинный запрос а вот как уменьшить ? Может убрать OUTER из текста запроса? Операции LEFT JOIN, RIGHT JOIN Объединяют записи исходных таблиц при использовании в любом предложении FROM. Синтаксис FROM таблица_1 [ LEFT | RIGHT ] JOIN таблица_2 ON таблица_1.поле_1 оператор таблица_2.поле_2 ... |
|||
:
Нравится:
Не нравится:
|
|||
22.10.2012, 18:33 |
|
Проблеммы с переносом с сумированием ADO в Excel
|
|||
---|---|---|---|
#18+
Вариант запроса Код: sql 1. 2. 3. 4. 5.
... |
|||
:
Нравится:
Не нравится:
|
|||
23.10.2012, 10:04 |
|
|
start [/forum/topic.php?fid=61&msg=38006367&tid=2175291]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
53ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
56ms |
get tp. blocked users: |
1ms |
others: | 341ms |
total: | 497ms |
0 / 0 |