Excel 2007 – 1004 Ошибка времени выполнения Обновить таблицу запросов

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

В моем случае я создал макрос, который работает в Excel 2010 и не работает в Excel 2007.

Вот краткое описание кода:

cn = "ODBC;Driver={SQL Server Native Client 10.0};Server=serverName;Database=dbName;Trusted_Connection=yes;" sql = "select top 10 * from tableName" Dim S As Worksheet Set S = ActiveWorkbook.Sheets("Medical") With S.QueryTables.Add(Connection:=cn, Destination:=S.Range("B1")) .CommandText = sql .Refresh BackgroundQuery:=False End With 

Этот код отлично работает в Excel 2010, но ошибки в Excel 2007.

Нужно ли мне изменить структуру строки подключения на 2007 год, или есть еще одна проблема на работе?

Решение:

Все машины, которые я использовал с Excel 2010, имеют «SQL Server Native Client 10.0» как возможный драйвер для источников данных ODBC. У машин с Excel 2007 есть только «SQL Server».

Я изменил строку подключения:

 cn = "ODBC;Driver=SQL Server;Server=serverName;Database=dbName;Trusted_Connection=yes;" 

и это работало как шарм.

Спасибо тем, кто ответил.

Измените свою собственность. .Refresh BackgroundQuery:=False чтобы быть .Refresh . Ничего не изменилось с 2007 по 2010 год в отношении этого, поэтому, если изменение свойства не устраняет проблему, происходит что-то еще, например, часть рабочей книги повреждена.

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

Я использовал SET NOCOUNT ON;

Это сработало!

Невозможно добавить комментарий, чтобы это было задано выше.

Этот ответ спас меня много времени.

Документация MSFT по этому вопросу: https://docs.microsoft.com/en-us/sql/t-sql/statements/set-nocount-transact-sql

Ниже приведена реализация.

 create proc yourSproc as set nocount on; begin --Contents of sproc end 
  • Ошибка во время выполнения Excel VBA 13
  • Excel VBA: ошибка времени выполнения 7: вне памяти
  • Ошибка времени выполнения VBA 13: несоответствие типов
  • Как разрешить ошибку времени выполнения VBA 1004
  • Ошибка времени выполнения 1004:
  • Ошибка выполнения Runtime 9 после того, как рабочая книга открывает CSV успешно
  • Excel VBA: «определяемая приложением или объектная ошибка»
  • Вторая половина макроса VBA выполняется в 3 раза быстрее, если я не запускаю первую часть до
  • Объект файловой системы Excel VBA
  • Excel VBA Ошибка времени выполнения «424»: объект Обязательный при попытке копирования TextBox
  • Ошибка визуальной базовой 1004 Excel, метод «значение» объекта «диапазон» не удалось
  • Interesting Posts

    список combobox, когда range.cells.count = 1 vba

    Excel: использование формулы массива INDEX для нахождения значений в списке между min и max

    Запуск макроса из ssis

    Ошибка приглашения Application.inputbox

    Решение Excel для гиперссылки, которая возвращает что-то для параметра, указанного в ссылке

    Как скопировать значение, связанное с таймером обратного отсчета в excel

    Вывод SQL IN для нескольких столбцов Excel

    Как сравнить два столбца в Excel (из разных листов) и скопировать значения из соответствующего столбца, если совпадают первые два столбца?

    Экспорт содержимого электронной почты в Excel / Google Таблицы

    Поставщик типа F # FSharpX.ExcelFile и странные ошибки типа, пытающиеся построить на другом входе

    Запрос на ввод с параметрами

    Excel Macro для копирования определенных столбцов из одной книги в другую

    Найти массив ZEROth Dimension

    Проверка ячеек в VBA excel

    Копировать формулу через столбцы

    Давайте будем гением компьютера.