Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - VBA

Страница: 1 |

 

  Вопрос: Обработка нескольких десятков тысяч строк в Экселе Добавлено: 29.09.07 23:15  

Автор вопроса:  кладовщик
Всем привет. Я работаю оператором ПК на складе, и директор по логистике озадачил меня расчетом некот-х данных.
Необходимо работников склада перевести на сдельную систему оплаты, и для этого нужно проделывать каждый день (мин. отчетный период) ввод данных, их обработку и запоминание введенных данных и расчетных. Задача на данный момент поставлена не полностью, на нашем местном форуме уже кое-какие солюшны поступили.
Интересны комменты компетентных специалистов по задаче. Как это сделать в VBA в Экселе я представляю, но не знаю, как это будет работать на листе с нескольким десятком тысяч строк (число операций за период).
Очень надеюсь на помощь по существу проблемы.
Ссылка на обсуждение на нашем форуме http://www.e1.ru/talk/forum/read.php?f=37&i=113802&t=113802
Есть необходимость каждый день в экселе вводить пару-тройку сотен строчек, обсчитывать их и сохранять результат в файле(вводимые строки + результат). Причем каждый день эти пара-тройка сотен строк в файл будет добавляться, так что за месяц их будет уже порядка десятка тысяч. И, возможно, и в следующий месяц будет та же история, и дальше - пока в действующую на предприятии 1С соответствующие изменения не введут.
По рез-там месяца (а может и вообще в любой день по запросу) нужно будет с этого файла данных генерировать типа запросы/отчеты, т.е. обрабатывать этих строк многие тысячи.
Вопросы к тем, кто в теме:
1. Как вообще вам реализация таких дел с технической стороны? К примеру, на 1-м листе раб. книги экселя всего 65000 что ли строчек находится, и меня тревожат перспективы обсчета такого кол-ва.
2. Может не в Экселе делать, а где-то еще? И где? Есть что-нибудь вроде Free SQL Server и Free VB какие-нибудь? Хотелось бы на будущее отдельно БД где-то на сервере и отдельно код для работы с ней - для оператора и администратора какого-нибудь. Когда я нанимался несколько тысяч накладных набить из экселевского файла, я совсем не планировал базами данных заниматься (( Хочу эту задачу выполнить и опять к набивке документов вернуться.

3. Как быть, что делать?
ЗЫ Об Экселе речь идет отчасти потому, что некот-е исходные данные выгружаются из 1с в экселевский файл и отчасти потому, что это популярная и известная программа на предприятии. Но перспектива иметь дела с листом на несколько десятков тысяч строк меня тревожит. Я за всю свою жизнь больше чем с листом из 12000 строк никаких дел не делал.
ЗЗЫ Скорее всего, начну пока делать в Экселе - за пн что-то рабочее сделаю, но смущает конструирование команды типа Select в VBA. Так что буду рад любым комментам по существу.

Ответить

  Ответы Всего ответов: 6  

Номер ответа: 1
Автор ответа:
 BUMM ®



Вопросов: 8
Ответов: 482
 Профиль | | #1 Добавлено: 29.09.07 23:35
MSAccess

Ответить

Номер ответа: 2
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #2 Добавлено: 30.09.07 03:31
MS SQL
MySql

Короче любая БД на SQL покатит. Несколько десятков тысяч записей не так уж и много. При нормально продуманных запросах, это всё будет доли секудны занимать.

Во до чего техника дошла...;)

А клиентскую часть можно и на VBA, в том же экселе сделать. Пускай оно туды табличкой выводит. Ну или тем же Access'ом, как говорил BUMM. Там может удобнее формочки делать будет для вывода дынных из БД.

Ответить

Номер ответа: 3
Автор ответа:
 User Unknown



Вечный Юзер!

ICQ: uu@jabber.cz 

Вопросов: 120
Ответов: 3302
 Профиль | | #3 Добавлено: 30.09.07 11:26
mysql,cgi,gnuplot,ccmath... Короче что угодно, только не Excel:)

Ответить

Номер ответа: 4
Автор ответа:
 кладовщик



Вопросов: 1
Ответов: 2
 Профиль | | #4 Добавлено: 30.09.07 20:01
А в Акцессе тот же код будет для обращения к ячейкам файла Экселевского файла? Так пойдет
Workbooks.open (path & filename)
varname=workbooks (filename).sheets _("sales";).cells (rownumber, columnnumber)
?

Ответить

Номер ответа: 5
Автор ответа:
 кладовщик



Вопросов: 1
Ответов: 2
 Профиль | | #5 Добавлено: 30.09.07 20:03
varname=workbooks (filename).sheets ("sales";).cells (rownumber, columnnumber).value
так т.е. можно?

Ответить

Номер ответа: 6
Автор ответа:
 mc-black



ICQ: 308-534-060 

Вопросов: 20
Ответов: 1860
 Web-сайт: mc-black.narod.ru/dzp.htm
 Профиль | | #6
Добавлено: 05.10.07 16:04
Я бы не заморачивался по поводу каких-то нескольких десятков тысяч строк и даже с базами данных бы не связывался, т.к. 65536 строк на 1 месяц хватит. SQL для запросов не нужен, у XL есть встроенные фильтры (авто фильтр). При большом числе строк только размер файла станет большим (что в полной мере отностися также и к базам данных).

А если немного отвлечься от темы, то об этом должны были сначала подумать ваши умники-руководители и прежде, чем вводить нововведение сначала обеспечить работу по учету в 1С, чтобы кладовщики занимались непосредственно своими обязанностями.

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам