|
Унниверсальный запрос на объединение
|
|||
---|---|---|---|
#18+
Добрый день! Не могу найти решения. Есть ограничения по выгрузке из учетной системы, поэтому данные выгружаются в эксель частями потом заливаются в аксесс. Для работы мне нужно объединить эти таблицы в одну. Но имена таблиц все время разные, одинаковый только формат. Можно ли написать универсальный запрос на объединение всех этих табличек в одну? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2019, 11:37 |
|
Унниверсальный запрос на объединение
|
|||
---|---|---|---|
#18+
Marka0506.... поэтому данные выгружаются в эксель частями потом заливаются в аксесс.... И в Тулу из Москвы мы ездим через Владивосток А что нельзя данные добавлять в тбл.АCCESS??? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2019, 11:55 |
|
Унниверсальный запрос на объединение
|
|||
---|---|---|---|
#18+
А какие такие ограничения? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2019, 11:56 |
|
Унниверсальный запрос на объединение
|
|||
---|---|---|---|
#18+
Ограничения на определенные даты и разумеется на количество строк, там не больше 10 тысяч. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2019, 12:01 |
|
Унниверсальный запрос на объединение
|
|||
---|---|---|---|
#18+
Marka0506Можно ли написать универсальный запрос на объединение всех этих табличек в одну?Запрос - нельзя, Access даже не подозревает о существовании динамического SQL... А вот модуль на VBA с этим справится играючи. Всего 5 строк кода-то и нужно... ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2019, 12:02 |
|
Унниверсальный запрос на объединение
|
|||
---|---|---|---|
#18+
Макрос тоже подойдет. Поможете? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2019, 12:05 |
|
Унниверсальный запрос на объединение
|
|||
---|---|---|---|
#18+
Код: vbnet 1. 2. 3. 4. 5.
... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2019, 12:12 |
|
Унниверсальный запрос на объединение
|
|||
---|---|---|---|
#18+
Огромное спасибо! Разобралась. For Each f1 In fc s = f1.Name strFullFileName = folderspec & s DoCmd.RunSQL "insert into _СВОД select * from [Лист1$] in '" & strFullFileName & "'[Excel 12.0; HDR=yes; IMEX=1]" Next ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2019, 13:09 |
|
Унниверсальный запрос на объединение
|
|||
---|---|---|---|
#18+
А можно еще как то сделать чтобы в сведенной таблице в одном из столбцов указывалось наименование файл эксель. Чтобы при необходимости определять источник ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2019, 13:16 |
|
Унниверсальный запрос на объединение
|
|||
---|---|---|---|
#18+
Кто мешает? вставляйте нужный литерал в запрос... Код: vbnet 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2019, 13:19 |
|
Унниверсальный запрос на объединение
|
|||
---|---|---|---|
#18+
Кстати... если уж не хотите указывать конкретный диапазон - указывайте хотя бы столбцы. А то запросто можете получить полей больше, чем в таблице назначения... И добавьте WHERE по какому-нибудь полю - на случай, если точно так же добавятся пустые строки. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2019, 13:22 |
|
Унниверсальный запрос на объединение
|
|||
---|---|---|---|
#18+
Добрый день! Спасибо! У меня такая запись не работает. Ошибку дает. Не совсем понимаю как в такой записи указать в какой конкретно столбец давать информацию о названии файла. Я пока сделала так: DoCmd.RunSQL "insert into _СВОД select * from [Лист1$] in '" & strFullFileName & "'[Excel 12.0; HDR=yes; IMEX=1]" DoCmd.RunSQL "UPDATE _СВОД SET Источник= '" & Mid(s, 1, Len(s) - 5) & "' WHERE [Источник] Is Null" Но если можно в одном запросе, то было бы конечно лучше. Столбцы и строки пока не ограничиваю, выгрузка из системы всегда одинаковая, но если в какой то момент замечу, что выдает мне лишнее - ограничу. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2019, 10:33 |
|
Унниверсальный запрос на объединение
|
|||
---|---|---|---|
#18+
Marka0506У меня такая запись не работает. Ошибку дает.При возникновении ошибки следует: 1) Указывать точно, в какой строке кода возникла ошибка. 2) Указывать точно, какая ошибка - цитировать сообщение о ней, в самом крайнем случае приложить скриншот. 3) Для показанного типа кода - сначала собрать текст параметра в отдельной переменной: Код: vbnet 1. 2. 3. 4. 5. 6. 7.
и показать его вместе с информацией по ошибке. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2019, 11:25 |
|
Унниверсальный запрос на объединение
|
|||
---|---|---|---|
#18+
Marka0506, вот эта маята с запросами а напаркуа? создали объект, нашли лист, взяли данные хоть через currentregion, хоть ыерез usedrange, проанализировали, положили аккуратненько в таблицу, зачем сваливать в Аксесс в кучу? мало того что объем разбухает, так ведь потом обрабатывать то все равно надо. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2019, 11:37 |
|
Унниверсальный запрос на объединение
|
|||
---|---|---|---|
#18+
Marka0506Есть ограничения по выгрузке из учетной системы, поэтому данные выгружаются в эксель частями потом заливаются в аксесс. Для работы мне нужно объединить эти таблицы в одну. Но имена таблиц все время разные, одинаковый только формат одно время мне часто приходилось объединять порции и умные excel и access меня то того утомили , что я стала объединять порции из екселя, программно формируя текстовый файл с добавлением апострофа перед каждым полем и имени порции в каждую строку из строки где 12.10 -не дата и лидирующие нули 02 нельзя терять и 5557777777777777777 это расчетный счет 1010212.10555777777777777777720.12.2018 я делала '101;'02;'12.10;'5557777777777777777;'20.12.2018;'имя_порции;'порядковый номер далее импортировала в рабочую таблицу аксесс как символьные поля и уже в а аксесс проверяла корректность данных, некоторую корректировку, иногда удаляла пачку(для правки исходника в ексель) и перезапись с основную таблицу может это и лишние шаги, но они меня устроили на 100%, уж слишком плохое было качество исходников ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2019, 12:02 |
|
Унниверсальный запрос на объединение
|
|||
---|---|---|---|
#18+
ПЕНСИОНЕРКАпрограммно формируя текстовый файл с добавлением апострофа перед каждым полем+100500 PS. Я думал, это только меня они смогли достать до того, что пришлось изобрести этот приём... наверное, даже ещё где-то в старых архивах валяется пара файлов с написанным универсальным модулем для подобной ерунды. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2019, 12:57 |
|
|
start [/forum/topic.php?fid=45&msg=39849668&tid=1610526]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
40ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
50ms |
get tp. blocked users: |
2ms |
others: | 310ms |
total: | 447ms |
0 / 0 |