1

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

Dim objXLApp As Object
Dim objXLBook As Object
Set objXLApp = CreateObject("Excel.Application")
Set objXLBook = objXLApp.Workbooks.Open("Y:\123files\File\Hotel Reservation.xls")
objXLApp.Application.Visible = True

objXLBook.ActiveSheet.Range("B2") = Me.GuestFirstName & " " & GuestLastName
objXLBook.ActiveSheet.Range("C2") = Me.PhoneNumber
objXLBook.ActiveSheet.Range("E2") = Me.cboCheckInDate
objXLBook.ActiveSheet.Range("F2") = Me.cboCheckOutDate
objXLBook.ActiveSheet.Range("H2") = Me.RoomType
objXLBook.ActiveSheet.Range("I2") = Me.RoomNumber
End Sub

Как я могу продолжать заполнять новый гость в том же файле Excel только в следующем ряду?

2 ответа2

2

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

Dim i as Integer 
i = ObjXLBook.ActiveSheet.UsedRange.Rows.Count 
ObjXLBook.ActiveSheet.Cells(i + 1, 2).Value = Me.GuestFirstName & " " & GuestLastName 
ObjXLBook.ActiveSheet.Cells(i + 1, 3).Value = Me.PhoneNumber 
0

Вы должны прочитать http://office.microsoft.com/en-ca/access-help/import-export-and-link-data-between-access-and-excel-HP001095095.aspx, это поможет вашей ссылке Данные MS Access с таблицей MS Excel, в этом простом случае VBA не нужна.

выдержка:

Начало работы с операцией экспорта

ShowStep 1: определить данные, которые вы хотите экспортировать

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

Примечание. Невозможно экспортировать страницы доступа к данным (страница доступа к данным: веб-страница, предназначенная для просмотра и работы с данными из Интернета или интрасети. Его данные обычно хранятся в базе данных Access.), Макросах и модулях.

ShowStep 2: решить, где начать операцию экспорта

....

Вы можете экспортировать объект из окна базы данных (Окно базы данных: в Access 2003 и более ранних версиях это окно открывается при открытии базы данных или проекта). Он отображает ярлыки для создания новых объектов базы данных и открытия существующих объектов. В более поздних версиях он заменяется панелью навигации.) Или когда он открыт в представлении. В следующей таблице описано, как представление влияет на то, что экспортируется.

Примечание. Невозможно экспортировать данные из представления «Дизайн» или из представления SQL. Вид объекта / окно Что получает экспортированное окно Таблицы, Запроса, Базы данных форм Все поля и записи Представления таблиц, запросов, форм PivotTable и PivotChart Все поля и записи в базовом источнике записей, независимо от того, действительно ли поля включены в представление. Таблица, запрос, представление таблицы данных формы Если вы хотите экспортировать только некоторые данные, вы можете выбрать их, а затем выбрать экспорт только выбранных данных. У вас также есть возможность экспортировать всю таблицу данных. Форма Представление формы Все поля и записи в базовом источнике записей, независимо от того, действительно ли поля включены в представление. Окно «База данных отчетов», «Просмотр печати» и «Просмотр макета» Все данные, содержащиеся в текстовых полях в разделах «Верхний колонтитул группы» и «Подробности», а также любое текстовое поле в нижнем колонтитуле группы, содержащее выражение с функцией «Сумма». Access использует функцию контура Excel для форматирования отчета в Excel. Дополнительные сведения о том, как отчет экспортируется в Excel, см. В разделе «Как отчеты выводятся в Microsoft Excel». Дополнительные сведения о работе с отчетом в Excel см. В разделе «Работа с контурами» в справке Excel.

ShowStep 3: определить файл назначения для операции экспорта

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

* If you are exporting a table or query and you don't select the Save Formatted check box during the export operation, the file will not be overwritten. A new worksheet will be added to the file with the same name as the object that is being exported. If a worksheet already exists with that name, Access will prompt you to either replace the contents of the corresponding worksheet, or specify a different name for the new sheet.

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

* If you are exporting a form or a report, the file will always be overwritten. All of its existing worksheets will be removed, and a new worksheet with the same name as the exported object will be created.

ShowStep 4: Вещи, которые вы должны знать перед экспортом определенных типов данных и элементов управления

* Pictures and objects    All graphical elements, such as a logo, background picture, and contents of OLE object fields that are part of the exported data will not be exported.
* Graph    When you export a form or a report that contains a Microsoft Graph object, the graph object does not get exported. To resolve this situation, see How to export a graph from Access to Excel.
* Null values    Sometimes, Null values get replaced with the data that should be in the adjacent column in the resulting worksheet. For more information on when and why this problem occurs, and how to resolve it, see Nulls replaced with next field's data when you export to Excel.
* Calculated values    The expression that is used to calculate the values is not exported to Excel. Only the results of the expressions get exported.
* Date values    Date values earlier than Jan 1, 1900 do not get exported — the corresponding cell in the worksheet will contain a Null value, instead. For more information about how to resolve this, see Exporting dates may result in nulls or cause "Numeric Field Overflow" errorExporting dates may result in nulls or cause "Numeric Field Overflow" error.
* Check boxes    If you start the export operation from the Database window (Database window: In Access 2003 and earlier, the window that appears when a database or project is opened. It displays shortcuts for creating new database objects and opening existing objects. In later versions, it is replaced by the Navigation Pane.) or in Form view, check boxes on forms will not get exported. The corresponding column in the worksheet will display "#". To solve this situation, open the form in Datasheet view before exporting it. The corresponding column in the worksheet will contain TRUE or FALSE, depending on the selected status of the check box in the form.
* Subreports and subforms    Subreports are exported, but subforms will be ignored.

ShowStep 5: запустить операцию экспорта

  1. Если объект, который вы хотите экспортировать, не открыт, в окне «База данных» (окно «База данных»: в Access 2003 и более ранних версиях это окно открывается при открытии базы данных или проекта). Он отображает ярлыки для создания новых объектов базы данных и открытия существующих объектов. В более поздних версиях он заменяется панелью навигации.), Нажмите на название объекта. Чтобы сохранить только часть таблицы, откройте таблицу и выберите эту часть таблицы, прежде чем продолжить.
  2. В меню Файл выберите Экспорт.
  3. В поле Тип файла выберите Microsoft Excel 5-7 или Microsoft Excel 97-2003.

    Примечание. Если вы не видите Microsoft Excel в поле «Тип файлов», это связано с тем, что путь к требуемому драйверу в реестре неверен. Дополнительные сведения о том, как исправить эту проблему, см. В разделе Не удалось найти устанавливаемое сообщение об ошибке ISAM.

  4. Нажмите стрелку справа от поля «Сохранить в» и выберите диск или папку для сохранения.

  5. В поле «Имя файла» введите имя файла (или используйте предложенное имя).
  6. Установите флажок Сохранить в формате.
  7. Выполните одно из следующих действий: * Если вы сохраняете таблицу данных, нажмите «Экспортировать все», чтобы сохранить всю таблицу данных, или «Сохранить выбор», если вы выбрали часть таблицы на шаге 1. * Для всех других объектов базы данных нажмите «Экспорт».

ShowStep 6: просмотр листа Excel

Откройте рабочий лист и убедитесь, что данные были полностью экспортированы. Найдите индикаторы ошибок в ячейках (зеленые треугольники) или значения ошибок (строки, начинающиеся с «#», вместо данных). Для получения дополнительной информации об устранении неполадок индикаторов ошибок и значений ошибок см. Справку Excel.

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

Для получения подробной информации об устранении неполадок см. Устранение неполадок при экспорте в Access. Другие способы перенести данные Access в Excel

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

* Cut or copy data from Access and paste it into an Excel worksheet. For more information about how to do this, see the section "Copy or move records or data from multiple fields in Microsoft Access to another application" in the topic Copy or move data.
* Export data by using code. You can write a macro or a Visual Basic for Applications (VBA) procedure to export data programmatically. For more information about how to do this, see Export data programmatically.
* Load Access data in an instance of Excel.

Показать как?

  1. В окне «База данных» («База данных»: в Access 2003 и более ранних версиях это окно открывается при открытии базы данных или проекта). Он отображает ярлыки для создания новых объектов базы данных и открытия существующих объектов. В более поздних версиях он заменяется панелью навигации.), Щелкните по имени таблицы, формы или отчета, который вы хотите сохранить и загрузить в Excel. Чтобы загрузить только часть таблицы данных, откройте таблицу, а затем выберите эту часть таблицы, прежде чем продолжить.
  2. В меню Сервис выберите пункт Ссылки Office, а затем нажмите кнопку Анализировать в Microsoft Excel.

    • Экспорт данных Microsoft Access на расширяемый язык разметки (Extensible Markup Language (XML): сжатая форма стандартного обобщенного языка разметки (SGML), которая позволяет разработчикам создавать настраиваемые теги, обеспечивающие гибкость в организации и представлении информации.) (XML) файл, который затем можно импортировать в Excel. Для получения дополнительной информации о том, как экспортировать данные Access в виде XML, см. Экспорт данных Access в виде XML.

....

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .