|
Помогите с оптимизацией задачи | ☑ | ||
---|---|---|---|---|
0
marshalbratsk
07.12.16
✎
07:03
|
Нужно сделать одну задачу, есть идея как релизовать, но хотелось бы узнать советов у более опытных программистов, как эту идею можно релизовать лучшее, удобнее и не забивать память.
Имеется запрос с которого делаем выгрузку, имеется файл экселя (структура таблицы для загрузки), в который нужно вбить данные с этой выгрузки, но в этом файле имеется группировка с пустыми полями по столбцу "Счёт", которую необходимо сохранить (например под Счёт 10 выделено 1000 строк и в них надо вбивать данные, затем идёт Счёт 11, под который нужно вбивать другие данные). Делалось это до меня и нужно сохранить форму как она есть, но вбивать туда данные с запроса. Хочу перестраховаться, если например будет больше 1000 строк Счёта 10 и надо будет добавлять строки и сбивать индексы. Есть мысля как это сделать, но хотелось бы узнать мнение остальных //Задаём индесы ДобавленныеСтроки=0; //Счётчик добавленных строк Счёт10Начало=10; //Начало группы, куда вбиваем данные выгрузки Счёт10Конец=900; //Конец группы Счёт10Кол=0; //Количество счетов Для каждого стр из выборка цикл Если стр.Счёт=10 Тогда Если СчётКол<Счёт10Конец-Счёт10Начало Тогда //Если количество записей меньше допущенного количества записей ИндексСтроки=Счёт10Кол+ДобавленныеСтроки; //Заполняем данные Счёт10Кол=Счёт10Кол+1; Иначе ИндексСтроки=Счёт10Кол+ДобавленныеСтроки; // Добавляем строку эксель // Заполняем данные Счёи10Кол=Счёт10Кол+1; ДобавленныеСтроки=ДобевленныеСтроки+1; Иначе Если //Продолжаем с другими счетами по аналогии Спасибо |
|||
1
VladZ
07.12.16
✎
07:05
|
(0) Ничего не понял
|
|||
2
marshalbratsk
07.12.16
✎
07:27
|
http://hkar.ru/Mvsx
Вот тут файл эксель, в котором видна группировка сворачиваемая, куда нужно втыкать данные с выборки, группируя по полю Счёт |
|||
3
marshalbratsk
07.12.16
✎
07:27
|
(2) по колонке Номер субсчёта, прошу прощения
|
|||
4
Мимохожий Однако
07.12.16
✎
07:34
|
(0)"если например будет больше 1000 строк Счёта 10 и надо будет добавлять строки и сбивать индексы. " вот это расшифруй.
Куда денешь то, что не помещается? |
|||
5
Это_mike
07.12.16
✎
07:36
|
(0)
сначала нужно протрезветь. потом написать вопрос чтоб понятно было не только тебк.. |
|||
6
marshalbratsk
07.12.16
✎
07:46
|
(4) Допустим до 1000 строки я просто записываю данные в уже созданные ячейки, индекс просто добавляю в цикл и всё, но если больше 1000 строк одного счёта идёт, то тогда я добавляю строку новую в экселе (Insert()),чтобы не залезть в другой счёт и тем самым сбиваю индексы для последующих записей.
|
|||
7
VladZ
07.12.16
✎
07:51
|
(2) Отличная картинка. Только бестолковая. Какая информация из всего этого является нужной? О каких 1000 строках идет речь? Что такое "Счёта 10"?
Что хочу сказать в итоге: правильно заданный вопрос содержит половину ответа. На текущий момент формулировка вопроса не содержит смысла вопроса. |
|||
8
LevelUP
07.12.16
✎
08:30
|
(0) Запоминай смещение в переменную. Потом прибавляй, чтобы получить адреса следующих группировок. Отлаживай, сделай так, чтобы запрос вернул овер1000 строк и смотри правильно ли встали строки.
|
|||
9
Лефмихалыч
07.12.16
✎
08:33
|
(0) а почему просто не формировать с нуля файл экселя с такими же группировками? Зачем заполнять существующий?
|
|||
10
LevelUP
07.12.16
✎
08:35
|
(9) там, наверное, формулы аццкие в книге
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |