Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.05.2011, 15:07   #11
clever77
Пользователь
 
Регистрация: 13.04.2011
Сообщений: 58
По умолчанию

Цитата:
Сообщение от kuklp Посмотреть сообщение
Полнейший изврат. Для таких объемов ACCESS. Хотя можно и утюгом гвоздь забить. Вам решать.
Может быть и так....
Однако если Вам надо добраться из пункта А в пункт Б, то быстрее всего на вертолете, проблема в том что управлять вертолетом Вы не умеете и скорее всего поедете на машине по пробкам. Пусть это не так быстро и может быть не так удобно, но Вам это доступно......
А за время пока Вы будете разбираться с управлением вертолетом, Вы можете не один раз съездить из пункта А в пункт Б и обратно......

Так же и у меня с ACCESS и EXCEL.... EXCEL мне ближе Возможно со временем перейду на ACCESS, когда времени будет побольше......

Жизнь показывает что иногда и утюгом приходится гвозди забивать, если молотка под рукой нет, а забить гвоздь важнее, чем потом пользоваться утюгом...... надеюсь не обидел......
clever77 вне форума Ответить с цитированием
Старый 11.05.2011, 15:22   #12
clever77
Пользователь
 
Регистрация: 13.04.2011
Сообщений: 58
По умолчанию

Цитата:
Сообщение от slan Посмотреть сообщение
по-моему ограничено только объемом памяти..

п1 винчестер справится
Спасибо
п.1 попробую, просто думаю что работать с оперативной памятью быстрее, чем с диском, хотя если винчестер справиться (не один ведь EXCEL работет на компьютере, а куча др программ), будет удобнее.
Метод проб и ошибок покажет.

Что касается памяти - работа прогрммы с сохранением данных на листе EXCEL в течении 3-х часов не особо отразилась на работе компа.... Единственное сохранение всего файла стало заметно (занимает какое то время заметное пользователю)

А вот если загнать все данные за весь день в массив???, пока не проверял время покажет........

Спасибо всем что не отставили без внимания.
clever77 вне форума Ответить с цитированием
Старый 11.05.2011, 15:47   #13
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Открыть сразу массив (возможно публичный) на какой-то объём (или на весь) и дополнять его при поступлении данных. По достижении порога скидывать в текст или в другой xls, имена файлам генерить типа yyyy.mm.dd_hh.mm.ss (ss может быть лишнее).
Может быть можно два массива попеременно вести, чтоб не мешало скидывание и наполнение.
Это на мой непрофессиональный взгляд.
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 11.05.2011, 16:16   #14
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Я бы сделал так:
1) завёл текстовую переменную txt
2) при каждом изменении данных на листе формировал текстовую строку, которую добавлял бы справа к переменной txt
3) если длина текста в переменной txt превышает 1000 символов (или, например, 10.000 символов) - дописывал её содержимое в текстовый файл
(функция AddIntoTXTfile)


В результате, в конце дня вы получите один большой текстовый файл (который, при необходимости, можно разбить на части).
Потом - дело техники: считываем этот текстовый файл в двумерный массив - и обрабатываем его.

Последний раз редактировалось EducatedFool; 11.05.2011 в 16:18.
EducatedFool вне форума Ответить с цитированием
Старый 11.05.2011, 16:24   #15
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Если в данных нет привязки ко времени, то при обоих этих способах можно добавлять время импорта данных - в случае проблем легче будет определить, какого куска данных нет.
С текстом конечно проще. Только к концу дня файл вероятно будет большой - не знаю, не будет ли это отражаться на скорости дозаписи в него данных.
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 14.05.2011, 23:22   #16
clever77
Пользователь
 
Регистрация: 13.04.2011
Сообщений: 58
По умолчанию

Цитата:
Сообщение от EducatedFool Посмотреть сообщение
Я бы сделал так:
1) завёл текстовую переменную txt
2) при каждом изменении данных на листе формировал текстовую строку, которую добавлял бы справа к переменной txt
3) если длина текста в переменной txt превышает 1000 символов (или, например, 10.000 символов) - дописывал её содержимое в текстовый файл
(функция AddIntoTXTfile)


В результате, в конце дня вы получите один большой текстовый файл (который, при необходимости, можно разбить на части).
Потом - дело техники: считываем этот текстовый файл в двумерный массив - и обрабатываем его.
А нельзя ли сохранить сразу все данные за весь день (без исп цикла)?

Почему спрашиваю:
Если исп цикл для диапазона А50:А1048576 - это займет порядка 8с, а если исп
X = Range("A50:A1048576") - то менее 1с.
Плюс сохранение в файл

FNUM = FreeFile
Open FNAME For Binary Access Write As FNUM
Put FNUM, , X
Close FNUM

И все файл готов
Единственная проблема в том , что если открыть в текстовом редакторе увидим абра-кадабру, а хотелось бы видеть значения массивов

Можно ли по аналогии, сделать запись файла где будут отражены именно значения данных( разделенных запятой к примеру), а не бинарный код...

Меняю (Binary Access Write) на Output, а (Put) на Write

И…… НЕ работает……
Не могу понять как переменную X преобразовать в строку.....

Спасибо.
clever77 вне форума Ответить с цитированием
Старый 14.05.2011, 23:56   #17
motorway
Участник клуба
 
Регистрация: 28.06.2009
Сообщений: 1,950
По умолчанию

Это у вас случайно не данные типа котировок на Форексе?
motorway вне форума Ответить с цитированием
Старый 15.05.2011, 00:14   #18
clever77
Пользователь
 
Регистрация: 13.04.2011
Сообщений: 58
По умолчанию

Цитата:
Сообщение от motorway Посмотреть сообщение
Это у вас случайно не данные типа котировок на Форексе?
Нет. С форексом не сталкивался, но думаю можно и для этой задачки приспособить.... Правда не понимаю зачем? Насколько мне известно в специализированных программах и так можно строить графики, а раздобыть архив котировок тоже не проблема....Если не ошибаюсь на сайте Finam вроде есть что то подобное.....
Суть очень похожа, там меняются котировки валют, а у меня опытные данные от испыт стенда поступают в комп, просто пытаюсь повысить частоту съема данных....
clever77 вне форума Ответить с цитированием
Старый 15.05.2011, 00:50   #19
clever77
Пользователь
 
Регистрация: 13.04.2011
Сообщений: 58
По умолчанию

Цитата:
Сообщение от motorway Посмотреть сообщение
Это у вас случайно не данные типа котировок на Форексе?
А почему спросили? У Вас есть готовое решение, но только для Форекса?
Не подскажите как решили вопрос с сохранением данных?
clever77 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ограничение по лимиту 0mega Microsoft Office Excel 1 27.05.2010 10:13
Ограничение Excel (до 32768 строки) Garik_ Microsoft Office Excel 7 22.01.2010 22:45
Ограничение на натуральные (дискретные) числа в excel tulik Microsoft Office Excel 8 18.01.2010 21:17
Непонятное ограничение. SAS888 Microsoft Office Excel 6 07.08.2009 13:20
Ограничение прав пользователей в файле excel add_sky Microsoft Office Excel 2 02.08.2009 14:13