Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.58/19: Рейтинг темы: голосов - 19, средняя оценка - 4.58
0 / 0 / 0
Регистрация: 30.10.2013
Сообщений: 21

Передача данных в Access

30.10.2013, 14:17. Показов 4264. Ответов 44
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, обращаюсь к вам за помощью и очень на нее надеюсь )). Понимаю, что такие темы уже были, но не найдя ответа, спрошу еще раз. В ecxel есть три листа с данными их нужно перенести в access, обработать, а потом обратно одной табл. что-то никак не получается. с VBA раньше работать не приходилось, задача для меня оказалась сложной. если можно код vba, с самого начала (переменные, подкл. к базе). очень спасибо )
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
30.10.2013, 14:17
Ответы с готовыми решениями:

Передача всех данных из листа Exel в Access
как все данные из листа Exel передать в Access(можно в новую)

Передача данных из таблицы Access
Есть клиент и сервер. К серверу подключена база данных Access. Связь между клиентом и сервером осуществляется с помощью сокетов. Сервер...

Передача данных из access в онлайн касс
Есть база данных в которой формируется чек по продажам. Возможно ли передача данных данного чека в ККТ с фискальным регистратором? ...

44
 Аватар для Alex77755
11525 / 3812 / 683
Регистрация: 13.02.2009
Сообщений: 11,229
30.10.2013, 18:40
Стесняюсь спросить: А чем вызвано такое требование: именно в аксессе поизводить обработку и потом опять возвращать в ексел? Что можно сделать в аксессе такого, чего нельзя сделать в екселе?
1
0 / 0 / 0
Регистрация: 30.10.2013
Сообщений: 21
31.10.2013, 08:20  [ТС]
Цитата Сообщение от Alex77755 Посмотреть сообщение
Стесняюсь спросить: А чем вызвано такое требование: именно в аксессе поизводить обработку и потом опять возвращать в ексел? Что можно сделать в аксессе такого, чего нельзя сделать в екселе?


Здравствуйте, не стесняюсь ответить, мне в екселе нужно сделать кнопочку, по которой бы происходила обработка. три листа-три разных выгрузки из бд, план продаж и два рез-та, таблицы ре-тов имеют разную структуру, там необходимо искл некоторые записи, исключенные вычесть из табл два, затем все соединить в одну табл и сделать отчет. Надеюсь изложено понятно. Если не код переноса данных, то ссылочку, где бы был подробный пример (ну как для студента). Спасибо
0
 Аватар для Alex77755
11525 / 3812 / 683
Регистрация: 13.02.2009
Сообщений: 11,229
31.10.2013, 09:30
Всё это можно с успехом сделать непосредственно в екселе.
Выложите файлы что есть и что надо получить
0
0 / 0 / 0
Регистрация: 30.10.2013
Сообщений: 21
31.10.2013, 10:51  [ТС]
Цитата Сообщение от Alex77755 Посмотреть сообщение
Всё это можно с успехом сделать непосредственно в екселе.
Выложите файлы что есть и что надо получить
здесь часть данных, а полностью табл ок. 10000 строк. Эту операцию необходимо делать регулярно, вручную оч.долго нужно автоматизировать, но как пока не сообразить (
Вложения
Тип файла: xlsx Исходн_дан.xlsx (51.6 Кб, 11 просмотров)
0
 Аватар для Alex77755
11525 / 3812 / 683
Регистрация: 13.02.2009
Сообщений: 11,229
31.10.2013, 11:01
Другой вариант: Если три разных листа-выгрузки не нужны в екселе (да, в принципе, если и нужны), то нужную таблицу сделать непосредственно в аксессе и так же выгружать в ексел готовую таблицу.
Я просто не пойму зачем выгруженную из аксесса таблицу переносить снова в аксесс. Ведь она там есть
Вот увидел файлики появились.
Вечером гляну - сейчас надо отлучиться

Добавлено через 8 минут
Мельком глянул - первое замечание-вопрос:
Обязательно ли делать объединение ячеек?
Лучше бы этого не делать
То что должно получиться начинается со строки 60?
Я бы сделал это макросом.
Некоторые предпочитают мощьный инструмент "Сводные таблицы"
Но я в них почти никакой. Только поверхностно
0
0 / 0 / 0
Регистрация: 30.10.2013
Сообщений: 21
31.10.2013, 12:45  [ТС]
Он самый,макрос, мне и нужен. Данные выгружаются не из аксесса, из разных БД, ячейки объединять не нужно нужно сделать замену в соответствии с категорией товара, здесь вообще нет результата, все что на листах только исходные данные, и инфа для соответствия (что к чему относится), рез-тат:

|город|№фирмы|название|план|факт|отклоне ние|

Сводные табл я знаю не подходит (нет соответствия в таблицах, в одной только категория товара, а в другой товар, который относится к этой категории), при обработке вручную уходит часа два, не вариант (слишком много условий и исключений)

Мне нужно сделать так, чтоб вручную аксесс не запускать, открыть эксел, запустить макрос. Как это можно реализовать?
0
 Аватар для Alex77755
11525 / 3812 / 683
Регистрация: 13.02.2009
Сообщений: 11,229
31.10.2013, 15:09
1. Таблицы уже в екселе? Я имею в виду как происходит выгрузка? Уже реализовано? и уже есть файл с таблиами?
2. Нужен образец, как должен выглядеть результат
0
0 / 0 / 0
Регистрация: 30.10.2013
Сообщений: 21
31.10.2013, 15:28  [ТС]
файл уже есть
0
 Аватар для Alex77755
11525 / 3812 / 683
Регистрация: 13.02.2009
Сообщений: 11,229
31.10.2013, 20:16
Тогда дело за малым: образец что надо получить.
Желательно именно файлы источники и что надо получить из них.
Потому, что описание можно неправильно понять человеку не знакомому с вашей спецификой.
Например как должен выглядеть результат из файлов во вложении
0
0 / 0 / 0
Регистрация: 30.10.2013
Сообщений: 21
02.11.2013, 22:07  [ТС]
Файл, хорошо, сокращен, целиком монтстру загрузить нельзя - велик. Спасибо за отклик и за потраченное время )
Вложения
Тип файла: xlsx Исходн_данные_.xlsx (79.8 Кб, 9 просмотров)
0
 Аватар для Alex77755
11525 / 3812 / 683
Регистрация: 13.02.2009
Сообщений: 11,229
03.11.2013, 15:55
Ну неужели нельзя сделать пример что должно получиться на реальных данных?
По объяснению ничего не могу понять
m1 в этом массиве данных нужно взять все, ктоме NKA (AEROFLOT, AUCHAN, CINEMA,LENTA, LUKOIL, MAGNIT, METRO, NKA IC HoReCa,
Я очень стесняюсь спросить: откуда брать-то? С какого листа?
пример что есть
CPL CPL NAME Business 9
Опять стесняюсь спросить: Где есть-то? На каком листе?
Во вложенном файле нет таких шапок.
На листе РЕЗ1
Demand Area Cust. Planning Level CPL Customer cust num Item Category MTD Act
на листе РЕЗ2
Demand Area Cust. Planning Level CPL Item Category HV Act
То, что в примере показано как должно быть: Откуда берётся число 4425701
Написано, что из плана, но там три строчки для кода 386101 и все касаются только Juice
386101 Distributor 3912 Juice 1 050 000
386101 Distributor 3912 Juice 186 496 220 405 220 405 186 496 1 169 840
386101 Distributor 3810 Tomsk Juice 30 000 30 000 30 000 30 000 180 000

2 399 840
0
0 / 0 / 0
Регистрация: 30.10.2013
Сообщений: 21
04.11.2013, 12:49  [ТС]
Здравствуйте, надеюсь что на этот раз у меня получилось дать подробное, вернее понятное объяснение на примере. Да, объяснить что необходимо сделать, тоже нужно уметь ))))
Вложения
Тип файла: rar Исходн_данные_.rar (59.7 Кб, 6 просмотров)
0
 Аватар для Alex77755
11525 / 3812 / 683
Регистрация: 13.02.2009
Сообщений: 11,229
04.11.2013, 14:35
Получилось описать таблицы в аксес. Но не получилось объяснить откуда берутся данные.
Ну попросил же сделать пример на тех данных, которые приложены.
1. На листе План колонка "9" находится в столбце "Y" (25), а всего колонок в таблице 29
А на примере колонка "9" находится в столбце "T" (20).
Это надо понимать, что исходные данные могут меняться и надо привязываться к наименованиям колонок?
Наименования будут? А то в первых файлах шапки не было.
талько из этих полей нужно сформировать таблицу в Аксесс
И до сих пор непонятно: зачем всё-таки передавать данные в аксесс? Что такого умеет делать аксесс чего не сможет сделать ексел
0
0 / 0 / 0
Регистрация: 30.10.2013
Сообщений: 21
04.11.2013, 15:25  [ТС]
Данные во всех трех таблицах сливаются из базы, вы верно заметили несоответствие все должно быть так как на листе план, просто сначала некоторые колонки на листе план были скрыты, данные скопированы оттуда, а вставились данные на примере конечно в другом количестве. Но правильно так как на листе план 9 будет в Y. в этих таблицах будут наименование колонок.

А если не передавать таблицы в аксесс, то как можно в экселе собрать одну таблицу из нескольких и суммировать данные по категориям товара?
0
3218 / 967 / 223
Регистрация: 29.05.2010
Сообщений: 2,087
04.11.2013, 16:04
Вот в пояснении "сложить значения по одинаковой категории товара" - а какое поле имеет сведения о категории товара?
0
0 / 0 / 0
Регистрация: 30.10.2013
Сообщений: 21
04.11.2013, 16:14  [ТС]
Поле Item Category на листах рез1 и рез2
0
 Аватар для Alex77755
11525 / 3812 / 683
Регистрация: 13.02.2009
Сообщений: 11,229
04.11.2013, 16:30
можно в экселе собрать одну таблицу из нескольких
Существует несколько способов.
Можно так же как и аксессе с помощью запросов.
Можно только на массивах.
Но для меня проще с помощью массивов и словарей.
В массивы считать данные. В словарях собрать суммы. Потом сформировать нужный выходной массив и вывалить на лист
0
0 / 0 / 0
Регистрация: 30.10.2013
Сообщений: 21
04.11.2013, 16:42  [ТС]
Скажу честно, в екселе давно не приходилось работать это первая серьезная задача, для меня сложная. Как обрабатывать в екселе или аксесе не принципиально. по поводу массивов тоже была мысль, значит действительно можно. За любую вашу помощь скажу Спасибо
0
 Аватар для Alex77755
11525 / 3812 / 683
Регистрация: 13.02.2009
Сообщений: 11,229
04.11.2013, 16:50
Ну в первом приближении я делаю так:

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
Dim oDP: Set oDP = CreateObject("Scripting.Dictionary")  ' Создаем словарь
With Worksheets("План")
    LR = .Cells(.Rows.Count, 1).End(xlUp).Row
    MI = Range(.Cells(1, 1), .Cells(LR, 16))
End With
 
        For R = 2 To LR
'формируем строку уникальности (заодно в ключах все нужные поля)
            T = MI(R, 4) & ";" & MI(R, 5) & ";" & MI(R, 7) & ";" & MI(R, 8) & ";" & MI(R, 10) & ";" & MI(R, 11)
            oDP.Item(T) = oDP.Item(T) + MI(R, 7)
        Next R
MR = oDP.Keys
потом split разбиваем ключ на поля, а из Item берём сумму
Я немного набросал, но сейчас стал переделывать что бы программа искала сама нужные поля по заголовкам.
Если таблицы 100% не будут меняться от этой функции лучше отказаться
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
04.11.2013, 16:50
Помогаю со студенческими работами здесь

передача разнотипных данных из Exel в Access
Здравствуйте! помогите мне, пожалуйста! Имеется таблица в EXEL с разными типами данных. Данные нужно передать в три разные таблицы Access....

передача разнотипных данных из Excel в Access
Здравствуйте! помогите мне, пожалуйста! Имеется таблица в EXEL с разными типами данных. Данные нужно передать в три разные таблицы Access....

Передача данных из DBF в таблицы в Access
Помогите решить проблему! Решил отказаться от использования ISAM драйверов в своей программе. Делаю выборку данных из файлов DBF и...

Медленная передача данных из Access на SQL Server
Столкнулся с не совсем понятной ситуацией - простой INSERT, который передает данные из локальной таблицы на удаленный север работает очень...

Передача данных из Access в браузер Google Chrome
Здравствуйте! Собственно вопрос: как передать данные из Access в открытую страничку браузера Google Chrome для заполнения кучи полей в...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Подключение Box2D v3 к SDL3 для Android: физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru