Примечание: 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
В этом разделе описано, как подготовиться к операции импорта, выполнить ее и как сохранить параметры импорта в виде спецификации для повторного использования. Помните, что данные можно одновременно импортировать только из одного листа. Импортировать все данные из книги за один раз невозможно.
Подготовка листа
-
Найдите исходный файл и выделите лист с данными, которые требуется импортировать в Access. Если необходимо импортировать лишь часть данных листа, можно задать именованный диапазон, содержащий только те ячейки, которые требуется импортировать.
Определение именованного диапазона (необязательно)
-
Перейдите в Excel и откройте лист, данные из которого нужно импортировать.
-
Выделите диапазон ячеек, содержащих данные, которые необходимо импортировать.
-
Щелкните выделенный диапазон правой кнопкой мыши и выберите пункт Имя диапазона или Определить имя.
-
В диалоговом окне Создание имени укажите имя диапазона в поле Имя и нажмите кнопку ОК.
Имейте в виду, что в ходе одной операции импорта можно импортировать лишь один лист. Чтобы импортировать данные нескольких листов, операцию импорта следует повторить для каждого листа.
-
-
Просмотрите исходные данные и выполните необходимые действия в соответствии с приведенной ниже таблицей.
Элемент
Описание
Число столбцов
Число исходных столбцов, которые необходимо импортировать, не должно превышать 255, т. к. Access поддерживает не более 255 полей в таблице.
Пропуск столбцов и строк
В исходный лист или именованный диапазон рекомендуется включать только те строки и столбцы, которые требуется импортировать.
Смещ_по_строкам В ходе операции импорта невозможно фильтровать или пропускать строки.
Столбцы. В ходе операции экспорта невозможно пропускать столбцы, если данные добавляются в существующую таблицу.
Табличный формат
Убедитесь, что ячейки имеют табличный формат. Если лист или именованный диапазон включает объединенные ячейки, их содержимое помещается в поле, соответствующее крайнему левому столбцу, а другие поля остаются пустыми.
Пустые столбцы, строки и ячейки
Удалите все лишние пустые столбцы и строки из листа или диапазона. При наличии пустых ячеек добавьте в них отсутствующие данные. Если планируется добавлять записи к существующей таблице, убедитесь, что соответствующие поля таблицы допускают использование пустых (отсутствующих или неизвестных) значений. Поле допускает использование пустых значений, если свойство Обязательное поле (Required) имеет значение Нет, а свойство Условие на значение (ValidationRule) не запрещает пустые значения.
Значения ошибок
Если одна или несколько ячеек на листе или в диапазоне содержат значения ошибок, например #ЧИСЛО или #ДЕЛ, исправьте эти значения до начала операции импорта. Если исходный лист или диапазон содержит значения ошибок, соответствующее поле таблицы Access остается пустым. Дополнительные сведения о способах исправления таких ошибок см. ниже в разделе Разрешение вопросов, связанных с отсутствующими и неверными значениями.
Тип данных
Чтобы избежать ошибок во время импорта, убедитесь, что каждый исходный столбец содержит один и тот же тип данных в каждой строке. Access сканирует первые восемь строк источника, чтобы определить тип данных полей в таблице. Настоятельно рекомендуется убедиться, что первые восемь строк источника не смешивают значения различных типов данных ни в одной из столбцов. В противном случае Access может не назначить столбцу правильный тип данных.
Рекомендуется также отформатировать все исходные столбцы в Excel и назначить им определенный формат данных перед началом операции импорта. Форматирование является необходимым, если столбец содержит значения с различными типами данных. Например, столбец «Номер рейса» может содержать числовые и текстовые значения, такие как 871, AA90 и 171. Чтобы исключить отсутствующие или неверные значения, выполните указанные ниже действия.
-
Щелкните заголовок столбца правой кнопкой мыши и выберите пункт Формат ячеек.
-
На вкладке Числовой в группе Категория выберите формат. Для столбца «Номер рейса» лучше выбрать значение Текстовый.
-
Нажмите кнопку ОК.
Если исходные столбцы отформатированы, но все же содержат смешанные значения в строках, следующих за восьмой строкой, в ходе операции импорта значения могут быть пропущены или неправильно преобразованы. Сведения о разрешении этих вопросов см. в разделе Разрешение вопросов, связанных с отсутствующими и неверными значениями.
Первая строка
Если первая строка листа или именованного диапазона содержит имена столбцов, в Access можно указать, что данные первой строки должны рассматриваться в ходе операции импорта как имена полей. Если исходный лист или диапазон не содержит имен, рекомендуется добавить их в исходные данные до операции импорта.
Примечание: Если планируется добавить данные в существующую таблицу, убедитесь, что имя каждого столбца в точности соответствует имени поля. Если имя столбца отличается от имени соответствующего поля в таблице, операция импорта завершится неудачей. Чтобы просмотреть имена полей, откройте таблицу в Access в режиме конструктора.
-
-
Закройте исходную книгу, если она открыта. Если исходный файл остается открытым в ходе операции импорта, могут возникнуть ошибки преобразования данных.
Подготовка конечной базы данных
-
Откройте базу данных Access, в которой будут храниться импортируемые данные. Убедитесь, что база данных доступна не только для чтения и что есть права на ее изменение.
-или-
Если ни одна из существующих баз данных не подходит для хранения импортируемых данных, создайте пустую базу данных. Для этого выполните указанные ниже действия.
Откройте вкладку Файл, нажмите кнопку Создать и выберите пункт Пустая база данных.
-
Перед началом операции импорта следует определить, в какой таблице будут храниться данные: в новой или существующей.
Создание новой таблицы. Если необходимо сохранить данные в новой таблице, в Access создается таблица, в которую добавляются импортируемые данные. Если таблица с указанным именем уже существует, содержимое существующей таблицы перезаписывается импортируемыми данными.
Добавление в существующую таблицу. При добавлении данных в существующую таблицу строки из листа Excel добавляются в указанную таблицу.
Следует помнить, что ошибки в ходе операции добавления зачастую объясняются тем, что исходные данные не соответствуют структуре и параметрам полей в конечной таблице. Чтобы избежать таких ошибок, откройте таблицу в режиме конструктора и проверьте указанные ниже параметры.
-
Первая строка. Если первая строка исходного листа или диапазона не содержит заголовки столбцов, убедитесь, что расположение и тип данных каждого столбца соответствуют нужному полю таблицы. Если же первая строка содержит заголовки столбцов, совпадение порядка следования столбцов и полей необязательно, но имя и тип данных каждого столбца должны в точности совпадать с именем и типом данных соответствующего поля.
-
Отсутствующие или лишние поля. Если одно или несколько полей исходного листа отсутствуют в конечной таблице, их следует добавить до начала операции импорта. Если же таблица содержит поля, которые отсутствуют в исходном файле, их не требуется удалять из таблицы при условии, что они допускают использование пустых значений.
Совет: Поле допускает использование пустых значений, если его свойство Обязательное поле (Required) имеет значение Нет, а свойство Условие на значение (ValidationRule) не запрещает пустые значения.
-
Первичный ключ. Если таблица содержит поле первичного ключа, исходный лист или диапазон должен содержать столбец, содержащий значения, совместимые с полем первичного ключа, а импортированные значения ключа должны быть уникальными. Если импортируемая запись содержит значение первичного ключа, которое уже существует в таблице, отображается сообщение об ошибке.
-
Индексированные поля. Если свойство Индексировано поля таблицы имеет значение Да (без повторов), соответствующий столбец исходного листа или диапазона должен содержать уникальные значения.
Для выполнения операции импорта перейдите к указанным ниже действиям.
-
Запуск операции импорта
-
Расположение мастера импорта или связывания зависит от используемой версии Access. Выполните действия, которые соответствуют вашей версии Access.
-
Если вы используете последнюю версию подписки Microsoft 365 Access или Access 2019, на вкладке «Внешние данные» в группе «Импорт & Link» щелкните «Создать источник данных > из файлового > Excel«.
-
Если вы используете Access 2016, Access 2013 или Access 2010, на вкладке Внешние данные в группе Импорт и связи нажмите кнопку Excel.
Примечание: Вкладка Внешние данные доступна только в том случае, если открыта база данных.
-
-
В диалоговом окне Внешние данные — Электронная таблица Excel в поле Имя файла укажите имя файла Excel, содержащего данные, которые необходимо импортировать.
-или-
Чтобы указать импортируемый файл, нажмите кнопку Обзор и воспользуйтесь диалоговым окном Открытие файла.
-
Укажите способ сохранения импортируемых данных.
Чтобы сохранить данные в новой таблице, выберите вариант Импортировать данные источника в новую таблицу в текущей базе данных. Позднее будет предложено указать имя этой таблицы.
Чтобы добавить данные в существующую таблицу, выберите параметр Добавить копию записей в конец таблицы и выберите таблицу в раскрывающемся списке. Этот параметр недоступен, если база данных не содержит таблиц.
Сведения о связывании с источником данных путем создания связанной таблицы см. ниже в разделе Связывание с данными Excel.
-
Нажмите кнопку ОК.
Будет запущен мастер импорта электронных таблиц, который поможет выполнить импорт. Перейдите к дальнейшим действиям.
Использование мастера импорта электронных таблиц
-
На первой странице мастера выберите лист, содержащий данные, которые необходимо импортировать, и нажмите кнопку Далее.
-
На второй странице мастера щелкните элемент листы или именованные диапазоны, выберите лист или именованный диапазон, который необходимо импортировать, и нажмите кнопку Далее.
-
Если первая строка исходного листа или диапазона содержит имена полей, выберите вариант Первая строка содержит заголовки столбцов и нажмите кнопку Далее.
Если данные импортируются в новую таблицу, заголовки столбцов используются в Access в качестве имен полей в таблице. Эти имена можно изменить в ходе операции импорта или после ее завершения. Если данные добавляются к существующей таблице, убедитесь, что заголовки столбцов исходного листа в точности соответствуют именам полей конечной таблицы.
Если данные добавляются к существующей таблице, перейдите к действию 6. Если данные добавляются в новую таблицу, выполните оставшиеся действия.
-
Мастер предложит просмотреть свойства полей. Щелкните столбец в нижней части страницы, чтобы отобразить свойства нужного поля. При необходимости выполните указанные ниже действия.
-
Просмотрите и измените имя и тип данных конечного поля.
В Access выполняется проверка первых восьми строк каждого столбца, чтобы определить тип данных для соответствующего поля. Если первые восемь строк столбца на листе содержат значения разных типов, например текст и числа, мастер предлагает тип данных, совместимый со всеми значениями столбца — как правило, это текстовый тип данных. Хотя можно выбрать и другой тип данных, следует помнить, что значения, несовместимые с этим типом, будут в ходе импорта пропущены или преобразованы неправильно. Дополнительные сведения о том, как исправить неверные или отсутствующие значения, см. ниже в разделе Разрешение вопросов, связанных с отсутствующими и неверными значениями.
-
Чтобы создать индекс для поля, присвойте свойству Индексировано (Indexed) значение Да.
-
Чтобы пропустить весь исходный столбец, установите флажок Не импортировать (пропустить) поле.
Настроив параметры, нажмите кнопку Далее.
-
-
На следующем экране задайте первичный ключ для таблицы. При выборе варианта автоматически создать ключ Access добавляет поле счетчика в качестве первого поля конечной таблицы и автоматически заполняет его уникальными значениями кодов, начиная с 1. После этого нажмите кнопку Далее.
-
На последнем экране мастера укажите имя целевой таблицы. в поле Импорт в таблицу. Если таблица уже существует, в Access появится запрос на перезапись существующего содержимого таблицы. Нажмите кнопку « Да «, чтобы продолжить, или «Нет», чтобы указать другое имя целевой таблицы, а затем нажмите кнопку « Готово», чтобы импортировать данные.
Если импорт части или всех данных в Access завершится успешно, в мастере откроется страница с состоянием операции импорта. Кроме того, сведения об операции можно сохранить в виде спецификации для дальнейшего использования. Если операция завершится неудачей, появится сообщение Ошибка при попытке импорта файла.
-
Нажмите кнопку Да, чтобы сохранить сведения об операции для использования в будущем. Сохранение сведений позволяет выполнять операцию повторно без использования мастера.
Сведения о том, как сохранить спецификацию, см. в статье Сохранение параметров операции импорта или экспорта в виде спецификации.
Сведения о том, как запустить сохраненную спецификацию импорта или экспорта, см. в статье Запуск сохраненной спецификации импорта или экспорта.
Сведения о том, как запланировать выполнение задач импорта и связывания в определенное время, см. в статье Планирование спецификации импорта или экспорта.
Разрешение вопросов, связанных с отсутствующими и неверными значениями
Сообщение Ошибка при попытке импорта файла свидетельствует о том, что операция импорта завершилась неудачей. Если же после операции импорта отображается диалоговое окно, в котором предлагается сохранить сведения об операции, это означает, что данные успешно импортированы полностью или частично. В сообщении о состоянии указывается также имя таблицы, которая содержит описание всех ошибок, возникших в ходе операции импорта.
Важно: Даже если в сообщении о состоянии указано, что операция завершилась успешно, перед использованием таблицы следует просмотреть ее содержимое и структуру, чтобы убедиться в правильности всех данных.
-
Откройте целевую таблицу в режиме таблицы, чтобы убедиться, что в таблицу были добавлены все данные.
-
Откройте таблицу в режиме конструктора, чтобы проверить типы данных и другие свойства полей.
В приведенной ниже таблице описаны действия по разрешению проблем, связанных с отсутствующими или неверными значениями.
Совет: Если при устранении неполадок обнаружено лишь несколько отсутствующих значений, можно добавить их в таблицу вручную. Если же отсутствует или неправильно импортирован целый столбец либо большой объем данных, следует исправить исходный файл. После устранения всех возможных проблем повторите операцию импорта.
Проблема |
Решение |
||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Графические элементы |
Графические элементы, такие как логотипы, диаграммы и рисунки, не импортируются. Их следует добавить в базу данных вручную после завершения операции импорта. |
||||||||||||
Вычисляемые значения |
Импортируются результаты вычисляемого столбца или ячейки, но не базовая формула. В ходе операции импорта можно указать тип данных, совместимый с результатами формулы, например числовой. |
||||||||||||
Значения TRUE или FALSE и -1 или 0 |
Если исходный лист или диапазон включает столбец, который содержит только значения TRUE или FALSE, в Access для этого столбца создается логическое поле, в которое вставляется значение -1 или 0. Если же исходный лист или диапазон включает столбец, который содержит только значения -1 и 0, в Access для этого столбца по умолчанию создается числовое поле. Чтобы избежать этой проблемы, можно изменить в ходе импорта тип данных поля на логический. |
||||||||||||
Многозначные поля |
При импорте данных в новую или существующую таблицу приложение Access не поддерживает многозначные поля, даже если исходный столбец содержит список значений, разделенных точками с запятой (;). Список значений обрабатывается как одно значение и помещается в текстовое поле. |
||||||||||||
Усеченные данные |
В случае усечения данных в столбце таблицы Access попытайтесь увеличить ширину столбца в режиме таблицы. Если не удается решить проблему с помощью этого способа, это означает, что объем данных в числовом столбце Excel слишком велик для конечного поля в Access. Например, в базе данных Access свойство FieldSize конечного поля может иметь значение Байт, а исходные данные могут содержать значение больше 255. Исправьте значения в исходном файле и повторите операцию импорта. |
||||||||||||
Формат отображения |
Чтобы обеспечить правильное отображение значений в режиме таблицы, может потребоваться изменить свойство Формат некоторых полей в режиме конструктора. Ниже приведены примеры.
Примечание: Если исходный лист содержит элементы форматирования RTF, например полужирный шрифт, подчеркивание или курсив, текст импортируется без форматирования. |
||||||||||||
Повторяющиеся значения (нарушение уникальности ключа) |
Импортируемые записи могут содержать повторяющиеся значения, которые невозможно сохранить в поле первичного ключа в конечной таблице или в поле, для которого свойству Индексировано присвоено значение Да (без повторов). Удалите повторяющиеся значения в исходном файле и повторите операцию импорта. |
||||||||||||
Значения дат, сдвинутые на 4 года |
Значения полей дат, импортированных с листа Excel, оказываются сдвинуты на четыре года. Excel для Windows может использовать две системы дат:
Вы можете задать систему дат в 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
-
Найдите файл Excel и лист или диапазон, содержащий нужные данные. Если нет необходимости создавать связь со всем листом, можно определить именованный диапазон, включающий только нужные ячейки.
Создание именованного диапазона в Excel (необязательно — целесообразно лишь для связывания отдельных данных на листе)
-
Перейдите в Excel и откройте лист, в котором нужно определить именованный диапазон.
-
Выделите диапазон ячеек, содержащих данные, на которые необходимо создать ссылку.
-
Щелкните выделенный диапазон правой кнопкой мыши и выберите пункт Имя диапазона или Определить имя.
-
В диалоговом окне Создание имени укажите имя диапазона в поле Имя и нажмите кнопку ОК.
Имейте в виду, что в ходе одной операции связывания можно создать связь лишь с одним листом или диапазоном. Чтобы создать связь с несколькими местами в книге, следует повторить операцию связывания для каждого листа или диапазона.
-
-
Просмотрите исходные данные и выполните необходимые действия в соответствии с приведенной ниже таблицей.
Элемент
Описание
Табличный формат
Убедитесь, что ячейки имеют табличный формат. Если диапазон включает объединенные ячейки, их содержимое помещается в поле, соответствующее крайнему левому столбцу, а другие поля остаются пустыми.
Пропуск столбцов и строк
Во время операции связывания нельзя пропустить исходные столбцы и строки. Однако можно скрыть поля и отфильтровать записи, открыв связанную таблицу в режиме таблицы после их импорта в Access.
Число столбцов
Число исходных столбцов не должно превышать 255, т.к. Access поддерживает не более 255 полей в таблице.
Пустые столбцы, строки и ячейки
Удалите все лишние пустые столбцы и строки из листа Excel или диапазона. При наличии пустых ячеек попытайтесь добавить отсутствующие данные.
Значения ошибок
Если одна или несколько ячеек на листе или в диапазоне содержат значения ошибок, исправьте эти значения до начала операции импорта. Имейте в виду, что если исходный лист или диапазон содержит значения ошибок, в Access в соответствующее поле таблицы вставляется пустое значение.
Тип данных
Изменить тип данных и размер полей в связанной таблице невозможно. Перед началом связывания следует проверить тип данных в каждом столбце.
Настоятельно рекомендуется отформатировать все столбцы, которые содержат значения с разными типами данных. Например, столбец «Номер рейса» может содержать числовые и текстовые значения, такие как 871, AA90 и 171. Чтобы исключить отсутствующие или неверные значения, выполните указанные ниже действия.
-
Щелкните столбец правой кнопкой мыши и выберите пункт Формат ячеек.
-
На вкладке Числовой в группе Категория выберите формат.
-
Нажмите кнопку ОК.
Первая строка
Если первая строка листа или именованного диапазона содержит имена столбцов, можно указать, что приложение Access должно в ходе связывания обрабатывать данные в первой строке как имена полей. Если лист не содержит имен или какое-либо имя столбца не соответствует правилам именования полей в Access, каждому полю назначается допустимое имя.
-
-
Закройте исходный файл, если он открыт.
Подготовка конечной базы данных
-
Откройте базу данных, в которой требуется создать связь. Убедитесь, что база данных доступна не только для чтения и что у вас есть права на внесение в нее изменений.
-
Если вы не хотите хранить ссылку ни в какой из существующих баз данных, создайте пустую базу данных: перейдите на вкладку «Файл», нажмите кнопку «Создать» и выберите пункт «Пустая база данных». Обратите внимание: если вы используете Access 2007, нажмите кнопку Microsoft Office и выберите пункт Создать.
После этого можно начать операцию связывания.
Создание связи
-
Расположение мастера импорта или связывания зависит от используемой версии Access. Выполните действия, которые соответствуют вашей версии Access.
-
Если вы используете последнюю версию подписки Microsoft 365 Access или Access 2019, на вкладке «Внешние данные» в группе «Импорт & Link» щелкните «Создать источник данных > из файлового > Excel«.
-
Если вы используете Access 2016, Access 2013 или Access 2010, на вкладке Внешние данные в группе Импорт и связи нажмите кнопку Excel.
Примечание: Вкладка Внешние данные доступна только в том случае, если открыта база данных.
-
-
В диалоговом окне Внешние данные — Электронная таблица Excel в поле Имя файла укажите имя исходного файла Excel.
-
Выберите вариант Создать связанную таблицу для связи с источником данных и нажмите кнопку ОК.
Откроется мастер связи с электронной таблицей, который поможет выполнить связывание.
-
На первой странице мастера выберите лист или именованный диапазон с нужными данными и нажмите кнопку Далее.
-
Если первая строка исходного листа или диапазона содержит имена полей, выберите вариант Первая строка содержит заголовки столбцов. В Access эти заголовки столбцов используются в качестве имен полей в таблице. Если имя столбца включает специальные знаки, его невозможно использовать как имя поля в Access. В таких случаях отображается сообщение об ошибке, в котором говорится, что полю в Access будет назначено допустимое имя. Нажмите кнопку ОК для продолжения.
-
На последней странице мастера укажите имя связанной таблицы и нажмите кнопку Готово. Если таблица с указанным именем уже существует, будет предложено перезаписать существующую таблицу или запрос. Нажмите кнопку Да, чтобы перезаписать таблицу или запрос, или кнопку Нет, чтобы указать другое имя.
Приложение Access попытается создать связанную таблицу. В случае успешного завершения операции появится сообщение Завершено связывание таблицы. Откройте связанную таблицу и просмотрите поля и данные, чтобы убедиться в их правильности.
При наличии ошибок или неверных данных необходимо устранить ошибки в исходных данных. Дополнительные сведения об устранении ошибок или неверных значений см. в следующем разделе.
К началу страницы
Разрешение вопросов, связанных со значением #Число! и другими неверными значениями в связанной таблице
Даже если появится сообщение Завершено связывание таблицы, откройте таблицу в режиме таблицы и убедитесь, что строки и столбцы содержат правильные данные.
При наличии в таблице ошибок или неверных данных необходимо выполнить действия, описанные в приведенной ниже таблице, и повторить попытку связывания. Следует помнить, что добавить значения непосредственно в связанную таблицу невозможно, т.к. она доступна только для чтения.
Проблема |
Решение |
---|---|
Графические элементы |
Графические элементы листов Excel, такие как логотипы, диаграммы и рисунки, не могут быть включены в связь с Aсcess. |
Формат отображения |
Чтобы обеспечить правильное отображение значений в режиме таблицы, может потребоваться изменить свойство Формат некоторых полей в режиме конструктора. |
Вычисляемые значения |
В Access в соответствующем поле отображаются результаты вычисляемого столбца или ячейки, но не формула (выражение). |
Усеченные текстовые значения |
Увеличьте ширину столбца в режиме таблицы. Если даже после этого значение не отображается целиком, возможно, его длина превышает 255 знаков. В Access связывание возможно только для первых 255 знаков, поэтому вместо связывания следует выполнить импорт данных. |
Сообщение о переполнении числового поля |
Даже если таблица кажется правильной, впоследствии при выполнении запроса с использованием этой таблицы может быть выведено сообщение об ошибке Переполнение числового поля. Это может объясняться конфликтом между типом данных поля в связанной таблице и типом данных, хранящихся в этом поле. |
Значения TRUE или FALSE и -1 или 0 |
Если исходный лист или диапазон включает столбец, который содержит только значения TRUE или FALSE, в Access в связанной таблице для этого столбца создается логическое поле. Если же исходный лист или диапазон включает столбец, который содержит только значения -1 или 0, в Access для этого столбца по умолчанию создается числовое поле, тип данных которого невозможно изменить в таблице. Если требуется, чтобы в связанной таблице было создано логическое поле, убедитесь, что исходный столбец содержит значения TRUE и FALSE. |
Многозначные поля |
В Access многозначные поля не поддерживаются, даже если исходный столбец содержит список значений, разделенных точками с запятой (;). Список значений обрабатывается как одно значение и помещается в текстовое поле. |
#Число! |
В Access значение ошибки #Число! отображается в полях вместо данных в указанных ниже случаях.
Чтобы свести к минимуму число пустых значений в таблице, выполните указанные ниже действия.
|
Числовые значения, замененные значениями дат |
Если поле содержит случайные пятизначные числа, проверьте исходный столбец с числовыми значениями на наличие значений дат. Значения дат в числовых столбцах преобразуются в числа. Замените значения дат числовыми значениями и повторите попытку связывания. |
Значения дат, замененные числовыми значениями |
Если поле содержит случайные значения дат, проверьте исходный столбец со значениями дат на наличие числовых значений. Числовые значения в столбцах дат преобразуются в даты. Замените числовые значения значениями дат и повторите попытку связывания. |
К началу страницы
JeyCi Пользователь Сообщений: 3357 |
господа, прошу не судить строго — пишу, потому что была Очень поражена гениальностью и простотой Данного решения! Record Keeping from Excel to Access — суть Идеи до боли проста — вводим данные по мере надобности в Excel — и всё автоматом закидываем в Базу Данных Access , — пример, как настроить такой милый душе автомат, там есть по линку… СОВСЕМ НЕ НАДО никаких Форм для ввода создавать своими ручками — всё уже давно создано программистами Microsoft !! — т.е. сам Excel !! который может послужить достойным прототипом любой рукодельной Формы для ввода данных в Access… по крайней мере на ячейки уже расчерчен сам — вводи что хочешь, куда хочешь… только прежде настрой, как нравится — что куда кидать потом… Изменено: JeyCi — 12.10.2016 20:30:33 чтобы не гадать на кофейной гуще, кто вам отвечает и после этого не совершать кучу ошибок — обратитесь к собеседнику на ВЫ — ответ на ваш вопрос получите — а остальное вас не касается (п.п.п. на форумах) |
JayBhagavan Пользователь Сообщений: 11833 ПОЛ: МУЖСКОЙ | Win10x64, MSO2019x64 |
JeyCi, спасибо за предоставленную информацию. Изменено: JayBhagavan — 31.07.2015 11:46:26 <#0> |
JeyCi Пользователь Сообщений: 3357 |
… если путь (на вашем компе!! к файлу базы прописан верно) — то, наверно, причина может быть, что вы пытаетесь подконнектиться к базе, которая открыта в Access (т.е. если у вас файл mdb открыт —>доступ 2-го юзера блокируется) — наверно, в таком случае может быть глюк… у меня коннектится и загоняется инфо в базу ок (даже не смотря на то, что у меня 2010, а файл пример для 2003)… — кнопкой Save Изменено: JeyCi — 31.07.2015 11:48:50 чтобы не гадать на кофейной гуще, кто вам отвечает и после этого не совершать кучу ошибок — обратитесь к собеседнику на ВЫ — ответ на ваш вопрос получите — а остальное вас не касается (п.п.п. на форумах) |
JayBhagavan Пользователь Сообщений: 11833 ПОЛ: МУЖСКОЙ | Win10x64, MSO2019x64 |
JeyCi, спасибо за ответ. Дело было в провайдере. <#0> |
Johny Пользователь Сообщений: 2737 |
JeyCi
, Вы ещё пользуетесь Access? There is no knowledge that is not power |
Я до сих пор использую Access. Причем — именно в связке с excel. Уверен, что SQL Server — гораздо более крутая программа, чем ACCESS. Ну, примерно — как самолет и авто сравнивать. Но самолет я водить не умею, а чтобы научиться — нужны деньги и время (как известно — вещи взаимосвязанные)… да и так далеко ездить не приходится. А также нет аэродрома, ангара, авиационного топлива… Вот по этой же аналогии я, например, пользуюсь access. Всё сложное — не нужно. Всё нужное — просто /М. Т. Калашников/ |
|
JeyCi Пользователь Сообщений: 3357 |
#7 31.07.2015 21:01:10 я ещё верю, что можно, не усложнять… — там, где можно без этого обойтись… особенно если (согласна с Михаилом)
… и в Access иногда можно поковырять запросы, чтобы их потом вставить в MS Query (xl)… Конструктор в Access более полноценный (на всякий случай)… Использование Microsoft Query P.S. Разместить на хостинге sql базу и с нее получать данные на лист (MySQL)… Пару слов. Изменено: JeyCi — 14.09.2016 19:01:53 чтобы не гадать на кофейной гуще, кто вам отвечает и после этого не совершать кучу ошибок — обратитесь к собеседнику на ВЫ — ответ на ваш вопрос получите — а остальное вас не касается (п.п.п. на форумах) |
||
Johny Пользователь Сообщений: 2737 |
#8 01.08.2015 00:29:28
Гораздо более, конечно, но ведь всё дело в результате — так? Стоит ли игра свеч? Окупятся ли затраты при изучении более мощного движка? Просто сегодня не нужно, а завтра — позарез. Так что я думаю, что стОит потратить время. There is no knowledge that is not power |
||
Чего нет в ексель, но есть в акцесс: Ушел… Всё сложное — не нужно. Всё нужное — просто /М. Т. Калашников/ |
|
JeyCi, спасибо, возможно когда нибудь пригодится. |
|
Чего нет в ексель, но есть в акцесс -2 (продолжение сообщения от 1 Авг 2015 11:24:56): Чего нет в акцесс, но есть в ексель: Поэтому для меня акцесс — это система для сбора и хранения данных, одновременного доступа к ним, а ексель — система обработки этих данных и их анализа. Изменено: Михаил Лебедев — 08.08.2015 20:46:08 Всё сложное — не нужно. Всё нужное — просто /М. Т. Калашников/ |
|
Максим Зеленский Пользователь Сообщений: 4646 Microsoft MVP |
#12 03.08.2015 12:51:37
плюс Power Query и Power BI (последнего зверя еще не щупал, но уже на слуху). А по поводу связки Excel и Acccess — недавно поднимал как раз тему работы с базами Access из Excel F1 творит чудеса |
||
Михаил Лебедев Пользователь Сообщений: 2855 |
#13 03.08.2015 13:20:02
Да, про этого зверька (я имею в виду просто Query) — я забыл сказать как про мощный инструмент для связывания Ассess и Еxcel. Если он сейчас станет сильнее — т.е. будут доработаны слабые места — это… в общем, это здОрово ☺ Всё сложное — не нужно. Всё нужное — просто /М. Т. Калашников/ |
||
Михаил Лебедев Пользователь Сообщений: 2855 |
#14 03.08.2015 13:26:52
обратил внимание, что добавление записей — происходит, а вот удаление внесенных ранее — нет. Кнопка «Удалить» удаляет запись только в текущих ячейках екселя. М.б. это только у меня так?… Изменено: Михаил Лебедев — 08.08.2015 20:47:32 Всё сложное — не нужно. Всё нужное — просто /М. Т. Калашников/ |
||
JeyCi Пользователь Сообщений: 3357 |
#15 03.08.2015 14:56:41
да, кстати, просмотрев код — видно использование Rst.AddNew, сюда — по возможностям др. методов для рекордсета, в т.ч., полагаю:
итог «творческой мысли» … — лежит в #121 это , полагаю, лучше принять к сведению
Изменено: JeyCi — 12.10.2016 20:29:08 чтобы не гадать на кофейной гуще, кто вам отвечает и после этого не совершать кучу ошибок — обратитесь к собеседнику на ВЫ — ответ на ваш вопрос получите — а остальное вас не касается (п.п.п. на форумах) |
||||
JeyCi Пользователь Сообщений: 3357 |
#16 03.08.2015 15:19:20 примеры линковки Excel и Access тоже были на форуме: sql запрос — в Excel’е из Access запрос через строку подключения
— от B.Key (пост#30) — Excel: Использование Access для обработки больших текстовых файлов — линковка текст. файлов к Access, из которого потом то, что надо в Excel… и все нужные запросы на отбор и систематизацию данных можно настроить уже в Access (пользуясь его талантами), чтобы в Excel поступал лишь нужный итог… Избавиться от цикла в запросе — средствами ADO запрос к БД … и один интересный нюанс для Jet (для ACE, наверно, так же)
… к слову о неявном задании сортировки… Изменено: JeyCi — 08.08.2015 20:48:32 чтобы не гадать на кофейной гуще, кто вам отвечает и после этого не совершать кучу ошибок — обратитесь к собеседнику на ВЫ — ответ на ваш вопрос получите — а остальное вас не касается (п.п.п. на форумах) |
||||
Pelena Пользователь Сообщений: 1416 |
#17 03.08.2015 16:59:01
Тем не менее Access позволяет использовать встроенные функции Excel в расчётах при подключении Microsoft Excel Object Library |
||
bedvit Пользователь Сообщений: 2477 Виталий |
К моему огромному сожалению Access так и остался на уровне 2003 офиса. Видимо Microsoft не посчитала нужным развивать этот продукт. Как СУБД для небольших баз данных, с не ресурсоёмкими запросами, VBA, совместимостью с продуктами Microsoft Office, простотой создания запросов (мастером) он хорош. До сих пор его используем. Но ограничение размера используемой памяти в 2Гб (причем это включая сис. таблицы и т.д., т.е. по факту ещё меньше) — это что-то (уровень 2003 года). Один этот параметр не позволяет не только нормально работать с базой .mdb, .accdb, но и писать более-менее ресурсоемкие запросы. «Бритва Оккама» или «Принцип Калашникова»? |
Johny Пользователь Сообщений: 2737 |
#19 04.08.2015 16:50:21
Там ещё и все индексы НЕкластерные. There is no knowledge that is not power |
||
bedvit Пользователь Сообщений: 2477 Виталий |
Johny, а поподробнее (индексация полей)? «Бритва Оккама» или «Принцип Калашникова»? |
Johny Пользователь Сообщений: 2737 |
Поподробнее… Можно загуглить. Хороший пример — книга. Обычно в конце книге есть глоссарий (указатель имён). В нём все слова отсортированы — это и есть некластерный индекс, отдельная структура. Как только мы нашли значение, мы видим страницу (Row Pointer), где находится искомое слово — и переходим на эту страницу. Переход — это наш Row Look-up. На самом деле, грамотно выбрать индексы — это целая наука. Учитывая, что Access не даёт такого анализа внутренней структуры, как, например, SQL Server, то трудно сказать, эффективны ли индексы в Access’е или нет. Но как можно уже догадаться, чем больше таблица, тем меннее эффективным становится некластерный индекс. Изменено: Johny — 04.08.2015 21:32:17 There is no knowledge that is not power |
Smiley Пользователь Сообщений: 530 |
Немного ОФФ. А можете посоветовать какие-нибудь книжки по Access 2010 и выше, а то все, что я читал, пишут сумбурно, перескакивая с одного на другое… Может канал какой хороший есть на Ютубе? спасибо. |
Максим Зеленский Пользователь Сообщений: 4646 Microsoft MVP |
#23 05.08.2015 11:02:16
Напомнило светлой памяти dBaseIII+ по имени РЕБУС или что-то в том же духе, типа первого FoxPro и Paradox… F1 творит чудеса |
||
Johny Пользователь Сообщений: 2737 |
#24 05.08.2015 12:27:52
Я русских книг не читал — только английские. Если знаете инглиш, то могу дать пару-тройку названий. There is no knowledge that is not power |
||
Smiley Пользователь Сообщений: 530 |
Johny, печаль. Английский знаю, но не технический, может быть очень сложно вникнуть. Книги, наверное, типа Гетца? Сейчас читал Гурвица, жесть какая-то… Постоянные перескоки… что? куда? не понятно же (с) Изменено: Smiley — 05.08.2015 12:45:27 |
Johny Пользователь Сообщений: 2737 |
Прочитав много книг на буржуйском, скажу, что некоторые авторы доходят до абсурда, описывая в целый параграф очевидные вещи. There is no knowledge that is not power |
Михаил Лебедев Пользователь Сообщений: 2855 |
#27 05.08.2015 17:05:45
К сожалению, стал даже хуже.Красивостей стало больше, а реально ценные возможности (защита на уровне пользователя, а не на уровне базы данных) — ампутировали.
Пробовал этим воспользоваться еще в бытность access 97. Тогда — жутко тормозил процесс при их использовании. Написанная UDF-ка работала гораздо быстрее. С тех пор — желание ими пользоваться ушло и больше не вернулось ☺ Еще про то, чего нет в access Всё сложное — не нужно. Всё нужное — просто /М. Т. Калашников/ |
||||
JeyCi Пользователь Сообщений: 3357 |
#28 05.08.2015 18:34:17
а так сразу и не скажешь — т.к. ещё не смотрела… спасибо! vbex.ru 2). Access Code Snippets 3). VBA Tips (что-то есть здесь) здесь — включая Полезные ссылки и как проявить ошибку в запросе ( который в xl или макросе с ado)
(действий много, но для учебных целей, ошибки запросов, визуализированные в Access, — более наглядны, т к более подробно Access скажет, где какая ошибка)… p.s. совсем для начинания: (- из excel’я) Excel VBA: как работать с базой данных Изменено: JeyCi — 09.08.2015 11:10:02 чтобы не гадать на кофейной гуще, кто вам отвечает и после этого не совершать кучу ошибок — обратитесь к собеседнику на ВЫ — ответ на ваш вопрос получите — а остальное вас не касается (п.п.п. на форумах) |
||||
Михаил Лебедев Пользователь Сообщений: 2855 |
#29 05.08.2015 20:36:51
Книжки не посоветую, а вот форум, который мне в свое время очень помог, могу. http://hiprog.com/forum/ Всё сложное — не нужно. Всё нужное — просто /М. Т. Калашников/ |
||
Smiley Пользователь Сообщений: 530 |
#30 06.08.2015 10:10:07 Михаил Лебедев, доброе утро. Спасибо за информацию. Я вообще сейчас думаю, что его лучше подтянуть с помощью видеороликов Учусь программировать |
Знаете ли вы, что вы можете экспортировать базу данных Access на лист Excel? В Microsoft Excel есть функции для импорта или экспорта данных из листа Excel или в него. При экспорте данных в Excel Access создает копию выбранных данных, а затем сохраняет скопированные данные в файле, который можно открыть в Microsoft Excel. В Access можно экспортировать таблицы, запросы, формы и отчеты, но нельзя экспортировать макросы или модули в Excel. При экспорте форм, отчетов или таблиц, содержащих подчиненные формы, подотчеты и подтаблицы, экспортируется только основная форма, отчет или таблица.
Выполните следующие действия, чтобы экспортировать базу данных Access в Excel:
- Откройте файл базы данных 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.
- Что делает макрос
- Код макроса
- Как работает макрос
- Как использовать
- Скачать файл
Ссылка на это место страницы:
#zadacha
Если вы часто копируете и вставляете результаты запросов Microsoft Access в Excel вам пригодится этот макрос. В этом макросе используется DAO (Data Access Object), чтобы открыть и запустить запрос Access в фоновом режиме и вывести результаты в Excel.
В этом макросе вы указываете Excel базу данных Access и извлекаете данные из существующего запроса. Затем вы сохраняете этот запрос в Recordset объекта, который вы можете использовать для заполнения таблиц Excel. Необходимо установить ссылку на библиотеку объектов Microsoft Access. В дополнение к библиотеке объектов доступа, необходимо установить ссылку на Microsoft DAO XX библиотеки объектов, где XX это номер версии. Обратите внимание, что вы можете увидеть несколько версий этой библиотеки в диалоговом окне Reference. Как правило, нужно выбрать последнюю версию Microsoft DAO. Установите флажок рядом с записью.
Ссылка на это место страницы:
#formula
Sub
VipolnitZaprosAccessIzExcel()
Dim
MyDatabase
As
DAO.Database
Dim
MyQueryDef
As
DAO.QueryDef
Dim
MyRecordset
As
DAO.Recordset
Dim
i
As
Integer
Set
MyDatabase = DBEngine.OpenDatabase _
(
"C:TempYourAccessDatabse.accdb"
)
Set
MyQueryDef = MyDatabase.QueryDefs(
"Ваше имя запроса"
)
Set
MyRecordset = MyQueryDef.OpenRecordset
Sheets(
"Лист1"
).
Select
ActiveSheet.Range(
"A6:K10000"
).ClearContents
ActiveSheet.Range(
"A7"
).CopyFromRecordset MyRecordset
For
i = 1
To
MyRecordset.Fields.Count
ActiveSheet.Cells(6, i).Value = MyRecordset.Fields(i - 1).Name
Next
i
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 _ & «Статья_договора.СуммаFrstrFrstr яч U6- Статья_договора.Год ‘+»»+’C:Данные.xlsx’+»»+'[Excel 8.0;] Fromqwertehok 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 экспортируются. Их следует |
-
Экспортировать данные с макетом имя объекта, из экспортироваться, на предмет и устранению типичных ты работаешь. Мне 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(«Дата_основания»)) ‘для второй страницы
Ещё хотел узнать-
Выполнение экспорта
-
перед открытием экселя яч AL26- изqwertehok
-
Delphi (‘Select * adUseServer rst.Open Source:=sSQL, списки (то есть Dim strPathDot As
Access? Если вы
График к операции экспорта. существует, Access предлагает до экспорта данных основы другие форматы (например .[A24] = CStr(MyTable.Fields(«Название_основания»))
екселя: With app.ActiveWorkbook.Sheets(2) есть какая нибудь3. Условия отбора
-
таблица Статья_договора Sum([Сумма]): драйвер?
-
INTO Лист IN ActiveConnection:=cnn, CursorType:=AdForwardOnly, LockType:=adLockOptimistic, эта таблица связана String Dim strPathWord работаете над сложнымПри экспорте формы илиПримечание:
-
либо заменить содержимое в Excel. ВПодготовка к экспорту
-
.txt), потом просто & » № ‘Вставка в ячейку
-
команда для выделения получились такими: — суммируются всеДневнойДоширак ‘+»»+’C:Данные.xls’+»»+'[Excel 8.0;] From
-
Options:=adCmdText Range(«B1:C1»).Value = с другими таблицами As String strPathDot приложением Access, например отчета, содержащих объект При экспорте формы соответствующего листа, либо
-
противном случае вВыполнение экспорта открыть этот формат » & CStr(MyTable.Fields(«Номер_основания»)) F35 второй страницы границ ячеек. Тоесть& «HAVING Договор.Номер_договора
суммы по договору.: что за драйвер? Таблица’);можно как то Array(«КодIDD», «IDD») Range(«B2»).CopyFromRecordset в файле. Это = CurrentProject.Path & таким, которое содержит Microsoft Graph, он или отчета этот
-
-
-
указать другое имя ходе экспорта могутЧто еще важно знать через excell (кстати & » от поля «Содержание» и чтобы те ячейке
-
= ‘» &7) стр. 27офис 2007 этот файл сохранять rst rst.Close cnn.Close обычная практика формирования «ShablonShablon.xlsx» ‘ Ваш ссылки на множество не экспортируется.
-
флажок установлен по нового листа. возникнуть неполадки, а об экспорте
-
в данном случае » & CStr(MyTable.Fields(«Дата_основания»)) тд: .[F35] = в которые по a & «‘ яч AL27- итогоqwertehok через SaveDialog? End Subвыложите пример
выпадающих списков в шаблон SQLQ = различных источников данных,Данные в неверном столбце умолчанию и недоступенСуществует
-
в ячейки листаРешение проблем, связанных с ограничение в 64000 .[AJ27] = CStr(MyTable.Fields(«Дата_заключения»)) CStr(MyTable.Fields(«Содержание»)) .[F44] = циклу заносятся данные And Договор.Дата_заключения =
(сумма наверное можно: при чем тутqwertehok базы, не могу Access, по-другому не «SELECT ;» ‘ может быть удобноЗначения Null на целевом для изменения.Таблица, запрос, отчет или Excel могут быть
отсутствующими и неверными тоже действует) .[AJ28] = CStr(s) CStr(MyTable.Fields(«Полное_наим»)) .[AU44] =
-
становились с внешними #» & 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. программы будете код большое! ‘Цикл по нашему
|
или несколько записей |
исходного объекта.Если исходным объектом является копировать из AccessSVM: статей (вывод в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 Контрагент.КПП таком случае? подключать по этому коду: экспорте данных. Лучший
среди знакомых не ‘Добавляет книгу сОткройте диалоговое окно «Диспетчер в Excel. ЭкспортируютсяЭкспортировать только выбранные записи имеющийся лист или сохранением форматирования или для повторного использования проблем, правда чутьHaving строчки цикла)). ‘Для называются тонки линии
: Огромное Спасибо! Все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;] FromAccess to Excel Converter
Так выглядит код. Выводит Ваш запрос выберите в рабочий лист
этот флажок необходимоЕсли целевая книга Excel на два аспекта через определенные интервалы Вас где-нибудь в
WHERE побольше строчек: Do выкладываю тут пример Для ручной вбивки дату. офис 12? Таблица’);в файл «Данные», которая помогает мне,
Может там нужно с нужной ячейкиВнешние данные Excel вручную после снять. открыта, закройте ее целевого файла: объем
времени. настройках по умолчанию?.. While Not MyTable.EOF с объяснениями тк в ячейки какFrstrFrstr на один лист чтобы экспортировать большие что-нибудь прописать дополнительно в таблицу end > завершения операции экспорта.Примечание: перед выполнением операции. экспортируемых данных иВ отделе или рабочей стоит формат 2003?Вроде(?) app.Parent.Range(«a» & i).Select думаю что он обратится в данным: [QUOTE=Ameli;2921835]Попробуйте выполнить запрос: Прошу помощи. Буду записывается максимум 65536 объемы данных из или изменить тип with app.Application.DisplayAlerts =Диспетчер связанных таблицОтсутствующие подчиненные формы, отчеты Если записи неНа панели навигации исходной формат их отображения. группе для работыУ меня OFFHAVING 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.QuitAccess предложит указать расположение Необходимо повторить операциюЕсли в ходе экспорта
запрос или формаИсходный объект для анализа и и приемы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 DimHelenasVoiceПримечание:Экспортировать данные с макетом 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 AsAgapov_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 MyConnoleg_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 эти данные? илиalvkoleg_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 JOIN4) 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_Договора) ON5) 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_Основания) ONAmeli
нему
екселя CJ27 -: подскажи тогда я
ключевому полю, в Dim WSTemp Asoleg_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 использует