powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / кто подскажет очень нужно???
42 сообщений из 42, показаны все 2 страниц
кто подскажет очень нужно???
    #36941109
Не могу решить вопрос...
В прикрепленном файле Excel
несколько колонок с данными.
С помощью мастера запросов SQL я извлекаю все данные
в другую книгу. НО часть данных не извлекается.
Причем есть какая то зависимость от 2ой строки. При определенных условиях извлекаются только числа при других только текст

Мне необходимо чтобы вся информация и числа и текст и даты извлекались по запросу.
И где можно почитать про это...
Спасибо!
...
Рейтинг: 0 / 0
кто подскажет очень нужно???
    #36941163
f
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нужно понять, что таблица Excel это не база данных и поэтому операции, применимые к базам данных применимы к нему только при определенных условиях.
Поэтому, если хотите использовать запросы SQL, используйте в качестве хранилища данных СУБД, а не электронную таблицу.
Вот и все, что можно по этому поводу прочитать.
...
Рейтинг: 0 / 0
кто подскажет очень нужно???
    #36941410
кладовщик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Константин Сочи, Вам нужно лист файла-источника преобразовать в таблицу БД. Насколько я понимаю, оставить только 1 строку , в кот-й будут названия столбцов.
...
Рейтинг: 0 / 0
кто подскажет очень нужно???
    #36941491
Фотография Shamanus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Константин СочиНе могу решить вопрос...
В прикрепленном файле Excel
несколько колонок с данными.
С помощью мастера запросов SQL я извлекаю все данные
в другую книгу. НО часть данных не извлекается.
Причем есть какая то зависимость от 2ой строки. При определенных условиях извлекаются только числа при других только текст

Мне необходимо чтобы вся информация и числа и текст и даты извлекались по запросу.
И где можно почитать про это...
Спасибо!
Если извлекаемость зависит от содержимого, то у меня была аналогичная проблема.
Суть проблемы в том, что при попытке извлечения данных из xls/csv заранее неизвестен тип поля содержащего данные, в частности число/не число и встроенный в винду JET, который и выполняет этот запрос, определяет тип содержимого по первым N записям. По умолчанию по 10 если я не ошибаюсь.

Иными словами если первые 10 записей число, то тип поля воспринимается как числовое. И если в 11 строке будет текст, запрос "взорвется".

Есть ключик в реестре, который позволяет этой глубиной управлять, беда в том, что он имеет ограничения по максимуму и мне лично игра с этим ключем не помогла.
...
Рейтинг: 0 / 0
кто подскажет очень нужно???
    #36942022
Кладовщик,
дело в том, что мне необходимо при вызове обновления данных
извлечь все что есть.
А получается так: если во второй строке ,к примеру, находится число, то извлекаются с ряда только числа, если текст то извлекается текст. и.т.д.
...
Рейтинг: 0 / 0
кто подскажет очень нужно???
    #36942033
Так какой может быть здесь выход?
Какие есть еще способы сплошного извлечения данных.
Может быть макросом не открывая книгу-источник???
Или есть еще какие нибудь программы, приложения?
...
Рейтинг: 0 / 0
кто подскажет очень нужно???
    #36942175
Deggasad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно макросом открывать книгу, копировать все данный в нужную, и закрывать. При отключенном пересчете, обновлении экрана и на нормальном компе занимает не очень много времени. У меня 60 файлов по 3Мб открываются и закрываются менее чем за 20сек.
...
Рейтинг: 0 / 0
кто подскажет очень нужно???
    #36942363
У меня 27 колонок данных и около 2-4 тыс строк. = 100 тыс ячеек.
Из закрытой книги когда извлекает данные макросом, компьютер виснет...
...
Рейтинг: 0 / 0
кто подскажет очень нужно???
    #36942407
Deggasad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не понял к чему предыдущее? т.к. непонятно что вы делаете?
Если нужна помощь опишите ситуацию, что нужно делать, что получить в итоге и что не получается. Приложите тестовый пример.
...
Рейтинг: 0 / 0
кто подскажет очень нужно???
    #36943319
zchvv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот результат запроса Select * from [ЗОЛОТО$], перед запуском удалил две верхние строки (или прибамбасы, или функциональность. Я всегда выбираю 2-е).
...
Рейтинг: 0 / 0
кто подскажет очень нужно???
    #36943324
zchvv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Прошу прощения. не тот файл прикрепил.
...
Рейтинг: 0 / 0
кто подскажет очень нужно???
    #36943353
zchvv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
кто подскажет очень нужно???
    #36943402
Почему то в файле не заметил запроса...
...
Рейтинг: 0 / 0
кто подскажет очень нужно???
    #36943447
zchvv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это именно результат запроса. Для формирования текстов запросов и их запуска у меня есть специально написанное приложение (используется ADO). А текст запроса я привел.
...
Рейтинг: 0 / 0
кто подскажет очень нужно???
    #36943609
Deggasad
Проблема такая. Есть крупная база данных excel. Несколько лет работы...
Так уж получилось что ряды данных содержат смешанные форматы (числа текст даты). Одни товары с артикулом - числом другие артикул-текст и.т.д.
Переходить на реляционные базы не хочу.
Поэтому проблема в том что запрос почемуто извлекает либо текст либо числа - в зависимости от содержания первых ячеек.
Если средствами "query" это невозможно в принципе то как тогда???
Я других приложений не знаю. Макрос виснет после такого объема данных.
...
Рейтинг: 0 / 0
кто подскажет очень нужно???
    #36943854
ZVI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ответил в дубликате темы: Запрос из внешнего источника xls
Запросы не работают со смешанными типами данных, продолжать искать решение в этом направлении бесперспективно.
Помогут только макросы. Если они есть и тормозят, то имеет смыл заняться из оптимизацией – выкладывайте код.
...
Рейтинг: 0 / 0
кто подскажет очень нужно???
    #36943959
Фотография Shamanus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Константин Сочи,

создать первых 10 записей, которые потом фильтром из запроса убирать. Но эти 10 записей должны однозначно описывать тип поля.

Либо если хронология не важна, отсортировать такие записи вверх и всего делов.
...
Рейтинг: 0 / 0
кто подскажет очень нужно???
    #36944122
Deggasad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Почти уверен что ваша проблема решается очень легко, но вы упорно пишете, что вам нужо чтобы правильно работал запрос, а я Вам говорю что запрос - всего лишь средство и прошу сделать тестовый пример: какие данные есть и какой результат должен получиться на выходе. Вам быстро помогут как только вы это сделаете и перестаните писать, что неработает запрос.
...
Рейтинг: 0 / 0
кто подскажет очень нужно???
    #36944153
PlanB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Константин СочиDeggasad
Проблема такая. Есть крупная база данных excel. Несколько лет работы...
Так уж получилось что ряды данных содержат смешанные форматы (числа текст даты). Одни товары с артикулом - числом другие артикул-текст и.т.д.
Переходить на реляционные базы не хочу.
Поэтому проблема в том что запрос почемуто извлекает либо текст либо числа - в зависимости от содержания первых ячеек.
Если средствами "query" это невозможно в принципе то как тогда???
Я других приложений не знаю. Макрос виснет после такого объема данных.ну, квери читает, как вы сами правильно заметили, лишь несколько полей, по которым пытается определять тип всего поля. я в своё вряемя тупо первую строку базы забивал строкой, в которой был текст, где текстовое поле или циферки, где числовое.
попробуйте
...
Рейтинг: 0 / 0
кто подскажет очень нужно???
    #36945020
Хорошо выкладываю образец еще раз.

Все числовые данные извлекаются нормально за исключением текстовых значений в 8 колонке J:J "Артикул".Тут текст заменяется на Null.

Если первая строка "артикул" будет числом то последующие числа все отображаются но теперь пропадают текст.
Как кто то уже упомянул, запросы не работают со смешанными данными, а если это так то и не стоит в этом направлении голову ломать., не так ли.
...
Рейтинг: 0 / 0
кто подскажет очень нужно???
    #36945466
PlanB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Константин СочиХорошо выкладываю образец еще раз.спасибо большое, Константин Сочи, за выложенный 21 сообщением в топике пример!! наконец, вам можно помочь..

поменяйте формат столбца с артикулом на текстовый в базе данных и будет вам счастье =))
...
Рейтинг: 0 / 0
кто подскажет очень нужно???
    #36945743
Не целесообразно подстраиваться под разных поставщиков товаров.
Одни выдают артикул цифровой другие текстовый. приходится их ставить в один ряд.

Тысячи строк вводить потом менять форматы...
А когда меняю форматы чисел на текст - перестают работать формулы подсчетов и.т.д.

А вводить свой собственный формат, к примеру только числовой, тогда приходися печатать на товар этикетки с штрих-кодом внутренним.
Вообщем это не решение.
...
Рейтинг: 0 / 0
кто подскажет очень нужно???
    #36945786
Deggasad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Константин Сочи....
Как кто то уже упомянул, запросы не работают со смешанными данными, а если это так то и не стоит в этом направлении голову ломать., не так ли.
Так стоит голову ломать или нет, я что-то не пойму?
Вы в итоге опять написали какая есть проблема, но не указали желаемый результат?
Вы наверное никогда не родите поэтому спрошу сам:
Правильно ли я понимаю задачу, что по нажатию кнопки "обновить" в книге "Книга с запросом" все данные исходного листа в книге "база" должны перенестись на лист1 в книгу "Книга с запросом"?
или может быть нужно чтобы запрос заработал правильно и другие варианты не рассматриваются?

З.ы.: поле таки можно сделать текстовым полностью и все формулы сделать чтобы корректно работали и все остальное, если хотите это тоже можно отдельно обсудить, вы просто ничего не хотите толком
...
Рейтинг: 0 / 0
кто подскажет очень нужно???
    #36946151
ZVI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так как требуется импорт всех данных, аналогично запросу SELECT * FROM …, то для быстрого импорта смешанных типов данных из закрытого Excel файла можно воспользоваться комбинацией макроса и недокументированным свойством Excel-формул возвращать массив данных из внешнего источника.

Пример приложен.
...
Рейтинг: 0 / 0
кто подскажет очень нужно???
    #36946553
Deggasad спасибо конечно но Я же уже скока раз повторил свою проблему.
Запрос отсеивает половину данных, так как где то числа где то текст.
Самому менять в источнике числа на текст или текст на числа это нецелесообразно,
Да и сам замысел не тот чтобы подстраиваться под всех и под каждый случай.

Вот ZVI решил эту проблему макросом четко. 1 секунда и все данные в книге (и неважно в каком они там виде записаны) ... Спасибо всем.
...
Рейтинг: 0 / 0
кто подскажет очень нужно???
    #36946612
Deggasad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ZVI,
МегаКруть, не думал о таком (хотя давно хотел что-то подобное смастерить), не знаю насколько быстрее от всех остальных вариантов (например непрерывный массив формул сделать), но мне нравится сохраню для коллекции

Единственное зачем вот эта строка?
Код: plaintext
      .Columns.AutoFit
...
Рейтинг: 0 / 0
кто подскажет очень нужно???
    #36946631
Deggasad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Константин СочиDeggasad спасибо конечно но Я же уже скока раз повторил свою проблему...
...
Вот ZVI решил эту проблему макросом четко...
Товарисч, ZVI решил проблему обозначенную мной, на основании вымученного мной же примера, поэтому не очень понятно ваше ...,НО... в обращении ко мне.
Константин Сочи... Спасибо всем.
Приму это на свой счет, чтобы не думать о тебе плохо.

З.ы.: единственный минус быстрого решения ZVI - ты так и не научился задавать вопрос :(
...
Рейтинг: 0 / 0
кто подскажет очень нужно???
    #36946851
ZVIТак как требуется импорт всех данных, аналогично запросу SELECT * FROM …, то для быстрого импорта смешанных типов данных из закрытого Excel файла можно воспользоваться комбинацией макроса и недокументированным свойством Excel-формул возвращать массив данных из внешнего источника.

Пример приложен.

А не сложно подсказать где в этом коде прописать путь к файлу "База1" если к примеру он на другом диске.
...
Рейтинг: 0 / 0
кто подскажет очень нужно???
    #36946877
DeggasadКонстантин СочиDeggasad спасибо конечно но Я же уже скока раз повторил свою проблему...
...
Вот ZVI решил эту проблему макросом четко...
Товарисч, ZVI решил проблему обозначенную мной, на основании вымученного мной же примера, поэтому не очень понятно ваше ...,НО... в обращении ко мне.
Константин Сочи... Спасибо всем.
Приму это на свой счет, чтобы не думать о тебе плохо.

З.ы.: единственный минус быстрого решения ZVI - ты так и не научился задавать вопрос :(

Ничего плохого ни кому не желаю. :)
Наоборот Вы все - Светлые головы, спасибо Вам за общение... и помощь
...
Рейтинг: 0 / 0
кто подскажет очень нужно???
    #36947856
ZVI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Degassad, спасибо за «МегаКруть» :-)
Тоже гадал дописывать или очищать и проч., но решил на основе Вашего видения задачи привести вариант без заморочек, чтобы показать сам принцип.
Выравнивание ширины столбцов с помошью .Columns.AutoFit – это для удобства, не принципиально конечно.

Константин, приложил вариант с переменой XlsFilePath, в которой можно прописать папку с XLS-файлом данных. Можно вызывать и диалоговое окно для выбора файла данных, но это уже нехитрое дело.

Нужно учитывать, что форматирование ячеек, куда производится импорт приведенным методом, нужно делать самостоятельно либо вручную, как у меня в примере, либо кодом.
...
Рейтинг: 0 / 0
кто подскажет очень нужно???
    #36947865
ZVI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ZVIDegassad, спасибо
Извиняюсь за опечатку, Deggasad
...
Рейтинг: 0 / 0
кто подскажет очень нужно???
    #36948081
ZVIDegassad, спасибо за «МегаКруть» :-)
Тоже гадал дописывать или очищать и проч., но решил на основе Вашего видения задачи привести вариант без заморочек, чтобы показать сам принцип.
Выравнивание ширины столбцов с помошью .Columns.AutoFit – это для удобства, не принципиально конечно.

Константин, приложил вариант с переменой XlsFilePath, в которой можно прописать папку с XLS-файлом данных. Можно вызывать и диалоговое окно для выбора файла данных, но это уже нехитрое дело.

Нужно учитывать, что форматирование ячеек, куда производится импорт приведенным методом, нужно делать самостоятельно либо вручную, как у меня в примере, либо кодом.

Опять вопрос?
В книге с кодом импорта данных 2листа - соответсвенно нужно два модуля с разными запросами. т.е. на одном листе запрос с листа 1 книги, а на другом листе запрос с листа 2 книги.
Что то сам добавляю модуль с кодом и перестает работать первый.

И какой код прикреплен на кнопке "VBA code", и где он спрятан???
...
Рейтинг: 0 / 0
кто подскажет очень нужно???
    #36948534
ZVI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Чтобы задать лист, куда импортировать, достаточно было в строке с
With ThisWorkbook.Sheets(1).UsedRange
вместо единицы в круглых скобках вписать требуемый номер листа или имя листа в двойных кавычках.

Для большей гибкости переписал процедуру с аргументами вместо констант - см. приложение.
Теперь совершенно очевидно как изменить вызов процедуры под конкретные нужды.

Константин, похвально, если Вы хотите научиться VBA.
Но ошибки при этом неизбежны, и не нужно их стесняться, потому что разбор своих ошибок чуть ли не лучшая школа.
Выкладывайте файл с кодом, показывайте, где что « перестает работать », и Вам помогут разобраться и исправить ошибки.

Если же нет времени/желания/возможности/смысла изучать VBA, то тоже всё нормально - не всем это нужно в жизни.
Но тогда лучше явно написать, что требуется не помощь в исправлении ошибок кода или формул, а полное решение такой-то проблемы.
Часто и в этом случае кто-то «подрывается» решить проблему, в крайнем случае, подскажут, где её быстро могут решить.
...
Рейтинг: 0 / 0
кто подскажет очень нужно???
    #36949923
ZVI
Если же нет времени/желания/возможности/смысла изучать VBA, то тоже всё нормально - не всем это нужно в жизни.
Но тогда лучше явно написать, что требуется не помощь в исправлении ошибок кода или формул, а полное решение такой-то проблемы.
Часто и в этом случае кто-то «подрывается» решить проблему, в крайнем случае, подскажут, где её быстро могут решить.

Спасибо ZVI работает все быстро ,
но опять интересная проблемка.
так как данных очень много, есть значения в виде текста типа "68E88"
при импорте данных если в ячейке книги с запросом формат данных как "текст" то Excel читает как " 6,8Е+89"
Если формат ячейки цифровой то отображается результат как 68 и 89 нолей...(6800000000000000000000000000000000000000000...
Есть какие нибудь мысли по поводу такого
...
Рейтинг: 0 / 0
кто подскажет очень нужно???
    #36950335
ZVI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Константин Сочи... так как данных очень много, есть значения в виде текста типа "68 E 88"
при импорте данных если в ячейке книги с запросом формат данных как "текст" то Excel читает как " 6,8 Е +89"...
Есть какие нибудь мысли по поводу такого
Вы же сами хотели смешанных типов данных :-)
В данном случае Excel по своим встроенным правилам определяет, что записано число в экспоненциальной форме, а не текст. Если использовать русскую букву Е вместо английской, или с двух строн ставить двойные кавычки, то воспримется как текст.
...
Рейтинг: 0 / 0
кто подскажет очень нужно???
    #36952208
Deggasad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
кто подскажет очень нужно???
    #36953158
ZVI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Deggasad, Ваш вариант – супер! Сохранил в своей коллекции :-)
...
Рейтинг: 0 / 0
кто подскажет очень нужно???
    #36953272
Deggasad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ZVIDeggasad, Ваш вариант – супер! Сохранил в своей коллекции :-)
спасибо. надеюсь Ваша коллекция хранится лучше чем моя, а то я недавно похерил все нажитое непосильным трудом - разбился внешний жесткий диск, а копии не было
...
Рейтинг: 0 / 0
кто подскажет очень нужно???
    #36953355
"='Z:\Files\[base1.xls]ОТЧЕТ'!$E$30"

Есть вот такая формула ну и похожие на эту.
Эти формулы извлекают данные из другой книги.

И при открытии книги формула не может быть вычислена. Сначала открывается окно с поиском данного файла книги, затем прописываеш путь к книге.

Вопрос: есть ли решение чтобы програмно формула обновлялась без моей помощи
...
Рейтинг: 0 / 0
кто подскажет очень нужно???
    #36953413
PlanB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Константин Сочи, юзайте поиск по фразе получение данных из закрытой книги
...
Рейтинг: 0 / 0
кто подскажет очень нужно???
    #36953650
ZVI MixedDataImport "=\\Pentium\Bases\", "Test.xls", "Лист1_Data", ThisWorkbook.Sheets(1). Range("A1")

Подскажите пожалуйста:
Где ошибка: файл находится на другом компе в единой рабочей группе.
...
Рейтинг: 0 / 0
кто подскажет очень нужно???
    #36959640
ZVI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Константин СочиZVI MixedDataImport "=\\Pentium\Bases\", "Test.xls", "Лист1_Data", ThisWorkbook.Sheets(1). Range("A1")Константин, знак равенства не нужен при вызове функции,
т.е. вместо " = \\Pentium\Bases\" нужно "\\Pentium\Bases\"
...
Рейтинг: 0 / 0
42 сообщений из 42, показаны все 2 страниц
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / кто подскажет очень нужно???
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]