Expression.Error: ключ не соответствует ни одной строке таблицы - PullRequest
0 голосов
/ 16 апреля 2019

Я пытаюсь исправить инструмент Access / Excel, созданный моим коллегой, и я не уверен, как это сделать.Она только что покинула компанию, поэтому я не могу обратиться к ней с вопросами об этом инструменте.

У нее есть кнопка, настроенная на листе Excel.При нажатии кнопка должна создать новый лист и извлечь QueryTable из базы данных Access.

Вот ее код:

Sub Import()
'
' Import Macro
'
' Keyboard Shortcut: Ctrl+Shift+I
'

    ActiveWorkbook.Worksheets.Add
    With ActiveSheet.ListObjects.Add(SourceType:=0, Source:= _
        "OLEDB;Provider=Microsoft.Mashup.OleDb.1;Data Source=$Workbook$;Location=1stEmail-MailMergeReady;Extended Properties=""""" _
        , Destination:=Range("$A$1")).QueryTable
        .CommandType = xlCmdSql
        .CommandText = Array("SELECT * FROM [1stEmail-MailMergeReady]")
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .BackgroundQuery = True
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .PreserveColumnInfo = True
        .Refresh BackgroundQuery:=False
    End With
End Sub

Когда кнопка нажата, она успешно создает новый лист, а затем останавливается при создании таблицы (ExternalData_1: Getting Data ...).Я получаю это сообщение об ошибке:

Expression.Error: The key didn't match any rows in the table

Когда я нажимаю Отладка, она выделяет строку .Refresh BackgroundQuery:=False.

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

Любая помощь очень ценится!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...