|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
13.07.2014, 09:56 | #1 |
Форумчанин
Регистрация: 09.08.2013
Сообщений: 202
|
Обновляемая БД (help)
Добрый день!
Прошу помощи в реалицизии таблицы. Во вложении два файла. Юзер и Ценрализованный Задача. Централизованный файл не имеет макросов и лежит в папке (xls) Юзер файл имеет макрос который по запуску открывает файл "Централизованный" и в случае если в столбце А (файл Юзер) есть новое значение/ячейка (которого нет в файле Централизованный также в столбе А), он копирует эту строку(добавляет снизу). На примере этих файлов ячейка со значенгием 6437 (Юзер), должна быть скопирована в файл Централихзованный - сама строка со всеми данными, т.к она там отсутствует. Также было бы отлично если макрос копировал массово несколько новых строк). Донат никто не отменял. Нужно реализовать. Спасибо!!! |
13.07.2014, 12:00 | #2 |
Форумчанин
Регистрация: 21.10.2012
Сообщений: 208
|
Посмотрел и не нашёл у юзера макросов. Наверно его надо написать?
вариант . Последний раз редактировалось Stilet; 13.07.2014 в 14:35. |
13.07.2014, 14:24 | #3 |
Форумчанин
Регистрация: 09.08.2013
Сообщений: 202
|
Браво! Изучаю код.
Теперь немного сложнее. Завершающий штришок) Что если Юзер поменял данные в уже перемещенный в Центр. строчку? Нужно проверить массивчик и свлучае измены, изменить эту ячейку (ячейки) и показать в msgbox какие строки он поменял. Пример во вложении. Ячейка B2 поменялась, была вектор стала колбаса.(может быть несколько значений) Нужно чтобы он перенес это изменение в Ценролизованный файл и вывел в msgbox такое сообщение "Данные строки 4532 изменены", или несколький строк в случае измены. |
13.07.2014, 19:09 | #4 |
Форумчанин
Регистрация: 21.10.2012
Сообщений: 208
|
|
13.07.2014, 19:41 | #5 |
Форумчанин
Регистрация: 09.08.2013
Сообщений: 202
|
|
13.07.2014, 22:36 | #6 |
Форумчанин
Регистрация: 21.10.2012
Сообщений: 208
|
Сделать подобное не сложно, если знать как) У меня реализовано сравнение массива со словарём. Ключи словаря формируются по первой колонке. Если будут изменения в ней, то строка просто добавится в конец таблицы. Как искать строки? Есть в файле что-то постоянное?
Да и с сообщениями муть какая-то, ведь если человек сам что-то изменил зачем ему об этом говорить? А мой предыдущий пост должен был подзадорить на самостоятельную работу. Последний раз редактировалось kalbasiatka; 13.07.2014 в 23:57. |
14.07.2014, 04:08 | #7 | |
Форумчанин
Регистрация: 09.08.2013
Сообщений: 202
|
Цитата:
после того как макрос проверки уникальности чисел сработал (ваш первый макрос) и добавил строки, после этого код (который нужно прописать далее) сравнивает числа и изменения с столбах B:J первого и второго файла (Юзер и Центролизованный) по полю в cтолбе А. И изменяет их в файле Центролизованный. Вот и все. Если "несложно" жду вариантов)))) Спасибо. |
|
14.07.2014, 06:43 | #8 |
Старожил
Регистрация: 05.12.2007
Сообщений: 4,180
|
А какое (приблизительно) количество строк в таблицах обоих файлов?
Можно просто в цикле пройтись по значениям столбца "A" файла "Юзер", искать это значение в столбце "A" файла "Ценролизованный" и, в случае обнаружения такого значения, копировать целиком строку вместо существующей (не важно, есть ли там изменения, или нет). А в случае, если такого значения нет - добавлять строку в конец таблицы.
Чем шире угол зрения, тем он тупее.
|
14.07.2014, 07:05 | #9 | |
Форумчанин
Регистрация: 09.08.2013
Сообщений: 202
|
Цитата:
Строк по идее будет сначала мало а потом много где то 350. Реально сделать? |
|
14.07.2014, 07:19 | #10 | |
Форумчанин
Регистрация: 09.08.2013
Сообщений: 202
|
Цитата:
Ничего страшного)) |
|