Форум программистов, компьютерный форум, киберфорум
Microsoft Access
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 5.00/11: Рейтинг темы: голосов - 11, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 07.02.2016
Сообщений: 7

Access VBA код на 65 тыс. строк формулы вешают Excel

07.02.2016, 16:48. Показов 2738. Ответов 26
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день!

Подскажите, пожалуйста, может ли кто-то помочь с кодом на VBA для Access? Ситуация следующая.
  • Есть база данных, она выгружается в Access 2010.
  • На основе этой базы делаются определенные вычисления, которые в итоговом варианте выдаются в виде сводной таблицы.
  • Исходные данные (база) и свод (результат) - в приложении Excel.
  • Выборка базы - урезанная, в полной выгрузке 65 тыс. строк.
  • В серых полях - дополнительные вычисления посредством формул.

Проблема в том, что на 65 тыс. строк формулы вешают Excel.
Вопрос - можно ли написать сразу в Access код VBA, чтобы все нужные формулы считались кодом?

Заранее спасибо!
Вложения
Тип файла: zip Тест.zip (95.6 Кб, 17 просмотров)
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
07.02.2016, 16:48
Ответы с готовыми решениями:

Access - Excel, код не воспринимает количество строк в Excel более 65000
Добрый день! Есть БД (Access), есть файл Excel, где происходит обработка данных. Код ниже работает отлично, НО он не воспринимает...

Как сместить формулы в VBA при добавлении новых строк в Excel
Имеется очень много формул в таблице, что бы избежать их нечаянного удаления или при добавлении новых строк и столбцов, заполнить их...

Можно ли использовать формулы Excel в коде VBA?
можно ли использовать формулы Excel в коде VBA? например есть такой диапазон: Dim r1 As Range Set r1 =...

26
459 / 246 / 15
Регистрация: 29.10.2014
Сообщений: 1,084
09.02.2016, 18:18
Студворк — интернет-сервис помощи студентам
У меня 65 тыс не было, но Акс-импорт-перемещение по записям-экспорт. Тоже не мгновенно. Пусть секунды назовет, а то его сокращенная таблица работает нормально
0
шапоклякистка 8-го дня
 Аватар для texnik-san
3681 / 2241 / 391
Регистрация: 26.06.2015
Сообщений: 4,647
Записей в блоге: 1
09.02.2016, 18:19
corbis, вообще: кто из нас обнадеживал девушку, что в access "Разумеется можно" сделать то, что она хочет?
0
547 / 274 / 50
Регистрация: 03.04.2015
Сообщений: 926
09.02.2016, 20:02
Да, что-то тему упустил. Извиняюсь.
Strecosa, будьте так любезны, изложите, что нужно посчитать в Access?
В Excel конечно подробно расписано, но вникать что, откуда и как должно работать, лениво.
И что там ещё кроме одной таблицы будет?
0
Эксперт MS Access
26828 / 14509 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
09.02.2016, 20:25
Цитата Сообщение от alvk Посмотреть сообщение
Редкость.
Да хоть вообще один раз. Программирование почти единственный вид творчества, где разрешено все, что не запрещено.
Но тем не менее встречается нередко, хотя иногда в завуалированных формах. Так список городов печатают алфавитно, но столицы (Москва, Питер) впереди. Список сотрудников также алфавитно, но руководство вверху. И тому подобное. Под "номером строки" выступает или некий атрибут, или ручная сортировка при вводе в таблицу с каунтером. Что в общем-то одно и то же.

Цитата Сообщение от alvk Посмотреть сообщение
Но у ТС таблица фактов. А это совсем другое
Во! И это наверное правильно. Но где же это полезное наблюдение в саркастическом, даже ядовитом комменте? О типах таблиц там ничего, там принципиальное отвержение самой возможности. А она существует!
К тому же и сама texnik-san предлагала эту возможность для таблицы фактов как образец не очень осмысленного действия. За что ж ее пороть-то?
0
459 / 246 / 15
Регистрация: 29.10.2014
Сообщений: 1,084
09.02.2016, 20:50
Никто не отрицает, что сделать можно. Вопрос зачем? Файл долго открывается, тяжелый очень, или 65 тыс строк заполнять формулами рука отнимается?
0
Модератор
Эксперт MS Access
 Аватар для shanemac51
12235 / 5082 / 814
Регистрация: 07.08.2010
Сообщений: 14,950
Записей в блоге: 4
09.02.2016, 21:08
попыталась расшифровать формулы --тяжелая это работа, как из болота тащить бегемота
правильность не гарантирую--только общее понмание расчета
ZОригинСцепкаIF(Y2<>"", CONCATENATE(Y2, I2, F2) , 0) 0сцепитьДебет_Ан2_имя Документ_основание Контрагент
AAКол-воНачислCOUNTIFS(Z:Z, Z2, Z:Z, "<>0") 0сосчитать количество ОригинСцепка
ABДоля для одного начисленияIF(AA2<>0, 1/AA2, 0) 0если Кол-воНачисл<>01/ Кол-воНачисл
ACПроект/документSUMIFS(AB:AB, I:I, I2) 0суммі по Доля для одного начисления по Документ_основание 
ADДоля проекта в документеIF(Z2=0, 0, X2/SUMIFS(X:X, I:I, I2, W:W, "Начисление") ) 0если ОригинСцепка<>0 Сумма_руб_знак Документ_основание Наименование_операции Начисление
AEПовтор_ПрисвоенПроектCOUNTIFS($Z$2:$Z2, Z2, $Z$2:$Z2, "<>0") 0сосчитать количествопо ОригинСцепка
AFДокумент для проектаIF(AE2=1, I2, 0) 0если количество=1Документ_основание
AGПрисвоение проектаIF(AND(Y2="", AC2=0) , "Аванс", IF(AND(Y2="", AC2>=1) , INDIRECT(AH2) , IF(Y2<>"", Y2, ) ) ) Авансесли Дебет_Ан2_имя=0 и суммі_по_ Доля_для_одного=0аванс
    если Дебет_Ан2_имя=0 и суммі_по_ Доля_для_одного>=1технич. Адрес
    если Дебет_Ан2_имя<>0Дебет_Ан2_имя
AHтехнич. АдресIF(AND(Y2="", AC2=1) , ADDRESS(SUMPRODUCT ((($AF$2:$AF$88=I2) * ROW($AF$2:$AF$88) ) ) , 25) , 0если Дебет_Ан2_имя="" и суммі по Доля=1Документ для проекта * строки
  IF(AND(Y2="", AC2>1) , IF(AND(LEFT(O2, 2) ="19", Y2="") , ADDRESS(SUMPRODUCT ((($M$2:$M$88=M2) * ($X$2:$X$88=X2/0.18) * ROW($X$2:$X$88) ) ) , 25) , "$AM$1") , 0) ) если Дебет_Ан2_имя="" и суммі по Доля>1 и левіе(Дебет_счет_номер)="19" и Дебет_Ан2_имя="" строки (_Номер_операции) *( Сумма_руб_знак)
      
      
AIСумма_руб_распределеноIFERROR(IF(AC2>1, SUMIFS(X:X, I:I, I2, W:W, "Оплата") * AD2, 0) , 0) 0если ошибка(если суммі по Доля для одного>0 сумма (Сумма_руб_знак) по (Документ_основание) (Наименование операции) оплата * (Доля проекта в документе)
AJСуммаНачисления, рубIF(W2="Начисление", X2, 0) 0если Наименование_операции =начисленияСумма_руб_знак
AKСуммаОплаты, рубIF(AND(W2="Начисление", AI2<>0) , AI2, IF(W2="Оплата", X2, 0) ) -105если Наименование_операции =начисления и Сумма_руб_распределено<>0Сумма_руб_распределено<>0
    если Наименование_операции =оплатаСумма_руб_знак
AL   
AMРаспределено   
AN   
0
Эксперт MS Access
 Аватар для alvk
7459 / 4592 / 302
Регистрация: 12.08.2011
Сообщений: 14,380
10.02.2016, 04:03
Цитата Сообщение от mobile Посмотреть сообщение
О типах таблиц там ничего, там принципиальное отвержение самой возможности. А она существует!
Да существует, но я решил не загружать ненужной информацией начинающего программиста.
Цитата Сообщение от mobile Посмотреть сообщение
За что ж ее пороть-то?
Где я писал "пороть" ? Хотя это мысль
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
10.02.2016, 04:03
Помогаю со студенческими работами здесь

Код склеивания строк, нужно поправить код соединения строк с запятыми для Excel
Есть красивый код но в нем учитывается и пустые строки для соединения и получается не красиво соединение с двумя запятыми как не...

VBA vs Формулы Excel - разные результаты вычислений над числом Пи
Элемент задания имеет вид ctg(pi*a)^2, где рі=3,1415926. В VBA прописывал как 1/(tan(pi*a)^2), аналогично прописывал в MS Excel, только...

Код VBA в Access 2010 работает, в Access 2007 выдает ошибку
Написала код VBA в Access 2010 - работает, в Access-2007 выдает ошибку. В чем причина - подскажите

Почему разработчики Excel'я сделали его ограниченным: 65 тыс. строк на 252 столбца?
Кто знает, почему разработчики Excel'я сделали его ограниченным: 65 тыс. строк на 252 столбца? И, вообще, возможно (физически) сделать его...

Excel+Access с использование VBA
Доброе день, уважаемые форумчане! Задачка: Есть база данных на Access, там же создан запрос. Нужно выгрузить данные полученные в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
27
Ответ Создать тему
Новые блоги и статьи
Транскрипция 55-минутного видео через Whisper: WhisperDesktop облажался, спас Google Colab[
anaschu 01.06.2026
Понадобилось получить текст из свежезагруженного видео на YouTube. Казалось бы, задача на пять минут. Заняла полтора часа. Делюсь опытом — может кому пригодится последовательность решений. . . .
21 мат мед. Планы на развитие модели здравоСохранения
anaschu 01.06.2026
AnyLogic: план развития симуляционной модели рабочего коллектива — динамический абсентеизм, реальные данные, три сценария сравнения Продолжаю серию постов о дискретно-событийной модели рабочего. . .
20. Мат мед. Абсентеизм как отдельный тип простоя
anaschu 29.05.2026
Апдейт модели: исправленные баги, абсентеизм и новые механизмы Продолжаю развивать ранее описанную модель рабочего коллектива на AnyLogic. За последние несколько дней был проведён серьёзный. . .
19. здоровье, усталость и психотип работника влияют на производительность предприятия, и наоборот, производительность на здоровье, усталось и психотип
anaschu 28.05.2026
Дискретно-событийная модель рабочего коллектива на AnyLogic: здоровье, выгорание, психотипы и микростимуляция Привет, коллеги. Хочу поделиться итогами нескольких недель работы над симуляционной. . .
"Прокси" для последовательного порта
Eddy_Em 28.05.2026
Эту штуку написал я достаточно давно. Но сейчас вот понадобилось настроить датчик грозы, но при этом не отключать его от "метеодемона". Соответственно, надо запустить этот "прокси": метеодемон будет. . .
Рефакторинг программы уравнивания.
Massaraksh7 26.05.2026
Пример по предыдущей записи в блоге. Но, надо заметить, что, во-первых, там оптимизация не только математики, но и работы с базой данных, и с графами, а во-вторых, это ещё не всё.
Использование TThread в Lazarus для математических вычислений.
Massaraksh7 25.05.2026
Производя рефакторинг своих программ на предмет ускорения их работы, обратил внимание на такой аспект, как сокращение времени матвычислений. Дело в том, что приходится работать с большими матрицами. . .
Модель здравосохранения 18. Чем здоровее работник, тем быстрее выгорает
anaschu 24.05.2026
Имитационная модель корпоративного здравоохранения: что показывает математика Сегодня в модели рабочего коллектива на AnyLogic появились три новые механики — выгорание через накопленную усталость,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru