ДоКмд.TransferSpreadsheet неправильно экспортирует

#excel #vba #ms-access

Вопрос:

Я хочу экспортировать 2 листа (ACTIVITY и МАСТЕР-ФАЙЛ) из Excel для доступа с помощью таблицы учетных записей и таблицы активности с помощью AccountDoCmd.Функция TransferSpreadsheet.

Моя проблема сейчас в том, что по какой-то причине он экспортирует содержимое ДЕЙСТВИЯ в обе таблицы базы данных Access.

Я пробовал различные методы, такие как активация электронной таблицы МАСТЕР-ФАЙЛА в начале подраздела экспорта и скрытие электронной таблицы ДЕЙСТВИЙ после ее экспорта, но она по-прежнему экспортирует содержимое ДЕЙСТВИЙ в обе таблицы.

 'exports the data from the spreadsheet to the Access database
Sub ExportMaster()

    'declaring our files, directories, tables and field names
    Dim strPathFile As String, strFile As String, strPath As String, fileName As String
    Dim strTable As String
    Dim blnHasFieldNames As Boolean
    Dim MasterDB As Worksheet
    
    'Declaring year value of 1 month amp; 2 month
    'This is important to compare datasets from 2 months ago amp; last month
    Year_1M = Format(Date - 27, "YYYY")

    'Declaring month value of 1 month amp; 2 month
    'This is important to compare datasets from 2 months ago amp; last month
    Month_1M = Format(Date - 27, "MM")

    'This translates the current month from number to character format
    MonthChar_1 = MonthName(Month_1M, False)
    
    sheet = "MASTERFILE_" amp; Year_1M amp; Month_1M
    
    Application.DisplayAlerts = False
    
    blnHasFieldNames = True
    
    strPath = "Z:Danny Tool Test Folder"
    
    strTable = "AccountTable"
    
    strFile = Dir(strPath amp; "Monthly Reporting Tool.xlsm")
      strPathFile = strPath amp; strFile
      DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel9, _
            strTable, strPathFile, blnHasFieldNames, sheet
    
    
End Sub

'exports the data from the spreadsheet to the Access database
Sub ExportActivity()
    'declaring our files, directories, tables and field names
    Dim strPathFile As String, strFile As String, strPath As String, fileName As String
    Dim strTable As String
    Dim blnHasFieldNames As Boolean
    Dim MasterDB As Worksheet
    
    'Declaring year value of 1 month amp; 2 month
    'This is important to compare datasets from 2 months ago amp; last month
    Year_1M = Format(Date - 27, "YYYY")

    'Declaring month value of 1 month amp; 2 month
    'This is important to compare datasets from 2 months ago amp; last month
    Month_1M = Format(Date - 27, "MM")

    'This translates the current month from number to character format
    MonthChar_1 = MonthName(Month_1M, False)
    
    sheet = "ACTIVITY_" amp; Year_1M amp; Month_1M
    
    Application.DisplayAlerts = False
    
    blnHasFieldNames = True
    
    strPath = "Z:Danny Tool Test Folder"
    
    strTable = "ActivityTable"
    
    strFile = Dir(strPath amp; "Monthly Reporting Tool.xlsm")
      strPathFile = strPath amp; strFile
      DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel9, _
            strTable, strPathFile, blnHasFieldNames, sheet
    
    
End Sub
 

Комментарии:

1. Вы не указываете лист, с которого он исходит. Это после аргумента has headers

2. Вот так vbforums.com/…

3. Понял. Спасибо, чувак!