Использование в excel базу access

Примечание: Microsoft Access не поддерживает импорт данных Excel с примененной меткой конфиденциальности. В качестве обходного решения можно удалить метку перед импортом, а затем повторно применить метку после импорта. Дополнительные сведения см. в статье «Применение меток конфиденциальности к файлам и электронной почте в Office».

Существуют различные способы переноса данных из книги Excel в базы данных Access. Можно скопировать данные с открытого листа и вставить их в таблицу Access, импортировать лист в новую или существующую таблицу либо связать лист с базой данных Access.

В этой статье приведено подробное описание процедуры импорта или связывания данных Excel с классическими базами данных Access.

В этой статье

  • Общее представление об импорте данных из Excel

  • Импорт данных из Excel

  • Разрешение вопросов, связанных с отсутствующими и неверными значениями

  • Связывание с данными Excel

  • Разрешение вопросов, связанных со значением #Число! и другими неверными значениями в связанной таблице

Общее представление об импорте данных из Excel

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

Стандартные сценарии импорта данных Excel в Access

  • Опытному пользователю Excel требуется использовать Access для работы с данными. Для этого необходимо переместить данные из листов Excel в одну или несколько новых таблиц Access.

  • В отделе или рабочей группе используется Access, но иногда данные поступают в формате Excel, и их необходимо объединять с базами данных Access. Требуется выполнить импорт полученных листов Excel в базу данных.

  • Пользователь применяет Access для управления данными, однако получает еженедельные отчеты от остальных участников команды в виде книг Excel. Требуется организовать процесс импорта таким образом, чтобы данные импортировались в базу данных каждую неделю в заданное время.

Первый импорт данных из Excel

  • Сохранить книгу Excel в виде базы данных Access невозможно. В Excel не предусмотрена функция создания базы данных Access с данными Excel.

  • При открытии книги Excel в Access (для этого следует открыть диалоговое окно Открытие файла, выбрать в поле со списком Тип файлов значение Файлы Microsoft Office Excel и выбрать файл) создается ссылка на эту книгу, но данные из нее не импортируются. Связывание с книгой Excel кардинально отличается от импорта листа в базу данных. Дополнительные сведения о связывании см. ниже в разделе Связывание с данными Excel.

Импорт данных из Excel

В этом разделе описано, как подготовиться к операции импорта, выполнить ее и как сохранить параметры импорта в виде спецификации для повторного использования. Помните, что данные можно одновременно импортировать только из одного листа. Импортировать все данные из книги за один раз невозможно.

Подготовка листа

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

    Определение именованного диапазона (необязательно)

    1. Перейдите в Excel и откройте лист, данные из которого нужно импортировать.

    2. Выделите диапазон ячеек, содержащих данные, которые необходимо импортировать.

    3. Щелкните выделенный диапазон правой кнопкой мыши и выберите пункт Имя диапазона или Определить имя.

    4. В диалоговом окне Создание имени укажите имя диапазона в поле Имя и нажмите кнопку ОК.

      Имейте в виду, что в ходе одной операции импорта можно импортировать лишь один лист. Чтобы импортировать данные нескольких листов, операцию импорта следует повторить для каждого листа.

  2. Просмотрите исходные данные и выполните необходимые действия в соответствии с приведенной ниже таблицей.

    Элемент

    Описание

    Число столбцов

    Число исходных столбцов, которые необходимо импортировать, не должно превышать 255, т. к. Access поддерживает не более 255 полей в таблице.

    Пропуск столбцов и строк

    В исходный лист или именованный диапазон рекомендуется включать только те строки и столбцы, которые требуется импортировать.

    Смещ_по_строкам    В ходе операции импорта невозможно фильтровать или пропускать строки.

    Столбцы.    В ходе операции экспорта невозможно пропускать столбцы, если данные добавляются в существующую таблицу.

    Табличный формат

    Убедитесь, что ячейки имеют табличный формат. Если лист или именованный диапазон включает объединенные ячейки, их содержимое помещается в поле, соответствующее крайнему левому столбцу, а другие поля остаются пустыми.

    Пустые столбцы, строки и ячейки

    Удалите все лишние пустые столбцы и строки из листа или диапазона. При наличии пустых ячеек добавьте в них отсутствующие данные. Если планируется добавлять записи к существующей таблице, убедитесь, что соответствующие поля таблицы допускают использование пустых (отсутствующих или неизвестных) значений. Поле допускает использование пустых значений, если свойство Обязательное поле (Required) имеет значение Нет, а свойство Условие на значение (ValidationRule) не запрещает пустые значения.

    Значения ошибок

    Если одна или несколько ячеек на листе или в диапазоне содержат значения ошибок, например #ЧИСЛО или #ДЕЛ, исправьте эти значения до начала операции импорта. Если исходный лист или диапазон содержит значения ошибок, соответствующее поле таблицы Access остается пустым. Дополнительные сведения о способах исправления таких ошибок см. ниже в разделе Разрешение вопросов, связанных с отсутствующими и неверными значениями.

    Тип данных

    Чтобы избежать ошибок во время импорта, убедитесь, что каждый исходный столбец содержит один и тот же тип данных в каждой строке. Access сканирует первые восемь строк источника, чтобы определить тип данных полей в таблице. Настоятельно рекомендуется убедиться, что первые восемь строк источника не смешивают значения различных типов данных ни в одной из столбцов. В противном случае Access может не назначить столбцу правильный тип данных.

    Рекомендуется также отформатировать все исходные столбцы в Excel и назначить им определенный формат данных перед началом операции импорта. Форматирование является необходимым, если столбец содержит значения с различными типами данных. Например, столбец «Номер рейса» может содержать числовые и текстовые значения, такие как 871, AA90 и 171. Чтобы исключить отсутствующие или неверные значения, выполните указанные ниже действия.

    1. Щелкните заголовок столбца правой кнопкой мыши и выберите пункт Формат ячеек.

    2. На вкладке Числовой в группе Категория выберите формат. Для столбца «Номер рейса» лучше выбрать значение Текстовый.

    3. Нажмите кнопку ОК.

    Если исходные столбцы отформатированы, но все же содержат смешанные значения в строках, следующих за восьмой строкой, в ходе операции импорта значения могут быть пропущены или неправильно преобразованы. Сведения о разрешении этих вопросов см. в разделе Разрешение вопросов, связанных с отсутствующими и неверными значениями.

    Первая строка

    Если первая строка листа или именованного диапазона содержит имена столбцов, в Access можно указать, что данные первой строки должны рассматриваться в ходе операции импорта как имена полей. Если исходный лист или диапазон не содержит имен, рекомендуется добавить их в исходные данные до операции импорта.

    Примечание: Если планируется добавить данные в существующую таблицу, убедитесь, что имя каждого столбца в точности соответствует имени поля. Если имя столбца отличается от имени соответствующего поля в таблице, операция импорта завершится неудачей. Чтобы просмотреть имена полей, откройте таблицу в Access в режиме конструктора.

  3. Закройте исходную книгу, если она открыта. Если исходный файл остается открытым в ходе операции импорта, могут возникнуть ошибки преобразования данных.

Подготовка конечной базы данных

  1. Откройте базу данных Access, в которой будут храниться импортируемые данные. Убедитесь, что база данных доступна не только для чтения и что есть права на ее изменение.

    -или-

    Если ни одна из существующих баз данных не подходит для хранения импортируемых данных, создайте пустую базу данных. Для этого выполните указанные ниже действия.

    Откройте вкладку Файл, нажмите кнопку Создать и выберите пункт Пустая база данных.

  2. Перед началом операции импорта следует определить, в какой таблице будут храниться данные: в новой или существующей.

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

    Добавление в существующую таблицу.    При добавлении данных в существующую таблицу строки из листа Excel добавляются в указанную таблицу.

    Следует помнить, что ошибки в ходе операции добавления зачастую объясняются тем, что исходные данные не соответствуют структуре и параметрам полей в конечной таблице. Чтобы избежать таких ошибок, откройте таблицу в режиме конструктора и проверьте указанные ниже параметры.

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

    • Отсутствующие или лишние поля.    Если одно или несколько полей исходного листа отсутствуют в конечной таблице, их следует добавить до начала операции импорта. Если же таблица содержит поля, которые отсутствуют в исходном файле, их не требуется удалять из таблицы при условии, что они допускают использование пустых значений.

      Совет: Поле допускает использование пустых значений, если его свойство Обязательное поле (Required) имеет значение Нет, а свойство Условие на значение (ValidationRule) не запрещает пустые значения.

    • Первичный ключ.    Если таблица содержит поле первичного ключа, исходный лист или диапазон должен содержать столбец, содержащий значения, совместимые с полем первичного ключа, а импортированные значения ключа должны быть уникальными. Если импортируемая запись содержит значение первичного ключа, которое уже существует в таблице, отображается сообщение об ошибке.

    • Индексированные поля.    Если свойство Индексировано поля таблицы имеет значение Да (без повторов), соответствующий столбец исходного листа или диапазона должен содержать уникальные значения.

      Для выполнения операции импорта перейдите к указанным ниже действиям.

Запуск операции импорта

  1. Расположение мастера импорта или связывания зависит от используемой версии Access. Выполните действия, которые соответствуют вашей версии Access.

    • Если вы используете последнюю версию подписки Microsoft 365 Access или Access 2019, на вкладке «Внешние данные» в группе «Импорт & Link» щелкните «Создать источник данных > из файлового > Excel«.

    • Если вы используете Access 2016, Access 2013 или Access 2010, на вкладке Внешние данные в группе Импорт и связи нажмите кнопку Excel.

    Примечание: Вкладка Внешние данные доступна только в том случае, если открыта база данных.

  2. В диалоговом окне Внешние данные — Электронная таблица Excel в поле Имя файла укажите имя файла Excel, содержащего данные, которые необходимо импортировать.

    -или-

    Чтобы указать импортируемый файл, нажмите кнопку Обзор и воспользуйтесь диалоговым окном Открытие файла.

  3. Укажите способ сохранения импортируемых данных.

    Чтобы сохранить данные в новой таблице, выберите вариант Импортировать данные источника в новую таблицу в текущей базе данных. Позднее будет предложено указать имя этой таблицы.

    Чтобы добавить данные в существующую таблицу, выберите параметр Добавить копию записей в конец таблицы и выберите таблицу в раскрывающемся списке. Этот параметр недоступен, если база данных не содержит таблиц.

    Сведения о связывании с источником данных путем создания связанной таблицы см. ниже в разделе Связывание с данными Excel.

  4. Нажмите кнопку ОК.

    Будет запущен мастер импорта электронных таблиц, который поможет выполнить импорт. Перейдите к дальнейшим действиям.

Использование мастера импорта электронных таблиц

  1. На первой странице мастера выберите лист, содержащий данные, которые необходимо импортировать, и нажмите кнопку Далее.

  2. На второй странице мастера щелкните элемент листы или именованные диапазоны, выберите лист или именованный диапазон, который необходимо импортировать, и нажмите кнопку Далее.

  3. Если первая строка исходного листа или диапазона содержит имена полей, выберите вариант Первая строка содержит заголовки столбцов и нажмите кнопку Далее.

    Если данные импортируются в новую таблицу, заголовки столбцов используются в Access в качестве имен полей в таблице. Эти имена можно изменить в ходе операции импорта или после ее завершения. Если данные добавляются к существующей таблице, убедитесь, что заголовки столбцов исходного листа в точности соответствуют именам полей конечной таблицы.

    Если данные добавляются к существующей таблице, перейдите к действию 6. Если данные добавляются в новую таблицу, выполните оставшиеся действия.

  4. Мастер предложит просмотреть свойства полей. Щелкните столбец в нижней части страницы, чтобы отобразить свойства нужного поля. При необходимости выполните указанные ниже действия.

    • Просмотрите и измените имя и тип данных конечного поля.

      В Access выполняется проверка первых восьми строк каждого столбца, чтобы определить тип данных для соответствующего поля. Если первые восемь строк столбца на листе содержат значения разных типов, например текст и числа, мастер предлагает тип данных, совместимый со всеми значениями столбца — как правило, это текстовый тип данных. Хотя можно выбрать и другой тип данных, следует помнить, что значения, несовместимые с этим типом, будут в ходе импорта пропущены или преобразованы неправильно. Дополнительные сведения о том, как исправить неверные или отсутствующие значения, см. ниже в разделе Разрешение вопросов, связанных с отсутствующими и неверными значениями.

    • Чтобы создать индекс для поля, присвойте свойству Индексировано (Indexed) значение Да.

    • Чтобы пропустить весь исходный столбец, установите флажок Не импортировать (пропустить) поле.

      Настроив параметры, нажмите кнопку Далее.

  5. На следующем экране задайте первичный ключ для таблицы. При выборе варианта автоматически создать ключ Access добавляет поле счетчика в качестве первого поля конечной таблицы и автоматически заполняет его уникальными значениями кодов, начиная с 1. После этого нажмите кнопку Далее.

  6. На последнем экране мастера укажите имя целевой таблицы. в поле Импорт в таблицу. Если таблица уже существует, в Access появится запрос на перезапись существующего содержимого таблицы. Нажмите кнопку « Да «, чтобы продолжить, или «Нет», чтобы указать другое имя целевой таблицы, а затем нажмите кнопку « Готово», чтобы импортировать данные.

    Если импорт части или всех данных в Access завершится успешно, в мастере откроется страница с состоянием операции импорта. Кроме того, сведения об операции можно сохранить в виде спецификации для дальнейшего использования. Если операция завершится неудачей, появится сообщение Ошибка при попытке импорта файла.

  7. Нажмите кнопку Да, чтобы сохранить сведения об операции для использования в будущем. Сохранение сведений позволяет выполнять операцию повторно без использования мастера.

Сведения о том, как сохранить спецификацию, см. в статье Сохранение параметров операции импорта или экспорта в виде спецификации.

Сведения о том, как запустить сохраненную спецификацию импорта или экспорта, см. в статье Запуск сохраненной спецификации импорта или экспорта.

Сведения о том, как запланировать выполнение задач импорта и связывания в определенное время, см. в статье Планирование спецификации импорта или экспорта.

Разрешение вопросов, связанных с отсутствующими и неверными значениями

Сообщение Ошибка при попытке импорта файла свидетельствует о том, что операция импорта завершилась неудачей. Если же после операции импорта отображается диалоговое окно, в котором предлагается сохранить сведения об операции, это означает, что данные успешно импортированы полностью или частично. В сообщении о состоянии указывается также имя таблицы, которая содержит описание всех ошибок, возникших в ходе операции импорта.

Важно: Даже если в сообщении о состоянии указано, что операция завершилась успешно, перед использованием таблицы следует просмотреть ее содержимое и структуру, чтобы убедиться в правильности всех данных.

  • Откройте целевую таблицу в режиме таблицы, чтобы убедиться, что в таблицу были добавлены все данные.

  • Откройте таблицу в режиме конструктора, чтобы проверить типы данных и другие свойства полей.

В приведенной ниже таблице описаны действия по разрешению проблем, связанных с отсутствующими или неверными значениями.

Совет: Если при устранении неполадок обнаружено лишь несколько отсутствующих значений, можно добавить их в таблицу вручную. Если же отсутствует или неправильно импортирован целый столбец либо большой объем данных, следует исправить исходный файл. После устранения всех возможных проблем повторите операцию импорта.

Проблема

Решение

Графические элементы

Графические элементы, такие как логотипы, диаграммы и рисунки, не импортируются. Их следует добавить в базу данных вручную после завершения операции импорта.

Вычисляемые значения

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

Значения TRUE или FALSE и -1 или 0

Если исходный лист или диапазон включает столбец, который содержит только значения TRUE или FALSE, в Access для этого столбца создается логическое поле, в которое вставляется значение -1 или 0. Если же исходный лист или диапазон включает столбец, который содержит только значения -1 и 0, в Access для этого столбца по умолчанию создается числовое поле. Чтобы избежать этой проблемы, можно изменить в ходе импорта тип данных поля на логический.

Многозначные поля

При импорте данных в новую или существующую таблицу приложение Access не поддерживает многозначные поля, даже если исходный столбец содержит список значений, разделенных точками с запятой (;). Список значений обрабатывается как одно значение и помещается в текстовое поле.

Усеченные данные

В случае усечения данных в столбце таблицы Access попытайтесь увеличить ширину столбца в режиме таблицы. Если не удается решить проблему с помощью этого способа, это означает, что объем данных в числовом столбце Excel слишком велик для конечного поля в Access. Например, в базе данных Access свойство FieldSize конечного поля может иметь значение Байт, а исходные данные могут содержать значение больше 255. Исправьте значения в исходном файле и повторите операцию импорта.

Формат отображения

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

  • После завершения импорта в логическом поле в режиме таблицы отображаются значения -1 и 0. Чтобы устранить эту проблему, необходимо после завершения импорта изменить значение свойства Формат этого поля на Да/Нет для отображения флажков.

  • Даты в длинном и среднем форматах отображаются в Access как краткие даты. Чтобы устранить эту проблему, откройте конечную таблицу в Access в режиме конструктора и измените свойство Формат поля даты на Длинный формат даты или Средний формат даты.

Примечание: Если исходный лист содержит элементы форматирования RTF, например полужирный шрифт, подчеркивание или курсив, текст импортируется без форматирования.

Повторяющиеся значения (нарушение уникальности ключа)

Импортируемые записи могут содержать повторяющиеся значения, которые невозможно сохранить в поле первичного ключа в конечной таблице или в поле, для которого свойству Индексировано присвоено значение Да (без повторов). Удалите повторяющиеся значения в исходном файле и повторите операцию импорта.

Значения дат, сдвинутые на 4 года

Значения полей дат, импортированных с листа Excel, оказываются сдвинуты на четыре года. Excel для Windows может использовать две системы дат:

  • Система дат 1904 г. (в которой серийные номера в диапазоне от 0 до 63 918), соответствующие датам с 1 января 1904 г. по 31 декабря 2078 г.

  • Система дат 1900 г. (в которой серийные номера в диапазоне от 1 до 65 380), соответствующие датам с 1 января 1900 г. по 31 декабря 2078 г.

Вы можете задать систему дат в excel Options: File > Options > Advanced> Use 1904 date system.

Примечание    При импорте из книги XLSB всегда используется система дат 1900 независимо от параметра системы дат.

Прежде чем импортировать данные, измените систему дат для книги Excel или выполните после добавления данных запрос на обновление, используя выражение [имя поля даты] + 1462 для корректировки дат.

Excel для macintosh использует только систему дат 1904.

Пустые значения

В конце операции импорта может отобразится сообщение об ошибке с данными, которые были удалены или потеряны во время операции, или при открытии таблицы в режиме таблицы может отобразится, что некоторые значения полей пусты. Если исходные столбцы в Excel не отформатированы или первые восемь строк источника содержат значения различных типов данных, откройте исходный лист и выполните следующие действия:

  • Отформатируйте исходные столбцы.

  • Переместите строки таким образом, чтобы первые восемь строк каждого столбца не содержали значения с разными типами данных.

  • В ходе операции импорта выберите подходящий тип данных для каждого поля. Если тип данных указан неправильно, после завершения операции весь столбец может содержать пустые или неверные значения.

Описанные выше действия позволяют свести к минимуму количество пустых значений. В приведенной ниже таблице представлены ситуации, в которых пустые значения все же будут появляться.

Тип отсутствующих значений

Конечный объект импорта

Тип целевого поля

Решение

Текст

Новая таблица

Поле даты

Замените все текстовые данные значениями дат и повторите попытку импорта.

Текст

Существующая таблица

Числовое поле или поле даты

Замените все текстовые данные значениями, соответствующими типу данных конечного поля, и повторите попытку импорта.

Значения дат, замененные числовыми значениями

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

  • Исходный столбец на листе содержит только числовые значения в первых восьми строках, но содержит некоторые значения даты в последующих строках. Эти значения дат будут преобразованы неправильно.

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

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

    Если столбец содержит преимущественно значения дат и несколько текстовых значений, в некоторых случаях все значения дат отображаются как случайные пятизначные числа. Чтобы избежать этой проблемы, замените текстовые значения значениями дат и попробуйте выполнить операцию импорта повторно.

Числовые значения, замененные значениями даты

Случайные значения даты отображаются вместо фактических числовых значений в указанных ниже случаях.

  • Исходный столбец содержит только значения даты в первых восьми строках, но содержит некоторые числовые значения в последующих строках. Эти числовые значения будут преобразованы неправильно.

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

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

Кроме того, может потребоваться просмотреть таблицу ошибок, о которой говорится на последней странице мастера, в режиме таблицы. Эта таблица содержит три поля: «Ошибка», «Поле» и «Строка». В каждой ее строке содержатся сведения об определенной ошибке, и данные в поле «Ошибка» можно использовать при разрешении вопросов.

Строки ошибок и советы по устранению неполадок

Ошибка

Описание

Обрезка полей

Значение в поле превышает размер, заданный свойством FieldSize этого поля.

Ошибка преобразования типа

Значение на листе не соответствует типу данных поля. Это значение может быть заменено пустым или неверным значением в конечном поле. Дополнительные сведения об устранении этой проблемы см. в предыдущей таблице.

Нарушение уникальности ключа

Значение первичного ключа записи совпадает со значением, уже имеющимся в таблице.

Нарушение условия на значение

Значение не соответствует правилу, заданному для этого поля или таблицы с помощью свойства ValidationRule.

Пустое значение в обязательном поле

Данное поле не может иметь пустое значение, поскольку его свойство Обязательное поле (Required) имеет значение Да.

Пустое значение в поле счетчика

Импортируемые данные содержат пустое значение (NULL), и была выполнена попытка добавить его в поле счетчика.

Неинтерпретируемая запись

Текстовое значение содержит знак разделителя (как правило, это прямые кавычки). Если значение содержит знак разделителя, он должен содержаться в текстовом файле дважды, например:

Диаметр 4 1/2″»

К началу страницы

Связывание с данными Excel

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

При связывании с листом или именованным диапазоном Excel в Access создается новая таблица, связанная с исходными ячейками. Любые изменения, вносимые в исходные ячейки в Excel, отражаются в связанной таблице. При этом изменить содержимое соответствующей таблицы в Access невозможно. Если требуется добавить, изменить или удалить данные, изменения необходимо внести в исходный файл.

Стандартные сценарии связывания с листом Excel из Access

Обычно связывание с листом Excel (вместо импорта) выполняют по указанным ниже причинам.

  • Требуется хранить данные в листах Excel с возможностью использовать удобные функции запросов и отчетов Access.

  • В отделе или рабочей группе используется Access, однако приходится также работать с внешними источниками данных, такими как листы Excel. Создавать копии внешних данных нецелесообразно, однако необходимо работать с данными в Access.

Первое связывание с листом Excel

  • В Excel невозможно создать связь с базой данных Access.

  • При связывании с файлом Excel в Access создается новая таблица, которая называется также связанной таблицей. В ней отображаются данные исходного листа или именованного диапазона; при этом они не сохраняются в базе данных.

  • Данные Excel невозможно связать с существующей таблицей базы данных. Это означает, что операция связывания не позволяет добавлять данные в существующую таблицу.

  • База данных может содержать несколько связанных таблиц.

  • Все изменения данных в Excel автоматически отражаются в связанной таблице. Однако содержимое и структура связанной таблицы Access доступны только для чтения.

  • При открытии книги Excel в Access (для этого в диалоговом окне Открытие файла необходимо выбрать в поле со списком Тип файлов значение Microsoft Excel и выбрать нужный файл) в Access создается пустая база данных и автоматически запускается мастер связи с электронной таблицей.

Подготовка данных Excel

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

    Создание именованного диапазона в Excel (необязательно — целесообразно лишь для связывания отдельных данных на листе)

    1. Перейдите в Excel и откройте лист, в котором нужно определить именованный диапазон.

    2. Выделите диапазон ячеек, содержащих данные, на которые необходимо создать ссылку.

    3. Щелкните выделенный диапазон правой кнопкой мыши и выберите пункт Имя диапазона или Определить имя.

    4. В диалоговом окне Создание имени укажите имя диапазона в поле Имя и нажмите кнопку ОК.

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

  2. Просмотрите исходные данные и выполните необходимые действия в соответствии с приведенной ниже таблицей.

    Элемент

    Описание

    Табличный формат

    Убедитесь, что ячейки имеют табличный формат. Если диапазон включает объединенные ячейки, их содержимое помещается в поле, соответствующее крайнему левому столбцу, а другие поля остаются пустыми.

    Пропуск столбцов и строк

    Во время операции связывания нельзя пропустить исходные столбцы и строки. Однако можно скрыть поля и отфильтровать записи, открыв связанную таблицу в режиме таблицы после их импорта в Access.

    Число столбцов

    Число исходных столбцов не должно превышать 255, т.к. Access поддерживает не более 255 полей в таблице.

    Пустые столбцы, строки и ячейки

    Удалите все лишние пустые столбцы и строки из листа Excel или диапазона. При наличии пустых ячеек попытайтесь добавить отсутствующие данные.

    Значения ошибок

    Если одна или несколько ячеек на листе или в диапазоне содержат значения ошибок, исправьте эти значения до начала операции импорта. Имейте в виду, что если исходный лист или диапазон содержит значения ошибок, в Access в соответствующее поле таблицы вставляется пустое значение.

    Тип данных

    Изменить тип данных и размер полей в связанной таблице невозможно. Перед началом связывания следует проверить тип данных в каждом столбце.

    Настоятельно рекомендуется отформатировать все столбцы, которые содержат значения с разными типами данных. Например, столбец «Номер рейса» может содержать числовые и текстовые значения, такие как 871, AA90 и 171. Чтобы исключить отсутствующие или неверные значения, выполните указанные ниже действия.

    1. Щелкните столбец правой кнопкой мыши и выберите пункт Формат ячеек.

    2. На вкладке Числовой в группе Категория выберите формат.

    3. Нажмите кнопку ОК.

    Первая строка

    Если первая строка листа или именованного диапазона содержит имена столбцов, можно указать, что приложение Access должно в ходе связывания обрабатывать данные в первой строке как имена полей. Если лист не содержит имен или какое-либо имя столбца не соответствует правилам именования полей в Access, каждому полю назначается допустимое имя.

  3. Закройте исходный файл, если он открыт.

Подготовка конечной базы данных

  1. Откройте базу данных, в которой требуется создать связь. Убедитесь, что база данных доступна не только для чтения и что у вас есть права на внесение в нее изменений.

  2. Если вы не хотите хранить ссылку ни в какой из существующих баз данных, создайте пустую базу данных: перейдите на вкладку «Файл», нажмите кнопку «Создать» и выберите пункт «Пустая база данных». Обратите внимание: если вы используете Access 2007, нажмите кнопку Microsoft Office и выберите пункт Создать.

После этого можно начать операцию связывания.

Создание связи

  1. Расположение мастера импорта или связывания зависит от используемой версии Access. Выполните действия, которые соответствуют вашей версии Access.

    • Если вы используете последнюю версию подписки Microsoft 365 Access или Access 2019, на вкладке «Внешние данные» в группе «Импорт & Link» щелкните «Создать источник данных > из файлового > Excel«.

    • Если вы используете Access 2016, Access 2013 или Access 2010, на вкладке Внешние данные в группе Импорт и связи нажмите кнопку Excel.

    Примечание: Вкладка Внешние данные доступна только в том случае, если открыта база данных.

  2. В диалоговом окне Внешние данные — Электронная таблица Excel в поле Имя файла укажите имя исходного файла Excel.

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

    Откроется мастер связи с электронной таблицей, который поможет выполнить связывание.

  4. На первой странице мастера выберите лист или именованный диапазон с нужными данными и нажмите кнопку Далее.

  5. Если первая строка исходного листа или диапазона содержит имена полей, выберите вариант Первая строка содержит заголовки столбцов. В Access эти заголовки столбцов используются в качестве имен полей в таблице. Если имя столбца включает специальные знаки, его невозможно использовать как имя поля в Access. В таких случаях отображается сообщение об ошибке, в котором говорится, что полю в Access будет назначено допустимое имя. Нажмите кнопку ОК для продолжения.

  6. На последней странице мастера укажите имя связанной таблицы и нажмите кнопку Готово. Если таблица с указанным именем уже существует, будет предложено перезаписать существующую таблицу или запрос. Нажмите кнопку Да, чтобы перезаписать таблицу или запрос, или кнопку Нет, чтобы указать другое имя.

    Приложение Access попытается создать связанную таблицу. В случае успешного завершения операции появится сообщение Завершено связывание таблицы. Откройте связанную таблицу и просмотрите поля и данные, чтобы убедиться в их правильности.

    При наличии ошибок или неверных данных необходимо устранить ошибки в исходных данных. Дополнительные сведения об устранении ошибок или неверных значений см. в следующем разделе.

К началу страницы

Разрешение вопросов, связанных со значением #Число! и другими неверными значениями в связанной таблице

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

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

Проблема

Решение

Графические элементы

Графические элементы листов Excel, такие как логотипы, диаграммы и рисунки, не могут быть включены в связь с Aсcess.

Формат отображения

Чтобы обеспечить правильное отображение значений в режиме таблицы, может потребоваться изменить свойство Формат некоторых полей в режиме конструктора.

Вычисляемые значения

В Access в соответствующем поле отображаются результаты вычисляемого столбца или ячейки, но не формула (выражение).

Усеченные текстовые значения

Увеличьте ширину столбца в режиме таблицы. Если даже после этого значение не отображается целиком, возможно, его длина превышает 255 знаков. В Access связывание возможно только для первых 255 знаков, поэтому вместо связывания следует выполнить импорт данных.

Сообщение о переполнении числового поля

Даже если таблица кажется правильной, впоследствии при выполнении запроса с использованием этой таблицы может быть выведено сообщение об ошибке Переполнение числового поля. Это может объясняться конфликтом между типом данных поля в связанной таблице и типом данных, хранящихся в этом поле.

Значения TRUE или FALSE и -1 или 0

Если исходный лист или диапазон включает столбец, который содержит только значения TRUE или FALSE, в Access в связанной таблице для этого столбца создается логическое поле. Если же исходный лист или диапазон включает столбец, который содержит только значения -1 или 0, в Access для этого столбца по умолчанию создается числовое поле, тип данных которого невозможно изменить в таблице. Если требуется, чтобы в связанной таблице было создано логическое поле, убедитесь, что исходный столбец содержит значения TRUE и FALSE.

Многозначные поля

В Access многозначные поля не поддерживаются, даже если исходный столбец содержит список значений, разделенных точками с запятой (;). Список значений обрабатывается как одно значение и помещается в текстовое поле.

#Число!

В Access значение ошибки #Число! отображается в полях вместо данных в указанных ниже случаях.

  • Если исходный столбец, который содержит в основном текстовые значения, включает также несколько числовых значений или значений дат, числовые значения и значения дат не импортируются.

  • Если исходный столбец, который содержит в основном числовые значения, включает также несколько текстовых значений, текстовые значения не импортируются.

  • Если исходный столбец, который содержит в основном значения дат, включает также несколько текстовых значений, текстовые значения не импортируются.

Чтобы свести к минимуму число пустых значений в таблице, выполните указанные ниже действия.

  1. Убедитесь, что исходный столбец не содержит значения с разными типами данных.

  2. Отформатируйте столбцы на листе Excel.

  3. Во время операции связывания выберите нужный тип данных для каждого поля. Если тип данных неправильный, результирующий столбец может содержать только #Num! Значения для всех строк данных.

Числовые значения, замененные значениями дат

Если поле содержит случайные пятизначные числа, проверьте исходный столбец с числовыми значениями на наличие значений дат. Значения дат в числовых столбцах преобразуются в числа. Замените значения дат числовыми значениями и повторите попытку связывания.

Значения дат, замененные числовыми значениями

Если поле содержит случайные значения дат, проверьте исходный столбец со значениями дат на наличие числовых значений. Числовые значения в столбцах дат преобразуются в даты. Замените числовые значения значениями дат и повторите попытку связывания.


К началу страницы

 

JeyCi

Пользователь

Сообщений: 3357
Регистрация: 27.11.2013

господа, прошу не судить строго — пишу, потому что была  :oops:  Очень поражена гениальностью и простотой Данного решения!

Record Keeping from Excel to Access

— суть Идеи до боли проста —

вводим данные по мере надобности в Excel — и всё автоматом закидываем в Базу Данных Access

, — пример, как настроить такой милый душе автомат, там есть по линку…
и в чём приятная неожиданность  :)  данного подхода (мне подумалось) —

СОВСЕМ НЕ НАДО никаких Форм для ввода

создавать своими ручками — всё уже давно создано программистами Microsoft !! — т.е. сам Excel !! который может послужить достойным прототипом любой рукодельной Формы для ввода данных в Access… по крайней мере на ячейки уже расчерчен сам  :D — вводи что хочешь, куда хочешь… только прежде настрой, как нравится — что куда кидать потом…
Думаю, возможностей наладить интересный симбиоз Excel и Access для автоматизации каждодневной рутины — намного больше, чем может показаться при первом рассмотрении Office’а…  
p.s. просто была поражена изящностью данного подхода — решила поделиться  8)
другие интересные подходы к ним двоим (Excel и Access) и их взаимодействию  — тоже можете засовывать в эту ветку  … всем успехов
— (способов облегчить жизнь юзеру никогда не бывает мало и они всегда на вес золота)  
P.S.
ответ на #14 в #121

Изменено: JeyCi12.10.2016 20:30:33

чтобы не гадать на кофейной гуще, кто вам отвечает и после этого не совершать кучу ошибок — обратитесь к собеседнику на ВЫ — ответ на ваш вопрос получите — а остальное вас не касается (п.п.п. на форумах)

 

JayBhagavan

Пользователь

Сообщений: 11833
Регистрация: 17.01.2014

ПОЛ: МУЖСКОЙ | Win10x64, MSO2019x64

JeyCi, спасибо за предоставленную информацию.
Только соединение с базой не происходит — выдаёт сообщение макрос «provide correct/full DB path». Путь прописал верный (C:1Trade_DB.mdb). В чём может быть дело?
Спасибо.
ПС Разобрался — изменил провайдера с:
Microsoft.Jet.OLEDB.4.0
на:
Microsoft.ACE.OLEDB.12.0
Простите за безпокойство. :)

Изменено: JayBhagavan31.07.2015 11:46:26
(разобрался)

<#0>
Формула массива (ФМ) вводится Ctrl+Shift+Enter
Memento mori

 

JeyCi

Пользователь

Сообщений: 3357
Регистрация: 27.11.2013

… если путь (на вашем компе!! к файлу базы прописан верно) — то, наверно, причина может быть, что вы пытаетесь подконнектиться к базе, которая открыта в Access (т.е. если у вас файл mdb открыт —>доступ 2-го юзера блокируется) — наверно, в таком случае может быть глюк… у меня коннектится и загоняется инфо в базу ок (даже не смотря на то, что у меня 2010, а файл пример для 2003)…   — кнопкой Save

Изменено: JeyCi31.07.2015 11:48:50

чтобы не гадать на кофейной гуще, кто вам отвечает и после этого не совершать кучу ошибок — обратитесь к собеседнику на ВЫ — ответ на ваш вопрос получите — а остальное вас не касается (п.п.п. на форумах)

 

JayBhagavan

Пользователь

Сообщений: 11833
Регистрация: 17.01.2014

ПОЛ: МУЖСКОЙ | Win10x64, MSO2019x64

JeyCi, спасибо за ответ. Дело было в провайдере. :)

<#0>
Формула массива (ФМ) вводится Ctrl+Shift+Enter
Memento mori

 

Johny

Пользователь

Сообщений: 2737
Регистрация: 21.12.2012

JeyCi

, Вы ещё пользуетесь Access?

There is no knowledge that is not power

 

Я до сих пор использую Access. Причем — именно в связке с excel. Уверен, что SQL Server — гораздо более крутая программа, чем ACCESS. Ну, примерно — как самолет и авто сравнивать. Но самолет я водить не умею, а чтобы научиться — нужны деньги и время (как известно — вещи взаимосвязанные)… да и так далеко ездить не приходится. А также нет аэродрома, ангара, авиационного топлива… Вот по этой же аналогии я, например, пользуюсь access.

Всё сложное — не нужно. Всё нужное — просто /М. Т. Калашников/

 

JeyCi

Пользователь

Сообщений: 3357
Регистрация: 27.11.2013

#7

31.07.2015 21:01:10

я ещё верю, что можно, не усложнять… — там, где можно без этого обойтись… особенно если (согласна с Михаилом)

Цитата
Михаил Лебедев написал: так далеко ездить не приходится

… и в Access иногда можно поковырять запросы, чтобы их потом вставить в MS Query (xl)…
в любом случае

Конструктор в Access более полноценный

 (на всякий случай)…
мало ли что ещё посоветуют добрые люди в этой ветке…  8)
P.S, подробности здесь — (сравнене с Access тоже) —

Использование Microsoft Query

P.S.

Разместить на хостинге sql базу и с нее получать данные на лист

(MySQL)…

Пару слов.

Изменено: JeyCi14.09.2016 19:01:53

чтобы не гадать на кофейной гуще, кто вам отвечает и после этого не совершать кучу ошибок — обратитесь к собеседнику на ВЫ — ответ на ваш вопрос получите — а остальное вас не касается (п.п.п. на форумах)

 

Johny

Пользователь

Сообщений: 2737
Регистрация: 21.12.2012

#8

01.08.2015 00:29:28

Цитата
Михаил Лебедев написал: Уверен, что SQL Server — гораздо более крутая программа

Гораздо более, конечно, но ведь всё дело в результате — так? Стоит ли игра свеч? Окупятся ли затраты при изучении более мощного движка? :) Просто сегодня не нужно, а завтра — позарез. Так что я думаю, что стОит потратить время. :D

There is no knowledge that is not power

 

Чего нет в ексель, но есть в акцесс:
1. Сохранение данных на уровне записи, а не файла. Если я внес новые данные, заполнив новую строку в таблице и перешел к другой записи — новые данные сохранились в базе. Если даже отключат электричество.
2. Защита данных (управление правами доступа к данным) на уровне пользователя. Правда — эту одну из самых замечательных возможностей убрали, начиная с офиса 2007. Поэтому рейтинг акцесса резко ушел вниз.
3. Очень легкое и простое создание форм для ввода информации.

Ушел…

Всё сложное — не нужно. Всё нужное — просто /М. Т. Калашников/

 

JeyCi, спасибо, возможно когда нибудь пригодится.  

 

Чего нет в ексель, но есть в акцесс -2 (продолжение сообщения от 1 Авг 2015 11:24:56):
4. Прямая связь с пом. линкованных таблиц с MS OUTLOOK. В акцессе нашел такую функцию, а в ексель — нет. Недавно встала задача обрабатывать большие объемы информации, получаемые через RSS-канал с zakupki.gov.ru. Довольно легко и просто удалось наладить связку zakupki.gov.ru -> Outlook-> Access с последующей чисткой полученных данных с помощью различных запросов.
5. Перекрестные запросы.
6. Одновременное подключение к базе данных акцесс нескольких пользователей, что позволяет нескольким работникам одновременно заполнять одну и ту же базу.

Чего нет в акцесс, но есть в ексель:
1. ВСТРОЕННЫЕ ФУНКЦИИ.
2. Графики
3. Возможность сделать с данными практически всё, что угодно и как угодно (, в том числе и такое зло, как объединение ячеек ( :) )).
4. Сводные таблицы, конечно же. Особенно — Power Pivot

Поэтому для меня акцесс — это система для сбора и хранения данных, одновременного доступа к ним, а ексель — система обработки этих данных и их анализа.

Изменено: Михаил Лебедев08.08.2015 20:46:08

Всё сложное — не нужно. Всё нужное — просто /М. Т. Калашников/

 

Максим Зеленский

Пользователь

Сообщений: 4646
Регистрация: 11.06.2014

Microsoft MVP

#12

03.08.2015 12:51:37

Цитата
Михаил Лебедев написал: Сводные таблицы, конечно же. Особенно — Power Pivot

плюс Power Query и Power BI (последнего зверя еще не щупал, но уже на слуху).
Имхо, Excel + Power Query + Power Pivot — вау-вау

А по поводу связки Excel и Acccess — недавно поднимал как раз тему

работы с базами Access из Excel

F1 творит чудеса

 

Михаил Лебедев

Пользователь

Сообщений: 2855
Регистрация: 17.01.2013

#13

03.08.2015 13:20:02

Цитата
Максим Зеленский написал: Power Query

Да, про этого зверька (я имею в виду просто Query) — я забыл сказать как про мощный инструмент для связывания Ассess и Еxcel. Если он сейчас станет сильнее — т.е. будут доработаны слабые места — это… в общем, это здОрово ☺

Всё сложное — не нужно. Всё нужное — просто /М. Т. Калашников/

 

Михаил Лебедев

Пользователь

Сообщений: 2855
Регистрация: 17.01.2013

#14

03.08.2015 13:26:52

Цитата
JeyCi написал: Record Keeping from Excel to Access

обратил внимание, что добавление записей — происходит, а вот удаление внесенных ранее — нет. Кнопка «Удалить» удаляет запись только в текущих ячейках екселя. М.б. это только у меня так?…

Изменено: Михаил Лебедев08.08.2015 20:47:32

Всё сложное — не нужно. Всё нужное — просто /М. Т. Калашников/

 

JeyCi

Пользователь

Сообщений: 3357
Регистрация: 27.11.2013

#15

03.08.2015 14:56:41

Цитата
Михаил Лебедев написал: добавление записей — происходит, а вот удаление внесенных ранее — нет

да, кстати, просмотрев код — видно использование Rst.AddNew,
что и позволяет лишь добавлять записи методом AddNew(Fields, Values)
дорабатывать код можно, как всегда, ориентируясь

сюда

— по возможностям др. методов для рекордсета, в т.ч., полагаю:
Update(Fields, Values)
Delete(AffectRecords)
пока не колдую — но если когда-нибудь придётся допиливать — обязательно

выложу

итог  8)  «творческой мысли» … — лежит в #121
(видимо, где-то в этом русле)
P.S.
но

это

, полагаю, лучше принять к сведению

Цитата
Михаил Лебедев написал:  В общем, я в свое время намучился и не советовал бы. Редактирование записей лучше делать в самом акцессе

Изменено: JeyCi12.10.2016 20:29:08

чтобы не гадать на кофейной гуще, кто вам отвечает и после этого не совершать кучу ошибок — обратитесь к собеседнику на ВЫ — ответ на ваш вопрос получите — а остальное вас не касается (п.п.п. на форумах)

 

JeyCi

Пользователь

Сообщений: 3357
Регистрация: 27.11.2013

#16

03.08.2015 15:19:20

примеры линковки Excel и Access тоже были на форуме:
— от Слэна (из поста#16 к посту#12) —

sql запрос

— в Excel’е из Access запрос через строку подключения

Код
DSN=MS Access Database;DBQ=C:1BD.mdb;DefaultDir=D:1;DriverId=25;FIL=MS Access;MaxBufferSize=2048;PageTimeout=5;

— от B.Key (пост#30) —

Excel: Использование Access для обработки больших текстовых файлов

— линковка текст. файлов к Access, из которого потом то, что надо в Excel… и все нужные запросы на отбор и систематизацию данных можно настроить уже в Access (пользуясь его талантами), чтобы в Excel поступал лишь нужный итог…
— от B.Key (пост#15) —

Избавиться от цикла в запросе

— средствами ADO запрос к БД … и один интересный нюанс для Jet (для ACE, наверно, так же)

Цитата
B.Key   пишет:  Jet сам (исходя из вашего запроса) определят какой столбец индексировать для поиска данных. Естественно он его и сортирует и затем выводит информацию в отсортированном виде.

… к слову о неявном задании сортировки…

Изменено: JeyCi08.08.2015 20:48:32

чтобы не гадать на кофейной гуще, кто вам отвечает и после этого не совершать кучу ошибок — обратитесь к собеседнику на ВЫ — ответ на ваш вопрос получите — а остальное вас не касается (п.п.п. на форумах)

 

Pelena

Пользователь

Сообщений: 1416
Регистрация: 22.12.2012

#17

03.08.2015 16:59:01

Цитата
Михаил Лебедев написал: Чего нет в акцесс… —  ВСТРОЕННЫЕ ФУНКЦИИ

Тем не менее Access позволяет использовать встроенные функции Excel в расчётах при подключении Microsoft Excel Object Library

 

bedvit

Пользователь

Сообщений: 2477
Регистрация: 02.04.2015

Виталий

К моему огромному сожалению Access так и остался на уровне 2003 офиса. Видимо Microsoft не посчитала нужным развивать этот продукт. Как СУБД для небольших баз данных, с не ресурсоёмкими запросами, VBA, совместимостью с продуктами Microsoft Office, простотой создания запросов (мастером) он хорош. До сих пор его используем. Но ограничение размера используемой памяти в 2Гб (причем это включая сис. таблицы и т.д., т.е. по факту ещё меньше) — это что-то (уровень 2003 года). Один этот параметр не позволяет не только нормально работать с базой .mdb, .accdb, но и писать более-менее ресурсоемкие запросы.

«Бритва Оккама» или «Принцип Калашникова»?

 

Johny

Пользователь

Сообщений: 2737
Регистрация: 21.12.2012

#19

04.08.2015 16:50:21

Цитата
bedvit написал: Но ограничение размера используемой памяти в 2Гб

Там ещё и все индексы НЕкластерные. :)

There is no knowledge that is not power

 

bedvit

Пользователь

Сообщений: 2477
Регистрация: 02.04.2015

Виталий

Johny, а поподробнее (индексация полей)? :-)

«Бритва Оккама» или «Принцип Калашникова»?

 

Johny

Пользователь

Сообщений: 2737
Регистрация: 21.12.2012

Поподробнее… Можно загуглить. :)
Если вкратце, то кластерный индекс — это сами данные, а некластерный индекс — это ссылка на данные. По своей сути некластерный индекс — это отдельная от физической таблицы структура, данные в которой физически отсортированы. То есть Access сначала находит искомое значение в некластерном индексе. Найденное значение будет содержать ссылку (row pointer) на строку в куче (heap). Каждая таблица Access — это heap. Каждая строка в этой куче имеет свой уникальный ID (row pointer —  указатель строки). Так вот некластерные индексы не содержат сами данные, а только Row Pointer. И как можно уже догадаться, Access’у нужно совершить два действия — 1) найти значение в индексе и 2) перейти к строке по Row Pointer. Пункт 2 называется Row Look-up (или Bookmark Look-up).

Хороший пример — книга. Обычно в конце книге есть глоссарий (указатель имён). В нём все слова отсортированы — это и есть некластерный индекс, отдельная структура. Как только мы нашли значение, мы видим страницу (Row Pointer), где находится искомое слово — и переходим на эту страницу. Переход — это наш Row Look-up.

На самом деле, грамотно выбрать индексы — это целая наука. Учитывая, что Access не даёт такого анализа внутренней структуры, как, например, SQL Server, то трудно сказать, эффективны ли индексы в Access’е или нет. Но как можно уже догадаться, чем больше таблица, тем меннее эффективным становится некластерный индекс.

Изменено: Johny04.08.2015 21:32:17

There is no knowledge that is not power

 

Smiley

Пользователь

Сообщений: 530
Регистрация: 16.05.2013

Немного ОФФ. А можете посоветовать какие-нибудь книжки по Access 2010 и выше, а то все, что я читал, пишут сумбурно, перескакивая с одного на другое… Может канал какой хороший есть на Ютубе? :) спасибо.

 

Максим Зеленский

Пользователь

Сообщений: 4646
Регистрация: 11.06.2014

Microsoft MVP

#23

05.08.2015 11:02:16

Цитата
Johny написал:
некластерный индекс — это отдельная от физической таблицы структура, данные в которой физически отсортированы.

Напомнило светлой памяти dBaseIII+ по имени РЕБУС :) или что-то в том же духе, типа первого FoxPro и Paradox…

F1 творит чудеса

 

Johny

Пользователь

Сообщений: 2737
Регистрация: 21.12.2012

#24

05.08.2015 12:27:52

Цитата
Smiley написал:
А можете посоветовать какие-нибудь книжки по Access 2010 и выше

Я русских книг не читал — только английские. Если знаете инглиш, то могу дать пару-тройку названий. :)

There is no knowledge that is not power

 

Smiley

Пользователь

Сообщений: 530
Регистрация: 16.05.2013

Johny, печаль. Английский знаю, но не технический, может быть очень сложно вникнуть. Книги, наверное, типа Гетца? Сейчас читал Гурвица, жесть какая-то… Постоянные перескоки… что? куда? не понятно же (с)

Изменено: Smiley05.08.2015 12:45:27

 

Johny

Пользователь

Сообщений: 2737
Регистрация: 21.12.2012

Прочитав много книг на буржуйском, скажу, что некоторые авторы доходят до абсурда, описывая в целый параграф очевидные вещи.
Стили написания, конечно, у всех разный. Например, по некоторым вещам желательна была бы картинка, но её нет — вот и приходится допетривать. Также заметил, что очень полезно читать разных авторов, чтобы сложилась картинка — в одной книге поясняется то, что было нераскрыто в другой. :)

There is no knowledge that is not power

 

Михаил Лебедев

Пользователь

Сообщений: 2855
Регистрация: 17.01.2013

#27

05.08.2015 17:05:45

Цитата
bedvit написал: Access так и остался на уровне 2003 офиса

К сожалению, стал даже хуже.Красивостей стало больше, а реально ценные возможности (защита на уровне пользователя, а не на уровне базы данных) — ампутировали.

Цитата
Pelena написал: Access позволяет использовать встроенные функции Excel в расчётах при подключении Microsoft Excel Object Library

Пробовал этим воспользоваться еще в бытность access 97. Тогда — жутко тормозил процесс при их использовании. Написанная UDF-ка работала гораздо быстрее. С тех пор — желание ими пользоваться ушло и больше не вернулось ☺

Еще про то, чего нет в access
Нет макрорекордера. Как в ексель и ворд.

Всё сложное — не нужно. Всё нужное — просто /М. Т. Калашников/

 

JeyCi

Пользователь

Сообщений: 3357
Регистрация: 27.11.2013

#28

05.08.2015 18:34:17

Цитата
Михаил Лебедев написал: Нет макрорекордера. Как в ексель и ворд.

а так сразу и не скажешь  :oops: — т.к. ещё не смотрела… спасибо!
чтобы ветку не омрачать этой новостью — оставлю пару линков:
1).

vbex.ru

2).

Access Code                 Snippets

3).

VBA Tips

(что-то есть здесь)
4). и по мелочам

здесь

— включая

Полезные ссылки

и как проявить ошибку в запросе ( который в xl или макросе с ado)

Цитата
Составив такой стринг, содержащий команду SQL, и отправив его на выполнение, вы можете получить ошибку. В таком случае распечатайте этот стринг в отладочное окно и посмотрите на него глазами. Возможно, ошибка сразу бросится в глаза. Если не бросится, создайте новый запрос в конструкторе запросов Access, переключите в режим SQL, вставьте туда текст запроса и запустите на выполнение. Если ошибка есть, то она будет показана более явным образом.

(действий много, но для учебных целей, ошибки запросов, визуализированные в Access, — более наглядны, т к более подробно Access скажет, где какая ошибка)…

p.s. совсем для начинания: (- из excel’я)

Excel VBA: как работать с базой данных
Создание сводной таблицы на основе внешнего источника данных (на примере MS Access)
SQL за 10 минут

Изменено: JeyCi09.08.2015 11:10:02

чтобы не гадать на кофейной гуще, кто вам отвечает и после этого не совершать кучу ошибок — обратитесь к собеседнику на ВЫ — ответ на ваш вопрос получите — а остальное вас не касается (п.п.п. на форумах)

 

Михаил Лебедев

Пользователь

Сообщений: 2855
Регистрация: 17.01.2013

#29

05.08.2015 20:36:51

Цитата
Smiley написал: посоветовать какие-нибудь книжки по Access 2010

Книжки не посоветую, а вот форум, который мне в свое время очень помог, могу.
Спасибо ему (или им, участникам форума), в свое время оч. помогали.

http://hiprog.com/forum/

Всё сложное — не нужно. Всё нужное — просто /М. Т. Калашников/

 

Smiley

Пользователь

Сообщений: 530
Регистрация: 16.05.2013

#30

06.08.2015 10:10:07

Михаил Лебедев, доброе утро. Спасибо за информацию. Я вообще сейчас думаю, что его лучше подтянуть с помощью видеороликов :)

Учусь программировать :)

Знаете ли вы, что вы можете экспортировать базу данных Access на лист Excel? В Microsoft Excel есть функции для импорта или экспорта данных из листа Excel или в него. При экспорте данных в Excel Access создает копию выбранных данных, а затем сохраняет скопированные данные в файле, который можно открыть в Microsoft Excel. В Access можно экспортировать таблицы, запросы, формы и отчеты, но нельзя экспортировать макросы или модули в Excel. При экспорте форм, отчетов или таблиц, содержащих подчиненные формы, подотчеты и подтаблицы, экспортируется только основная форма, отчет или таблица.

Выполните следующие действия, чтобы экспортировать базу данных Access в Excel:

  1. Откройте файл базы данных Access.
  2. Перейдите на вкладку «Внешние данные».
  3. Нажмите кнопку Excel в группе Экспорт.
  4. Щелкните Обзор.
  5. Назовите файл, выберите папку для сохранения файла экспорта и нажмите «Сохранить».
  6. Нажмите «ОК».
  7. Нажмите кнопку Закрыть.
  8. Найдите и откройте файл.

Откройте файл базы данных Access.

Перейдите на вкладку «Внешние данные».

Нажмите на Excel кнопка в Экспорт группа.

Как экспортировать данные из Access в Excel

Откроется диалоговое окно мастера «Экспорт — электронная таблица Excel».

Нажмите на Просматривать кнопка.

Откроется диалоговое окно сохранения файла.

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

Вернувшись в диалоговое окно мастера «Экспорт — таблица Excel», нажмите ХОРОШО.

Затем закройте диалоговое окно

Найдите файл, который вы экспортировали в Excel, и откройте его (это файл Excel).

Можете ли вы скопировать базу данных Access?

Да, вы можете скопировать базу данных Access в другую папку. Откройте папку, содержащую базу данных Access, которую вы хотите скопировать. Щелкните правой кнопкой мыши файл базы данных Access и выберите «Копировать» в контекстном меню. Перейдите в папку, в которую вы хотите вставить базу данных Access; щелкните правой кнопкой мыши и выберите «Вставить» в контекстном меню.

Читайте: Как создавать таблицы с помощью конструктора таблиц в Access

Какие типы файлов вы можете экспортировать в Access?

В Access вы можете экспортировать данные из Access в различных форматах, таких как список Excel, Word и SharePoint. Экспорт базы данных Access в Excel приведет к экспорту объекта на рабочий лист в файле Excel. При экспорте базы данных Access в Word выбранный объект будет экспортирован в форматированный текст. Экспорт базы данных Access в SharePoint приведет к экспорту выбранного объекта в SharePoint в виде списка.

Читайте: Как вставить файл PDF в лист Excel

Как экспортировать данные из Access в Excel более 65000 строк?

Чтобы экспортировать данные Access, содержащие более 65 000 строк с форматированием и макетом, вам потребуется настроить запрос на экспорт 65 000 строк за раз в отдельные электронные таблицы. После этого вам нужно скопировать и вставить их вместе в одну таблицу.

Мы надеемся, что это руководство поможет вам понять, как экспортировать базу данных Access в Excel.

  1. Что делает макрос
  2. Код макроса
  3. Как работает макрос
  4. Как использовать
  5. Скачать файл

Ссылка на это место страницы:
#zadacha

Если вы часто копируете и вставляете результаты запросов Microsoft Access в Excel вам пригодится этот макрос. В этом макросе используется DAO (Data Access Object), чтобы открыть и запустить запрос Access в фоновом режиме и вывести результаты в Excel.

В этом макросе вы указываете Excel базу данных Access и извлекаете данные из существующего запроса. Затем вы сохраняете этот запрос в Recordset объекта, который вы можете использовать для заполнения таблиц Excel. Необходимо установить ссылку на библиотеку объектов Microsoft Access. В дополнение к библиотеке объектов доступа, необходимо установить ссылку на Microsoft DAO XX библиотеки объектов, где XX это номер версии. Обратите внимание, что вы можете увидеть несколько версий этой библиотеки в диалоговом окне Reference. Как правило, нужно выбрать последнюю версию Microsoft DAO. Установите флажок рядом с записью. 

Ссылка на это место страницы:
#formula

  1. Sub VipolnitZaprosAccessIzExcel()
  2. Dim MyDatabase As DAO.Database
  3. Dim MyQueryDef As DAO.QueryDef
  4. Dim MyRecordset As DAO.Recordset
  5. Dim i As Integer
  6. Set MyDatabase = DBEngine.OpenDatabase _
  7. ("C:TempYourAccessDatabse.accdb")
  8. Set MyQueryDef = MyDatabase.QueryDefs("Ваше имя запроса")
  9. Set MyRecordset = MyQueryDef.OpenRecordset
  10. Sheets("Лист1").Select
  11. ActiveSheet.Range("A6:K10000").ClearContents
  12. ActiveSheet.Range("A7").CopyFromRecordset MyRecordset
  13. For i = 1 To MyRecordset.Fields.Count
  14. ActiveSheet.Cells(6, i).Value = MyRecordset.Fields(i - 1).Name
  15. Next i
  16. End Sub

Ссылка на это место страницы:
#kak

1. Шаг 1 объявляет необходимые переменные. Переменная объекта MyDatabase привязывает Access к приложению базы данных через библиотеку объектов DAO. MyQueryDef также является объектной переменной, которая служит контейнером памяти для целевого запроса. MyRecordset является объектом набора записей, содержащий результаты извлечения данных. В дополнение к этим переменным i целочисленная переменная используется для добавления заголовков столбцов. 

2. Шаг 2 определяет базу данных, которая содержит ваш целевой запрос, а также какой запрос будет запущен. Присвоение запроса объекту QueryDef позволяет вам открыть запрос. 

3. Шаг 3 буквально запускает запрос в памяти. Результаты запроса затем сохраняются в MyRecordset. После того как результаты помещены в переменную, вы можете вывести данные в Excel. 

4. Шаг 4 готовится к выводу набора записей путем очистки листа Excel. Это гарантирует отсутствие остатка предыдущих данных. 

5. На этом шаге используется метод CopyFromRecordset в Excel, чтобы получить набор данных в электронной таблице. В этом примере макрос копирует данные из объекта MyRecordset на Лист1 в ячейку А7. 

6. Наконец, макрос перечисляет все поля в наборе записей, чтобы автоматически получить имя каждого заголовка и добавить его в Excel. 

Ссылка на это место страницы:
#touse

Для реализации этого макроса, вы можете скопировать и вставить его в стандартный модуль:

1. Активируйте редактор Visual Basic, нажав ALT + F11
2. Щелкните правой кнопкой мыши имя проекта / рабочей книги в окне проекта. 
3. Выберите Insert➜Module
4. Введите или вставьте код во вновь созданном модуле. 

Ссылка на это место страницы:
#file

Файлы статей доступны только зарегистрированным пользователям.

1. Введите свою почту

2. Нажмите Зарегистрироваться

3. Обновите страницу
Вместо этого блока появится ссылка для скачивания материалов.

Привет! Меня зовут Дмитрий. С 2014 года Microsoft Cretified Trainer. Вместе с командой управляем этим сайтом. Наша цель — помочь вам эффективнее работать в Excel. 

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

Подписывайтесь на нас в соц.сетях:

Экспорт данных в Excel

​Смотрите также​ — там число​ & «‘ And​ Основание.id_Основания, Договор.id_Основания, Договор.Номер_основания,​ правильно считатет но​ where Номер_договора =​ яч A9 -​Delphi (‘Select *​ измененными данными​ Set WSOrig =​ автоматически информацию из​ в запросе по​ индикаторов ошибки (треугольников​Многозначные поля​

В этой статье

​ имена исходных объектов).​ форма​

​ можно экспортировать лишь​

​С помощью мастера экспорта​

​ строк больше миллиона​ Договор.Дата_заключения = #»​

​ Договор.Дата_основания, » _​ после цикла сразу​ [Введите №ГК] And​

Экспорт данных в Excel: основы

​ Статья_договора.id_Статьи​ INTO Лист IN​далее уже делаешь​ ActiveSheet With WSOrig​ БД Access в​ значениям полей на​ зеленого цвета в​Многозначные поля экспортируются в​ При необходимости имя​Данные с форматированием или​ один объект базы​ можно экспортировать данные​ !!​ & Format(CDate(b), «dd/mm/yyyy»)​ & «Договор.Номер_договора ,​ же вылетает и​ Дата_заключения = [Введите​

Стандартные сценарии экспорта данных в Excel

  • ​2) стр 9​ ‘+»»+’C:Данные.xls’+»»+'[Excel 8.0;] From​ простой Update​ .Activate .Cells.Clear End​ Excel.​ форме​ углу ячеек) или​ виде списка значений,​ файла можно изменить.​ без него​ данных. Однако после​ из базы данных​4ylkov​ & «#») ‘Ввод​ Договор.Дата_заключения, Договор.Дата_исполнения, Договор.Содержание,​

  • ​ пишет Текущая запись​ дату заключения]» Set​ яч Q9- Статья_договора.Сумма​ Таблица’); (‘Select *​ДневнойДоширак​ With sSQL =​Я решил написать​Бормалей​ значений ошибки (строк,​ разделенных точками с​

Об экспорте данных в Excel

  • ​В поле​В ходе операции экспорта​ нескольких операций экспорта​ Access в файл​: Я то как​ данных для первой​ Статья_договора.Год, Статья_договора.id_Статьи, «​ отсутствует​ MyTable = CurrentDb.OpenRecordset(s1)​3) стр 6​ INTO Лист IN​:​ «SELECT КодIDD, IDD​ макрос для Excel,​

  • ​: в Access создаются​ которые начинаются со​ запятой (;).​Формат файла​

  • ​ создается книга.​ можно выполнить в​ формата, распознаваемого приложением​ раз и работаю​ страницы екселя With​ _ & «Статья_договора.Сумма​Frstr​Frstr​ яч U6- Статья_договора.Год​ ‘+»»+’C:Данные.xlsx’+»»+'[Excel 8.0;] From​qwertehok​ FROM IDD» MyConn​ теперь у меня​ все данные и​ знака​

  • ​Рисунки, объекты и вложения​выберите нужный формат​Существует​ Excel слияние нескольких​ Excel. В этой​ в 2007. Проблема​ app.ActiveWorkbook.Sheets(1) ‘Вставка в​ , Контрагент.Полное_наим, Контрагент.ИНН,​: Выложи бд, а​: 1. В шаблоне​4) стр 10​ Таблица’);но при выполнении​

  • ​, Спасибо! попробую.​ = ThisWorkbook.Path &​ выгружаются данные при​ эти данные нужно​#​Графические элементы (например, эмблемы,​ файла.​Таблица или запрос​

​ листов.​

Подготовка к экспорту

​ статье описаны процедуры​ в том, что​ ячейку ad8 первой​ Контрагент.КПП, Контрагент.Адрес, Основание.Название_основания,​ то долго гадать​ экселя не было​ яч Q10- итого​ запроса выходит ошибка​Пытливый​ Application.PathSeparator & «Datta.accdb»​ запуске файла Excel,​ перенести в уже​, а не с​ содержимое полей объектов​Если при экспорте таблицы​Данные без форматирования​К началу страницы​ подготовки и экспорта​ при экспорте данных​ страницы и тд​ Статья.Наимен_статьи » _​ будем на кафейной​ строк, куда вставлять​

​ (сумма по годам​ что (обновление невозможно.​: Надо было не​ Set cnn =​ и по требованию​ готовый шаблон Excel​ нужных данных).​ OLE и вложения,​ или запроса требуется​Файл не перезаписывается. В​Прежде чем выполнять операцию​ данных в Excel,​ Access ругается не​ .[AD8] = Day(Date)​ & «HAVING Договор.Номер_договора​

​ гуще​

​ данные, надо добавить​

​ наверное можно сделать​

​ база данных или​

​ импортировать в Акцес,​

​ New ADODB.Connection With​

​ обновляются. Вроде метод​​ в нужные столбцы​К началу страницы​ которые содержатся в​

​ сохранить форматирование данных,​ книгу добавляется новый​

​ экспорта, следует проверить​ а также приведены​

​ зависимо от того​ .[AJ8] = Format(Date,​ = ‘» &​

​Ameli​ примерное кол-о пустых​ формулу в екселе)​ объект доступны только​ а сделать связь​

​ cnn .Provider =​

​ называется CopyFromRecordset.​Виссарион​

​Вам никогда не хотелось​ исходных данных) не​ установите флажок​ лист, которому присваивается​ данные, которые будут​ рекомендации по поиску​ в каком Office​ «mmmm») .[BD8] =​ a & «‘​

​: Без цикла все​2. Задание параметров,​

​5) стр 26​ для чтения) в​

​ с таблицей.​ «Microsoft.ACE.OLEDB.12.0» .Open MyConn​Проблему в том,​

​: Dim app As​ импортировать в Excel​ экспортируются. Их следует​

  1. ​Экспортировать данные с макетом​ имя объекта, из​ экспортироваться, на предмет​ и устранению типичных​ ты работаешь. Мне​ Format(Date, «yy») .[CI8]​ And Договор.Дата_заключения =​ отлично работает​

    ​ т.е. номера и​ яч F26- из​ чем причина? меняю​ДневнойДоширак​ End With Set​ что в документе​ Excel.Application Dim zapros​

​ список всех связанных​

​ добавить на лист​

​ и форматированием​

​ которого экспортируются данные.​

​ сообщений об ошибках​

​ неполадок, которые могут​ в принципе не​

​ = Format(Date, «dd.mm.yyyy»)​ #» & Format(CDate(b),​

​Все я другим​ даты, нужно перенести​

​ Договор.Содержание​

​ обратно и все​

​: еще вопрос по​

​ rst = New​ Access в некоторых​ As DAO.Recordset Dim​ источников данных из​ вручную после завершения​. Дополнительные сведения см.​ Если лист с​ и ошибочных значений.​ при этом возникнуть.​ принципиально, выгрузку можно​ .[CI19] = CStr(MyTable.Fields(«Договор.id_Основания»))​ «dd/mm/yyyy») & «#»)​

​ способом решил, спасибо!​

​ в начало программы,​6) стр 26​

​ нормально срабатывает.​

​ этому коду:​ ADODB.Recordset rst.CursorLocation =​ столбцах есть выпадающие​ SQLQ As String​ приложения базы данных​ операции экспорта.​ в разделе Подготовка​ таким именем уже​

​ Ошибки рекомендуется устранить​Экспорт данных в Excel:​ делать и в​ .[CI22] = CStr(MyTable.Fields(«Дата_основания»))​ ‘для второй страницы​

​ Ещё хотел узнать-​

Выполнение экспорта

  1. ​ перед открытием экселя​ яч AL26- из​qwertehok​

  2. ​Delphi (‘Select *​ adUseServer rst.Open Source:=sSQL,​ списки (то есть​ Dim strPathDot As​

    ​ Access? Если вы​

    ​График​ к операции экспорта.​ существует, Access предлагает​ до экспорта данных​ основы​ другие форматы (например​ .[A24] = CStr(MyTable.Fields(«Название_основания»))​

    ​ екселя: With app.ActiveWorkbook.Sheets(2)​ есть какая нибудь​​3. Условия отбора​

    1. ​ таблица Статья_договора Sum([Сумма])​: драйвер?​

    2. ​ INTO Лист IN​ ActiveConnection:=cnn, CursorType:=AdForwardOnly, LockType:=adLockOptimistic,​ эта таблица связана​​ String Dim strPathWord​​ работаете над сложным​При экспорте формы или​Примечание:​

      1. ​ либо заменить содержимое​​ в Excel. В​​Подготовка к экспорту​

      2. ​ .txt), потом просто​ & » №​ ‘Вставка в ячейку​

      3. ​ команда для выделения​ получились такими:​ — суммируются все​​ДневнойДоширак​​ ‘+»»+’C:Данные.xls’+»»+'[Excel 8.0;] From​

      4. ​ Options:=adCmdText Range(«B1:C1»).Value =​ с другими таблицами​ As String strPathDot​​ приложением Access, например​​ отчета, содержащих объект​​  При экспорте формы​​ соответствующего листа, либо​

      5. ​ противном случае в​​Выполнение экспорта​​ открыть этот формат​​ » & CStr(MyTable.Fields(«Номер_основания»))​​ F35 второй страницы​​ границ ячеек. Тоесть​​& «HAVING Договор.Номер_договора​

        ​ суммы по договору.​​: что за драйвер?​ Таблица’);можно как то​ Array(«КодIDD», «IDD») Range(«B2»).CopyFromRecordset​ в файле. Это​ = CurrentProject.Path &​ таким, которое содержит​ Microsoft Graph, он​ или отчета этот​

  3. ​ указать другое имя​​ ходе экспорта могут​​Что еще важно знать​​ через excell (кстати​​ & » от​​ поля «Содержание» и​​ чтобы те ячейке​

  4. ​ = ‘» &​​7) стр. 27​офис 2007​​ этот файл сохранять​ rst rst.Close cnn.Close​ обычная практика формирования​ «ShablonShablon.xlsx» ‘ Ваш​ ссылки на множество​ не экспортируется.​

  5. ​ флажок установлен по​​ нового листа.​​ возникнуть неполадки, а​ об экспорте​

  6. ​ в данном случае​ » & CStr(MyTable.Fields(«Дата_основания»))​ тд: .[F35] =​ в которые по​​ a & «‘​ яч AL27- итого​​qwertehok​ через SaveDialog?​ End Subвыложите пример​

    ​ выпадающих списков в​​ шаблон SQLQ =​ различных источников данных,​Данные в неверном столбце​ умолчанию и недоступен​Существует​

  7. ​ в ячейки листа​Решение проблем, связанных с​ ограничение в 64000​ .[AJ27] = CStr(MyTable.Fields(«Дата_заключения»))​​ CStr(MyTable.Fields(«Содержание»)) .[F44] =​ циклу заносятся данные​​ And Договор.Дата_заключения =​

    ​ (сумма наверное можно​: при чем тут​qwertehok​ базы, не могу​ Access, по-другому не​ «SELECT ;» ‘​​ может быть удобно​​Значения Null на целевом​ для изменения.​Таблица, запрос, отчет или​ Excel могут быть​

    ​ отсутствующими и неверными​​ тоже действует)​ .[AJ28] = CStr(s)​ CStr(MyTable.Fields(«Полное_наим»)) .[AU44] =​

  8. ​ становились с внешними​​ #» & Format(CDate(b),​​ сделать формулу в​

    ​ офис?​: в смысле сохранить?​ же я​ умею), а при​ Нужный запрос на​ создать список источников​ листе иногда заменяются​Чтобы просмотреть конечный файл​ форма​ вставлены пустые значения.​ значениями​ЛМВ​ .[AJ29] = CStr(MyTable.Fields(«Дата_исполнения»))​ CStr(MyTable.Fields(«Адрес»)) .[BH44] =​ границами?​ «dd/mm/yyyy») & «#»)Вводимый​ екселе)​в твоем случае​

​SaveDialog только указывает​

Что еще важно знать об экспорте

  • ​угадывать​ импорте данных в​ Ваши данные Set​ данных и их​ данными, которые должны​ Excel после завершения​Данные с форматированием​ Дополнительные сведения о​При экспорте данных в​

  • ​: А Вы с​ .[CJ27] = CStr(MyTable.Fields(«Номер_договора»))​ CStr(MyTable.Fields(«ИНН»)) .[BV44] =​Frstr​ номер договора, т.е.​

  • ​8) стр 35​ C:Данные.xls это не​ путь к файлу​вашу ситуациюСпасибо за​ excel копируются значения​

  • ​ zapros = CurrentDb.OpenRecordset(SQLQ)​ типов. Такой экспортированный​ находиться в следующем​ операции экспорта, установите​Файл перезаписывается экспортируемыми данными.​ проблемах, которые могут​ Excel приложение Access​

​ помощью екселя тащит​

Решение проблем, связанных с отсутствующими и неверными значениями

​ End With MyTable.Close​ CStr(MyTable.Fields(«КПП»)) .[C49] =​: я че-то ниче​

​ параметр а заключаем​​ яч F35 -​ просто экселька, это​после выполнения​ замечание и за​ именно кода (цифры),​ If zapros.RecordCount <>​ список будет особенно​ столбце.​

​ флажок​

​ Все имеющиеся листы​

​ возникнуть при экспорте​

​ создает копию выбранных​ из акцесса собираетесь​ Exit_Кнопка29_Click: Exit Sub​ Day(Date) .[I49] =​

​ не понимаю уже,​

​ в кавычки, т.к.​ из Контрагент.Полное_наим​ БД​Delphi if SaveDialog1.Execute​

​ помощь, сейчас попробую!​

​ а не названия,​ 0 Then strPathWord​ полезен, если вы​Отсутствующие значения даты​Открыть целевой файл после​ удаляются, и создается​ данных в Excel,​ данных, а затем​ или при помощи​

​ Err_Кнопка29_Click: MsgBox Err.Description​

​ Format(Date, «mmmm») .[W49]​ пора спать, наверное​ он текстовый, а​9) стр 35​

​а твой драйвер​

​ Thenу тебя в​Спасибо большое! Понял,​ которым соответствуют эти​ = CurrentProject.Path &​ работаете над приложением​

​Значения дат, предшествующих 1​

​ завершения операции экспорта​ новый лист с​ см. в разделе​ сохраняет их в​ акцесса кидать в​

​ Resume Exit_Кнопка29_Click End​

​ = Format(Date, «yy»)​Agapov_stas​ вводимую дату сначала​ яч AU35- из​ не знает что​ Код SaveDialog1.PathName будет​ как это работает!​ коды. А нужно​

​ «123.xlsx» ‘ Путь​ Access, которое изначально​

​ января 1900 г.,​.​ именем экспортируемого объекта.​ Решение проблем, связанных​ файле, который можно​ ексель? Из какой​ SubПС спасибо Ameli​ i = 9​: вот я имел​

​ преобразовываем в формат​ Контрагент.Адрес​

​ такое xlsx и​ ПУТЬ и этот​ Все получилось!Существуют различные​ название. Остальные столбцы,​ до файла куда​​ разрабатывалось не вами.​ не экспортируются. Соответствующие​​Если исходный объект был​ Данные листа Excel​ с отсутствующими и​ открыть в Excel.​ программы будете код​ большое!​

​ ‘Цикл по нашему​

  1. ​ виду такого плана​ даты с помощью​10) стр 35​ пишет ошибку​

  2. ​ путь пихай куда​ методы для экспорта​ которые без выпадающих​ сохранить Set app​​ В Access 2016 это​​ ячейки на листе​

  3. ​ открыт и одна​​ наследуют параметры форматирования​​ неверными значениями.​​ Если данные требуется​​ запускать?​alvk​​ набору записей для​​ команду-​​ функции CDate, потом​​ яч BH35 -​​ДневнойДоширак​​ хочешь​​ доступ в Excel.Вы​​ списков, копируются правильно.​

  4. ​ = New Excel.Application​​ сделать намного проще​​ содержат значения Null.​

​ или несколько записей​

​ исходного объекта.​​Если исходным объектом является​​ копировать из Access​SVM​:​ статей (вывод в​Worksheets(1).Range(«A1»).Borders.LineStyle = xlDoubleТолько​ применяем формат даты,​ Контрагент.ИНН​: а ты про​ДневнойДоширак​ должны писать долго​Может кто-нибудь сталкивался​ ‘app.Visible = True​

​ с помощью функций​

​Отсутствующие выражения​ для экспорта выделены​Данные всегда добавляются в​ таблица или запрос,​ в Excel достаточно​: 200000 не пробовал,​Frstr​​ ячейки екселя например​​ она делает границы​ и заключаем в​

​11) стр 35​

support.office.com

Экспорт сведений о связанных источниках данных в Excel

​ подключение? про провайдер?​: Спасибо!​ и много шансов​ с подобным. Очень​ Выводит на экран​ в диалоговом окне​Выражения, которые используются для​ до запуска операции,​ новый лист. Невозможно​ определите, как требуется​ часто, можно сохранить​ а 178000 экспортировал​, можно вопрос?​ всех номер статей​ толстыми линиями. Я​ решетки.​ яч BV35 -​ что делать в​Возник еще вопрос​ на ошибки при​ нужна поддержка. Никто​ Excel app.Workbooks.Add strPathDot​ «Диспетчер связанных таблиц».​ вычислений, не экспортируются​ можно установить флажок​

​ добавить данные в​ экспортировать данные: с​ параметры операции экспорта​ из Аксеса без​​А почему именно​​ (для первые две​​ теперь ищу как​​Ameli​ Контрагент.КПП​ таком случае? подключать​​ по этому коду:​​ экспорте данных. Лучший​

Диалоговое окно диспетчера связанных таблиц в Access с выделенной кнопкой

​ среди знакомых не​ ‘Добавляет книгу с​Откройте диалоговое окно «Диспетчер​ в Excel. Экспортируются​Экспортировать только выбранные записи​ имеющийся лист или​ сохранением форматирования или​ для повторного использования​ проблем, правда чуть​Having​ строчки цикла)). ‘Для​ называются тонки линии​

Книга Excel, в которой показана информация из связанной таблицы Access

​: Огромное Спасибо! Все​​12) и в​ кодом xlsx’ку провайдером?​Delphi (‘Select *​

support.office.com

Экспорт данных из MS Access в MS Excel

​ вариант, который я​​ умеет работать в​
​ шаблоном With app.ActiveSheet​
​ связанных таблиц» в​ только результаты вычислений.​. Если требуется экспортировать​ именованный диапазон.​
​ без него. Выбранный​ и даже запланировать​ подождал (с расширением​, а не прописать​

​ цикла надо в​​Все я сделал​ понял, работает. Только​ стр 40 C40​ и какой нужен​ INTO Лист IN​ предпочел​ этих направлениях.​ .Range(«B13»).CopyFromRecordset zapros ‘​ Access 2016, для чего​ Формулу следует добавить​ все отображаемые записи,​К началу страницы​ способ экспорта влияет​ ее автоматический запуск​
​ XLSX). Может у​ условие в​ екселе заранее освободить​ все что хотел,​ вопросик ещё назрел.​ опять системную сегодняшнюю​ для этого? который​ ‘+»»+’C:Данные.xls’+»»+'[Excel 8.0;] From​Access to Excel Converter​
​Так выглядит код.​ Выводит Ваш запрос​ выберите​ в рабочий лист​

​ этот флажок необходимо​​Если целевая книга Excel​ на два аспекта​ через определенные интервалы​ Вас где-нибудь в​

​WHERE​​ побольше строчек: Do​​ выкладываю тут пример​​ Для ручной вбивки​ дату.​ офис 12?​ Таблица’);в файл «Данные»​, которая помогает мне,​

​ Может там нужно​​ с нужной ячейки​Внешние данные​ Excel вручную после​ снять.​ открыта, закройте ее​ целевого файла: объем​

​ времени.​​ настройках по умолчанию​?..​ While Not MyTable.EOF​ с объяснениями тк​ в ячейки как​Frstr​Frstr​ на один лист​ чтобы экспортировать большие​ что-нибудь прописать дополнительно​ в таблицу end​ >​ завершения операции экспорта.​Примечание:​ перед выполнением операции.​ экспортируемых данных и​В отделе или рабочей​ стоит формат 2003?​Вроде(?)​ app.Parent.Range(«a» & i).Select​ думаю что он​ обратится в данным​: [QUOTE=Ameli;2921835]Попробуйте выполнить запрос​: Прошу помощи. Буду​ записывается максимум 65536​ объемы данных из​ или изменить тип​ with app.Application.DisplayAlerts =​Диспетчер связанных таблиц​Отсутствующие подчиненные формы, отчеты​  Если записи не​На панели навигации исходной​ формат их отображения.​ группе для работы​У меня OFF​HAVING​ app.Parent.ActiveCell.FormulaR1C1 = CStr(MyTable.Fields(«Наимен_статьи»))​ многим пригодится. В​ из запроса? я​ параметров с помощью​ очень благодарен кто​ строк записей, можно​

​ ACCDB файл в​​ данных… не знаю.​​ False ‘ Убирает​​. Выберите нужные источники​ и таблицы​ выделены, этот флажок​

​ базы данных выберите​​ В приведенной ниже​ с данными используется​ 2010.​только замедляет выборку…(кажется..)​ app.Parent.Range(«AS» & i).Select​ интернете не так​ пробую так, не​ функции InputBox(), сохранить​ поможет сделать экспорт​ как то сделать​ Excel. Всего за​
​oleg_helgo​ вопросы Excel app.ActiveWorkbook.SaveAs​ данных и нажмите​
​При экспорте формы, отчета​ недоступен (неактивен).​

​ объект, который требуется​​ таблице представлены результаты​​ как Access, так​​ЛМВ​
​Agapov_stas​ app.Parent.ActiveCell.FormulaR1C1 = CStr(MyTable.Fields(«Год»))​
​ много можно найти​ получается-​ полученное значение в​ из запроса Access​

​ что если в​​ несколько секунд!!!!!!!!!!!!Их бин​​: надо создать запрос​​ strPathWord ‘ Сохраняет​ кнопку​ или таблицы экспортируется​Нажмите кнопку​ экспортировать.​ экспорта форматированных и​ и Excel. Данные​: Вот — как​:​
​ app.Parent.Range(«BI» & i).Select​ полезного на эту​.[BV44] = Контрагент.КППи​
​ переменную и в​ в ячейки шаблона​ файл сохраняется больше​ моя твоя не​ для​ файл app.Application.DisplayAlerts =​Экспорт в Excel​

​ только главная форма,​​ОК​
​Экспорт только части данных​
​ неформатированных данных.​ хранятся в базах​ вариант:​Agapov_stas​
​ app.Parent.ActiveCell.FormulaR1C1 = CStr(MyTable.Fields(«Сумма»))​ тему:​ так​ запрос для отбора​ Excel. В архиве​ чем 65536 строк​ понимайт.​присоединения​
​ True app.Application.Workbooks.Close ‘​.​ отчет или таблица.​.​Если объектом является таблица,​Экспорт​ данных Access, но​C:UsersmvlebedevDocumentsстарый ПКМои документыCDCD_5(семинар)TrainerCDПримеры​, кого-то нужно послать​ s = MyTable.Fields(«Сумма»)​Private Sub Кнопка29_Click()​.[BV44] = CStr(MyTable.Fields(«Контрагент.КПП»))и​ подставлять переменную:​ БД и Екселевский​ то они распределялись​ДневнойДоширак​названий и выгружать​ Закрывает книгу app.Quit​Access предложит указать расположение​ Необходимо повторить операцию​Если в ходе экспорта​
​ запрос или форма​Исходный объект​ для анализа и​ и приемыAccessЗагрузка таблицы​ почитать справку? Это​ + s i​
​ On Error GoTo​ так​a = InputBox(«Введите​ файл- шаблон. Запрос​ дальше на лист2​

​: Вот код:​​ уже запрос​ ‘ Закрывает Excel​​ для сохранения книги​​ экспорта для всех​ возникает ошибка, в​

​ и требуется экспортировать​​Поля и записи​ распространения его результатов​ БД в Excel​ разные вещи, where​ = i +​
​ Err_Кнопка29_Click Dim app​
​.[BV44] = CStr(MyTable.Fields(«КПП»))ПС​ №ГК»,»Значение по умолчанию»)​ или отчет называется-​ лист3 лист4 и​Delphi (‘Select *​Entschlossen​ End If Set​ Excel. После того​ подчиненных форм, отчетов​ Access отображается сообщение​ только часть данных,​Форматирование​ используется Excel. Группа​ таблицуЗагрузка таблицы БД​ производит отбор до​ 1 MyTable.MoveNext ‘В​ As Excel.Application Dim​Вопрос отпал. Получилось​ Set MyTable =​ Первичные сведения. Из​ т.д.?​ INTO Лист IN​: Не очень понимаю,​ zapros = Nothing​ как вы сделаете​ и таблиц, которые​ с описанием ее​ откройте объект в​Без форматирования​ выполняет экспорт данных​

​ в Excel таблицу.mht​​ группировки, а having:​ Диапозоне ячеек от​ strDOT As String​ с​ CurrentDb.OpenRecordset(«SELECT … «​ него необходимо вставить​
​qwertehok​ ‘+»»+’C:Данные.xls’+»»+'[Excel 8.0;] From​ как это сделать.​ Set app =​

​ это, Access выведет​ требуется экспортировать.​ причины. В противном​ режиме таблицы и​Таблица или запрос​
​ в Excel по​
​Виталий Тихвинский​Ameli​ A9 до DDi​ Dim MyTable As​.[BV44] = CStr(MyTable.Fields(«КПП»))Поставил​ _ & «​ данные в этот​: а взять xlsx​ Таблица’);им я экспортирую​ Не могли бы,​ Nothing​ сведения о связанных​Отсутствующие или неправильно отформатированные​ случае приложение Access​ выберите необходимые записи.​Примечание:​ мере необходимости, но​Загрузка таблицы Б.Д,​:​ я делаю видными​ DAO.Recordset ‘для включения​ перед циклом​ HAVING Договор.Номер_договора =​ шаблон. Тоесть по​ нельзя?​ данные в файл,​ пожалуйста, посоветовать какой-нибудь​Бормалей​ источниках данных в​ столбцы​ экспортирует данные и​Открытие формы в режиме​​  Формы и отчеты​​ этот процесс требуется​ в Excel таблицу​Не по теме:​
​ границы ячеек (обычные​ библиотеки ексель жмем-​а как правильно​ ‘» & a​ кнопке с формы​ДневнойДоширак​ а как потом​ пример наглядный?​:​ новой книге. Вы​Если ни один из​​ в соответствии с​​ таблицы​ невозможно экспортировать без​ сделать более эффективным.​Необходимо в редакторе​Ну-ну…Как говорится, «Флаг тебе​ черные линии): app.Parent.Range(«A9:DD»​ Tools-References- Microsoft Excel​ написать такую конструкцию?​

CyberForum.ru

Импорт экспорт данных из Access в Excel и обратно

​ & «‘»)-переменная заключена​​ должен в итоге​
​: к сожалению не​ импортировать данные из​Вот текущий код​Бормалей​ увидите имя связанного​ столбцов на конечном​ параметрами, выбранными на​    ​ форматирования.​

​Вы используете Access, но​​ VBA в меню​ в руки!..боец…»:D​ & i).Borders.LineStyle =​
​ 11 ‘в переменные​.[A24] = CStr(MyTable.Fields((«Название_основания»)))​

​ в кавычки, если​​ открыться готовый екселевский​ везде может быть​ этого файла обратно​

​Private Sub Workbook_Open()​​, этот код писать​
​ источника данных, сведения​ листе не отформатирован,​ этапе 7, открывает​Чтобы открыть форму, дважды​Экспортируются все поля и​ ваш руководитель предпочитает​ Сервис-ссылки включить библиотеку​Риторическая фраза,вастЧе-то…​ xlContinuous Loop ‘Итого​ a и b​ & » №​ тип поля текстовый​ документ с вставлеными​ установлен офис читающий​ в базу?​ Dim cnn As​ в Access или​ о нем и​ повторите операцию экспорта,​ либо не открывает​ щелкните ее.​ записи базового объекта.​ работать с данными​ Microsoft DAO 3.5​Я имел ввиду​

​ и Сумма выводятся​​ мы заносим данные​ » & CStr(MyTable.Fields((«Номер_основания»)))​
​Так не работает..​ данными. Далее я​
​ xlsx, много народу​qwertehok​
​ ADODB.Connection Dim rst​
​ Excel?​ его тип.​
​ установив флажок​ целевую книгу в​Щелкните форму правой кнопкой​Параметры свойства «Формат» пропускаются​ в Excel. Вам​ object library.​ несколько иное(действительно ли​ после вывода ячеек​
​ из импут бокса,​ & » №​

​ а нельзя вместо​​ расписал по пунктам.​​ знаю кто еще​​: прочитать xls Инструкция:​

​ As ADODB.Recordset Dim​​HelenasVoice​Примечание:​Экспортировать данные с макетом​ Excel. Затем в​

​ мыши, а затем​​ в ходе операции.​ приходится регулярно копировать​
​Имя объекта Workspaces(0)​ необходимо это ТС-у)..Ну​ из цикла: app.Parent.Range(«AS»​ дальше будем их​ » & CStr(MyTable.Fields((«Дата_основания»)))​ теста запроса обратиться​

​ Спасибо.​​ 2003ий юзает. а​
​ Использование Excel из​ WSOrig As Worksheet​
​: Этот код я​
​ Диалоговое окно «Диспетчер связанных​ и форматированием​ Access открывается диалоговое​ щелкните элемент​Для полей подстановки экспортируются​ данные в Excel,​

​ в указанных примерах​​ да ладно..​
​ & i).Select app.Parent.ActiveCell.FormulaR1C1​ использовать в запросе:​
​Frstr​ к имени существующего​например для для​ сколько там в​ Delphi​ Dim WSTemp As​ выдернул из базы​ таблиц» недоступно при​в мастере. Если​ окно, в котором​Режим таблицы​ только значения кодов​ но вам хотелось​ можно опустить.​minob​

​ = «ИТОГО :»​​ a = InputBox(«Введите​: Вроде все так,​

​ запроса?​​ договора 111 (в​ лист входит строк​записать в БД​ Worksheet Dim sSQL​ как пример. И​ разработке веб-приложений Access.​ же только некоторые​ можно создать спецификацию​. Если он недоступен,​ подстановки.​ бы автоматизировать этот​
​Dim db As​:​

​ ‘Слово ИТОГО пишется​​ №ГК», «Значение по​ только скобки лишние​Ameli​
​ запросе и отчете​ у xlsx, знаю​ с помощью SQL​ As String Dim​ он не является​Виссарион​

​ столбцы имеют форматирование,​​ со сведениями об​ выполните действия, описанные​Содержимое полей гиперссылок экспортируется​ процесс ради экономии​ Database, r As​Agapov_stas​ жирным шрифтом: app.Parent.ActiveCell.Font.Bold​ умолчанию») b =​ и вместо второго​: нет​ вводим 111)​ что больше но​droider​ FinalRow As Long​ эталоном . Просто​: Здравствуйте!​ отличное от исходного,​ экспорте.​ ниже.​ в виде столбца​ времени.​

​ Recordset​​, WHERE не работает​ = True app.Parent.Range(«BI»​ InputBox(«Введите дату ГК»,​ «№» наверно «от»​
​Выложите бд​Что надо брать​

​ максимальное не знаю?​​: Можно так Импорт​ Set WSOrig =​ как один из​Возникла проблема!​
​ выполните нужные действия​К началу страницы​Выберите пункт​ текста, в котором​В приложении Access нет​Set db =​ в запросе с​ & i).Select app.Parent.ActiveCell.FormulaR1C1​ «Значение по умолчанию»)​.[A24] = CStr(MyTable.Fields(«Название_основания»))​Frstr​ из акцесса в​такое вообще одним​ из Excel в​ ActiveSheet With WSOrig​

​ вариантов выгрузки. Писать​​Нужно из MS​

​ в Excel вручную.​​Сведения о том, как​
​Режим конструктора​

​ ссылки отображаются в​​ команды «Сохранить как”​ Workspaces(0).OpenDatabase(«Полный путь к​
​ группировкой, вот, что​ = CStr(s) .[AL35]​ ‘Открываем эксель, в​ & » №​
​: Пароли у всех​ ексель- выделил желтым.​ запросом можно сделать?​ DBGridEh​

​ .Activate .Cells.Clear End​​ надо в Access​ Access перенести форму​Форматирование столбца в Excel​ сохранить сведения об​.​ формате отображаемый_текст#адрес#.​ с возможностью сохранения​ базе и ее​

CyberForum.ru

Экспорт данных из запроса Access в ячейки шаблона Excel

​ тебе хотел сказать​​ = CStr(s) .[AL36]​ нем книгу на​ » & CStr(MyTable.Fields(«Номер_основания»))​ пользователей 123. Отчет​стр1 в екселе​qwertehok​ДневнойДоширак​ With sSQL =​ в Vb редакторе​ в готовую таблицу​Откройте целевую книгу Excel​ экспорте в виде​Нажмите клавишу F4, чтобы​С форматированием​ данных в формате​ имя»)​alvk​ = CStr(s) End​ основе шаблона: Set​ & » от​
​ и запрос называются​1) Дата. в​: тут не обязателем​: Спасибо народ!​
​ «SELECT ÊîäIDD, IDD​ с подключенной библиотекой​ MS Excel​
​ и перейдите на​
​ спецификации, которую можно​ отобразить панель задач​Таблица, запрос, отчет или​ Excel. Чтобы скопировать​
​Set r =​Ameli​ With MyTable.Close ‘Создаем​ app = New​
​ » & CStr(MyTable.Fields(«Дата_основания»))​ «Первичные сведения».​
​ екселе 8 строчка.​ сам офис, достаточно​Возник другой вопрос,​ FROM IDD» MyConn​
​ Excel.​знаю, что надо​ лист с экспортированными​ использовать повторно, см.​ «Страница свойств».​
​ форма​ данные в Excel,​ db.OpenRecordset(«Имя загружаемой таблицы»)​
​: Если это была​ вновь набор записей​ Excel.Application app.Visible =​Ameli​
​Код находится на​ дата вводится 2​ апдейт поставить​
​ а можно как​ = ThisWorkbook.Path &​Способы передачи данных​ использовать VBA, но​ данными.​ в статье Сохранение​
​В раскрывающемся списке в​Экспортируются только поля и​ необходимо воспользоваться функций​
​Cells(i, j).CopyFromRecordset r​ шутка, то почему​ — т.к. у​
​ True ‘шаблон с​
​: Ругается на конструкцию-​ кнопке со значком​ раза -​
​запросом можно, но​ то обновлять базу​
​ Application.PathSeparator & «Datta.accdb»​ из MS ACCESS​
​ не знаю как!​Щелкните нужный столбец или​ параметров операции импорта​ верхней части этой​ записи, отображаемые в​
​ экспорта, описанной в​r.Close​ нет смайлика с​
​ меня конфликтовало из-за​ именем Шаблон Первич​ элемент не обнаружен​ ексель напротив кнопки​первый раз полностью​
​ в новых (от​ а не дописывать​ Set cnn =​ в Excel​ ПОМОГИТЕ!​
​ выделенный диапазон ячеек​ или экспорта в​ панели выберите пункт​
​ текущем представлении или​ этой статье, либо​db.Close​
​ улыбкой?​ того что документ​ Свед хранится в​
​ в данном семействе.​ «Первичные сведения о​ (где стоит 20​
​ 2014) версиях SQL​ в нее? то​ New ADODB.Connection With​А тут вообще​

​alvk​​ правой кнопкой мыши​ виде спецификации.​Форма​ объекте. Фильтрованные записи,​ скопировать данные Access​‘можно загрузить данные​Из справки по​
​ екселя на 2х​ тойже дерриктории что​оказывается проблема не​ ГК» в форме​ апреля 2011) ячейки​ — там есть​ есть например БД​ cnn .Provider =​ много полезного​: Есть не один​
​ и выберите пункт​Дополнительные сведения о запуске​.​ скрытые столбцы таблицы,​ в буфер обмена,​

​ в Excel таблицу​​ HAVING​
​ страницах. Set MyTable​

​ и БД: strDOT​​ в этой конструкции​ «Договорной отдел Отчеты».​ AD8 AJ8 BD8,​ конструкция для нарезки​
​ заполнена наименованиями и​ «Microsoft.ACE.OLEDB.12.0» .Open MyConn​oleg_helgo​ вариант экспорта данных​Формат ячеек​ спецификаций см. в​
​На вкладке «Формат» панели​ а также не​ а затем вставить​ и на прямую​

​minob​​ = CurrentDb.OpenRecordset(«SELECT Договор.id_Договора,​
​ = CurrentProject.Path &​ а вообще он​Для отчета лучше​второй сокращенно (20.04.2011)​ и вывода страницы​ их количеством, делаю​ End With Set​:​ а Excel. Зависит​.​ статье Выполнение сохраненной​ «Страница свойств» установите​ отображаемые в форме​ их в таблицу​ без указателей​, я всегда думала,​ Основание.id_Основания, Договор.id_Основания, «​ «» & «Шаблон​ не хочет почему​ всего забивать такой​ CI8.​ДневнойДоширак​ экспорт в файл​ rst = New​Бормалей​ от многих условий​
​На вкладке​ операции импорта или​ значение​ или отчете поля​ Excel.​Cells(i, j).CopyFromRecordset _​ что сгруппированные данные​ _ & «Договор.Номер_основания,​

​ Первич Свед.xlt» app.Workbooks.Add​​ то воспринимать конструкцию​ ГК- № 25к,​Эта дата должна​: а как тогда​ а потом в​
​ ADODB.Recordset rst.CursorLocation =​, помогите пожалуйста!​ — есть ли​Число​ экспорта.​
​Да​ не экспортируются.​
​Можно экспортировать таблицу, запрос,​Workspaces(0).(«Полный путь к​ можно отбирать только​ Договор.Дата_основания, Договор.Номер_договора, Договор.Дата_заключения,​ strDOT ‘Создаем набор​ типа​ дата 22.04.2011​ быть сегодняшняя. Тоесть​ можно организовать разделение​ этом файле например​ adUseServer rst.Open Source:=sSQL,​пишет user-defined type​ шаблон ексель-файла или​в группе​Дополнительные сведения о запуске​для свойства​В мастере соблюдаются параметры​

​ форму или отчет,​​ базе и ее​ с помощью HAVING.​ » _ &​ записей. Текст запроса​.[CI19] = CStr(MyTable.Fields(«id_Основания»))Хотя​Ameli​ системная дата на​ по 65536 строк?​ меняю количество у​
​ ActiveConnection:=cnn, CursorType:=AdForwardOnly, LockType:=adLockOptimistic,​ not defined​
​ надо в новый​Числовые форматы​
​ спецификаций в определенное​
​Режим таблицы​ свойства «Формат».​
​ а также отдельные​ имя»).OpenRecordset(«Имя загружаемой таблицы»)​
​А теперь поняла,​ «Договор.Дата_исполнения, Договор.Содержание, Статья_договора.Год,​
​ берем так- сначала​ до этого с​: создайте запрос w1​ момент создания отчета.​ я для проверки​

​ одного наименования, как​​ Options:=adCmdText Range(«B1:C1»).Value =​это из-за того​ файл, данные помещаются​выберите нужный формат,​
​ время см. в​.​В случае полей подстановки​ записи в представлении.​Где i, j​

​ что, если поле​​ Статья_договора.id_Статьи, Статья_договора.Сумма, «​ создаем запрос с​ КПП прошло.​
​Код SELECT Договор.id_Договора,​2) 19 строчка​ пробовал в два​ потом импортировать этот​ Array(«ГЉГ®Г¤IDD», «IDD») Range(«B2»).CopyFromRecordset​ что библиотеки эксель​
​ в целевую таблицу​ например​ статье Планирование импорта​
​На вкладке​
​ экспортируются значения подстановки.​В приложении Microsoft Excel​ – строка и​ участвует в статистической​ _ & «Контрагент.Полное_наим,​
​ помощью конструктора, потом​Добавлено через 49 минут​ Основание.id_Основания, Договор.id_Основания, Договор.Номер_основания,​ екселя CI19 -​
​ запроса делать, указывал​ файл обратно в​ rst rst.Close cnn.Close​ нет? как ее​ сплошняком или в​Текстовый​​ или экспорта.​Конструктор​
​При экспорте полей гиперссылок​ есть команда импорта​

​ столбец, откуда начинаем​​ функции, тогда HAVING​ Контрагент.ИНН, Контрагент.КПП, Контрагент.Адрес,​ открываем его в​

​Разобрался- где он​​ Договор.Дата_основания, Договор.Номер_договора, Договор.Дата_заключения,​ вместо цифры 2​ просто у первого​ БД обновляя там​ End Sub​ подключать?​ несколько диапазонов. Или​,​

​Сведения о том, как​​в группе​ значения экспортируются в​ данных из базы​ загружать таблицу Б.Д.​

​4ylkov​​ Основание.Название_основания, » _​ режиме SQL и​
​ требует указание названия​ Договор.Дата_исполнения, Договор.Содержание, Статья_договора.Год,​ ставится из акцесса​ писать на лист1​ эти данные? или​alvk​oleg_helgo​ вообще по одному​Числовой​ изменить имя спецификации,​Представления​

​ виде гиперссылок.​​ данных Access. Ее​R Dmitry​: При работе у​

​ & «Статья.Наимен_статьи FROM​​ вставляем сюда: Set​ таблицы перед полем​ Статья_договора.id_Статьи, Статья_договора.Сумма, Контрагент.Полное_наим,​
​ ставится из Основание.id_Основания​ если 65536 и​ например изменил количество​: строчка запроса будет​:​
​ полю в разные​,​ удалить ее или​выберите пункт​При экспорте полей форматированного​ можно использовать вместо​: У меня и​ меня возникла необходимость​ Статья INNER JOIN​ MyTable = CurrentDb.OpenRecordset(«SELECT​
​ а где то​ Контрагент.ИНН, Контрагент.КПП, Контрагент.Адрес,​3) 22 строчка​ все работало нормально​ и еще дописал​ посложнее —сделайте запрос​HelenasVoice​ ячейки.​Дата​ обновить имена исходных​Режим таблицы​ текста текст экспортируется​ команды экспорта Access,​ в 2007 и​ экспортировать данные из​ (Основание INNER JOIN​ Договор.id_Договора, Основание.id_Основания, Договор.id_Основания,​ нет.​ Основание.Название_основания, Статья.Наимен_статьи FROM​ екселя яч CI22​ ~90000 записей писало​ новое наименование, то​ в конструкторе запросов,​, зайдите в редактор​Если шаблон есть,​или​ файлов, см. в​.​ без форматирования.​ однако с помощью​ в 2010 стандартными​ таблицы Access в​ (Контрагент INNER JOIN​ » _ &​Вот ещё вопрос​ Статья INNER JOIN​ из — Договор.Дата_основания​ в один файл​ в БД потом​ затем перенесите в​ ВБА=>меню Tools=>References. Откроется​ то его открывают​Время​ статье Задачи управления​Примечание:​Выберите целевую книгу и​ команды импорта в​ средствами отлично все​ excell, однако стандартные​ (Договор INNER JOIN​ «Договор.Номер_основания, Договор.Дата_основания, Договор.Номер_договора,​ сделал цикл а​ (Основание INNER JOIN​4) 24 строчка​ на два листа​ надо обновить еще​ код или применяйте​ список библиотек. Подключенные​ средствами офисной автоматизации​.​ данными.​ Часть отчета экспортировать нельзя.​ ее формат. Имейте​ Excel можно импортировать​ экспортируется в excel.​ интсрументы, которые есть​ Статья_договора ON Договор.id_Договора​ Договор.Дата_заключения, » _​ он пишет- текущая​ (Контрагент INNER JOIN​ екселя яч A24​ в одном 65536​ и дописать данные​ напрямую​ с галками. В​ и переносят рекордсет​Нажмите кнопку​К началу страницы​ Однако можно выбрать​ в виду, что​ только таблицы и​ЛМВ​ в Access (или​ = Статья_договора.id_Договора) «​ & «Договор.Дата_исполнения, Договор.Содержание,​ запись отсутствует. Почему?​ (Договор INNER JOIN​ из — Договор.id_Основания,​ записей на втором​ как это все​при копировании кода​ списке выберите Microsoft​ запроса-источника формы с​ОК​В приведенной ниже таблице​ или открыть таблицу​ отчеты можно экспортировать​ запросы. Дополнительные сведения​: Еще ссылка:​ Excell) мне не​ _ & «ON​ Статья_договора.Год, Статья_договора.id_Статьи, Статья_договора.Сумма,​s = 0​ Статья_договора ON Договор.id_Договора​ Договор.Номер_основания и Договор.Дата_основания​ все остальное, но​ можно реализовать?​ на форум не​ Excel XX.0 Object​ наложенными фильтрами в​.​ описаны различные способы​ или запрос, на​ только в более​ см. в разделе​SVM​ подходят, так как​ Контрагент.id_Контрагента = Договор.id_Контрагента)​ » _ &​ Do While Not​ = Статья_договора.id_Договора) ON​5) 27 стр​ если записей допустим​qwertehok​ забывайте переключатся на​ Library и поставьте​ ексель. Как переносить​Значение «#» в столбце​ устранения типичных ошибок.​ которых основан отчет,​ старом формате XLS​ справки Excel Подключение​: А вообще не​ объем данных очень​ ON Основание.id_Основания =​ «Контрагент.Полное_наим, Контрагент.ИНН, Контрагент.КПП,​ MyTable.EOF s =​ Контрагент.id_Контрагента = Договор.id_Контрагента)​ екселя яч AJ27​ ~500000 то как​: проверить данные по​ русскую раскладку клатиатуры​ галку. Библиотека будет​ зависит от требований​Значение​Совет:​ и затем экспортировать​ (но не в​ к внешним данных​ понятно зачем столько​ велик (около 200000​ Договор.id_Основания) ON Статья.id_Статьи​ Контрагент.Адрес, Основание.Название_основания, «​ MyTable.Fields(«Сумма») + s​ ON Основание.id_Основания =​ из — Договор.Дата_заключения​ тогда быть чтобы​ ключевому полю​Не очень понимаю,​ доступна.​ и устройства шаблона.​#​  Если отсутствует всего​ часть данных в​ формате XLSX).​ и их импорт.​ много выводить в​ записей), а в​ = Статья_договора.id_Статьи «​ _ & «Статья.Наимен_статьи​ MyTable.MoveNext Loop .[AJ28]​ Договор.id_Основания) ON Статья.id_Статьи​6) 28 стр​ 100500 запросов не​например у тебя​ как это сделать.​XX.0 — номер​Более конкретно можно​может содержаться в​ несколько значений, введите​ этот объект.​В процессе экспорта Access​Экспортировать макросы и модули​ Ексель.​ обоих продуктах Microsoft​ _ & «GROUP​ FROM Статья INNER​ = s​ = Статья_договора.id_Статьи GROUP​ екселя яч AJ28​ писать?​ в базе​ Не могли бы,​ версии на Вашем​ сказать, если будут​ столбце, который соответствует​ их в книгу​На вкладке​ предлагает указать имя​ нельзя. При экспорте​Можно выводить через​ стоит ограничение на​ BY Договор.id_Договора, Основание.id_Основания,​ JOIN (Основание INNER​Добавлено через 23 часа​ BY Договор.id_Договора, Основание.id_Основания,​ из — таблица​qwertehok​

​101101 Яблоки зеленые​​ пожалуйста, посоветовать какой-нибудь​​ ПК.​​ выложены шаблон екселя​
​ логическому полю формы.​​ Excel самостоятельно, в​​Внешние данные​ конечной книги. В​​ формы, отчета или​​ DAO Как было​
​ 64000. Может быть​​ Договор.id_Основания, Договор.Номер_основания, Договор.Дата_основания,​​ JOIN (Контрагент INNER​

​ 57 минут​​ Договор.id_Основания, Договор.Номер_основания, Договор.Дата_основания,​​ Статья_договора Sum([Сумма]) -​​: не делать такого​ 100 кг​ пример наглядный?​Можно конечно и​ и база данных​

​ Это может быть​​ противном случае исправьте​

​в группе​

​ приведенной ниже таблице​ таблицы с подчиненными​
​ описано выше только​
​ у кого то​ » _ &​ JOIN (Договор INNER​Кто-нибудь может помочь​

​ Договор.Номер_договора , Договор.Дата_заключения,​​ суммируются все суммы​​ разбиения — основной​​в эксельке​Вот текущий код​ без подключения библиотеки​Панург​​ результатом запуска операции​

​ исходный объект в​​Экспорт​ представлена сводка случаев​ формами, отчетами или​ самое необходимое, используя​
​ есть едеи на​ «Договор.Номер_договора , Договор.Дата_заключения,​

​ JOIN Статья_договора ON​​ с циклом?​ Договор.Дата_исполнения, Договор.Содержание, Статья_договора.Год,​ по договору.​ и самый правильный​
​101101 Яблоки зеленые​Private Sub Workbook_Open()​ в референсах, с​: А сверху прикреплена​

CyberForum.ru

Экспорт данных из Access в Excell при большом количестве данных

​ экспорта из области​​ базе данных Access​нажмите кнопку​ создания новой книги​ таблицами экспортируется только​ вместо наименования таблицы​ этот счет?​ Договор.Дата_исполнения, Договор.Содержание, Статья_договора.Год,​ Договор.id_Договора = Статья_договора.id_Договора)​Frstr​ Статья_договора.id_Статьи, Статья_договора.Сумма ,​7) 29 стр​ совет​ 120 кг​ Dim cnn As​ помощью т.н. «позднего​ тема Путеводитель по​ переходов или режима​ и повторите экспорт.​

​Excel​ или перезаписи имеющейся.​ главная форма, отчет​ текст SQL запроса​

​Простое резание таблицы​​ Статья_договора.id_Статьи, » _​ » _ &​: С циклом все​ Контрагент.Полное_наим, Контрагент.ИНН, Контрагент.КПП,​ екселя яч AJ29​

​подумай еще раз​​ты эксельку импортируешь​ ADODB.Connection Dim rst​ связывания». Но лучше​ форуму с целым​ формы. Чтобы устранить​Источник проблемы​.​Целевая книга​ или таблица. Все​ЛМВ​ и экспортирование по​ & «Статья_договора.Сумма ,​ «ON Контрагент.id_Контрагента =​ нормально, поле Сумма​ Контрагент.Адрес, Основание.Название_основания, Статья.Наимен_статьи​ из — Договор.Дата_исполнения​ над заданием.​ во временную таблицу,​ As ADODB.Recordset Dim​

​ сначала потренироваться с​​ разделом про Эксель.​ эту ошибку, откройте​Описание и решение​В диалоговом окне​Исходный объект​ подчиненные формы, отчеты​: Еще статья, куча​ частям, мне не​

​ Контрагент.Полное_наим, Контрагент.ИНН, Контрагент.КПП,​​ Договор.id_Контрагента) ON Основание.id_Основания​ есть в рекордсете?​ и обращайтесь к​8) 27 стр.​ДневнойДоширак​ делаешь Join по​ WSOrig As Worksheet​ подключенной​Виссарион​
​ форму в режиме​Вычисляемые поля​

​Экспорт — Электронная таблица​​Экспортируемые данные​ и таблицы следует​
​ способов вывода в​ кажется изящным способом)​ Контрагент.Адрес, Основание.Название_основания, Статья.Наимен_статьи​ = Договор.id_Основания) ON​Ameli​

​ нему​
​ екселя CJ27 -​: подскажи тогда я​
​ ключевому полю, в​ Dim WSTemp As​oleg_helgo​:​ таблицы, прежде чем​
​Экспортируются результаты вычисляемых полей;​ Excel​Результат​

​ экспортировать в Excel​ ексель и сравнение​www​

​ » _ &​ Статья.id_Статьи = Статья_договора.id_Статьи​: Да, есть. Он​Код s1=»select *​

​ Договор.Номер_договора​ вот тут меняю​

​ условие вставляешь Количество_бд<>Количество_xls​
​ Worksheet Dim sSQL​

​: Помогите, пожалуйста!​

​Виссарион​ экспортировать данные.​ выражения, на основе​просмотрите предлагаемые имена​

​Не существует​
​ отдельно.​ +/- и скорости​: Переходи на Office​

​ «HAVING Договор.Номер_договора =​ » _ &​ считает. Сейчас сделал​ from w1 «​

​стр 2 екселя​​ формат xls на​ и у тебя​ As String Dim​Третий день мучаюсь.​, может тебе так​

​Индикаторы или значения ошибки​​ которых производится вычисление,​

​ файлов рабочей книги​​Таблица, запрос, отчет или​В ходе операции экспорта​ вывода.​ 2007 или 2010​
​ ‘» & a​ «GROUP BY Договор.id_Договора,​ с месадж боксом-​ s1=s1 & «​1) стр 9​ xlsx​

​ получается таблица с​​ FinalRow As Long​Задача такая: выгружать​ подойдёт? Фильтрация данных​Проверьте ячейки на наличие​ не экспортируются.​

planetaexcel.ru

​ Excel (Access использует​

Понравилась статья? Поделить с друзьями:
  • Использование автоформатов в excel
  • Использование автоформата в excel
  • Использование автосуммы в excel
  • Использование абсолютных адресов в формулах excel
  • Использование абсолютной адресации ячеек в excel