Меню

Run time error 1004 общая ошибка odbc

Содержание

  1. Как исправить ошибку выполнения 1004 в Microsoft Excel?
  2. Что такое ошибка времени выполнения 1004 в Excel?
  3. Типы сообщений об ошибках
  4. Каковы причины?
  5. Исправить ошибку выполнения 1004 в Excel
  6. 1]Создайте новый шаблон Excel
  7. 2]Запустите сканирование на вирусы
  8. 3]Для VB: ошибка времени выполнения «1004», измените размер записей легенды.
  9. Ошибка времени выполнения 1004 при внесении изменений в записи условных обозначений на диаграмме в Excel
  10. Симптомы
  11. Причина
  12. Обходной путь
  13. «Run-time Error 1004» when you make changes to legend entries in a chart in Excel
  14. Symptoms
  15. Cause
  16. Workaround
  17. Как исправить ошибку Microsoft Excel 1004
  18. Проверка «Application-defined or object-defined error»
  19. Что генерирует ошибку времени выполнения 1004?
  20. Распространенные проблемы Application-defined or object-defined error
  21. Причины проблем Application-defined or object-defined error

Как исправить ошибку выполнения 1004 в Microsoft Excel?

Майкрософт Эксель — одна из самых популярных электронных таблиц, используемых во всем мире как для личных, так и для деловых целей. Это универсальное место для хранения, организации и обработки данных организованным способом. MS Excel поставляется в основном с двумя расширениями, то есть в формате XLS и XLSX. Однако, помимо невероятной популярности, ошибки во время выполнения — обычная неприятность для очень многих пользователей Windows, и одной из самых распространенных является ошибка. Ошибка выполнения 1004.

В этом руководстве мы собираемся обсудить эту распространенную ошибку времени выполнения 1004 и некоторые из лучших исправлений для ее легкого решения.

Что такое ошибка времени выполнения 1004 в Excel?

Ошибка выполнения 1004 — это код ошибки, относящийся к Microsoft Visual Basic, который, как известно, беспокоит пользователей Microsoft Excel. С этой ошибкой сталкиваются любые версии MS Excel, такие как Excel 2007, 2010, 2013, 2016, 2019. Ни одна версия Microsoft Excel не застрахована от угрозы Runtime Error 1004.

С этой ошибкой в ​​основном сталкиваются пользователи, когда они работают с файлом Excel или пытаются создать макрос в документе Excel. Это может вызвать серьезные проблемы при работе с приложениями Visual Basic и привести к полному сбою программы или даже всей системы; иногда это может привести к зависанию системы, запрещая пользователям что-либо делать в своей системе.

Типы сообщений об ошибках

Сообщения об ошибках, которые больше всего связаны с этой ошибкой времени выполнения, следующие:

  • VB: ошибка времени выполнения ‘1004’: ошибка приложения или объекта
  • Ошибка выполнения Excel VBA 1004 «Ошибка выбора метода класса Range»
  • ошибка времени выполнения 1004 диапазон метода объекта _global не удалось Visual Basic
  • Макрос Excel «Ошибка выполнения» 1004?
  • Ошибка выполнения 1004 не удалось открыть метод объектных книг
  • Ошибка времени выполнения «1004»: сбой метода «Рейнджер» объекта «Рабочий лист»
  • «Сбой метода в ПРИЛОЖЕНИИ ПРИЛОЖЕНИЯ ОБЪЕКТНОЙ программы».

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

Каковы причины?

Ошибка 1004 — это общий код, связанный с MS Excel, но не связанный с одной точной причиной. Следовательно, в этом случае точная причина, по которой может появиться эта ошибка, будет варьироваться от случая к случаю и от обстоятельств к обстоятельствам. От проблем с конфигурацией до проблем с программным обеспечением, ниже мы перечислили краткий обзор распространенных причин ошибки времени выполнения 1004 в Excel:

  • Значок рабочего стола MS Excel может быть поврежден
  • Файл VBA Excel конфликтует с другим приложением
  • Из-за ошибки, указанной в приложении или объекте
  • Из-за отсутствия зависимого файла
  • Из-за вируса, трояна или вредоносного ПО
  • Из-за неверных ключей реестра и так далее.

Это были некоторые из наиболее частых причин получения ошибки времени выполнения 1004 в MS Excel; Теперь давайте разберемся с различными исправлениями.

Исправить ошибку выполнения 1004 в Excel

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

  1. Создать новый шаблон Excel
  2. Запустите сканирование на вирусы
  3. Для VB: ошибка времени выполнения ‘1004’, измените размер записей легенды

Давайте подробно рассмотрим каждый из этих методов.

1]Создайте новый шаблон Excel

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

1]Откройте MS Excel в вашей системе

2]Нажмите ‘CTRL + N‘для создания нового листа Microsoft Excel или просто выберите’Пустая книга‘с первого экрана.

3]После этого удалите все листы в книге, кроме одного.

4]Теперь отформатируйте оставшуюся книгу. Также обратите внимание, что эту книгу можно изменить в соответствии с вашими индивидуальными потребностями.

5]В конце перейдите к ‘Файл> Сохранить как‘, чтобы сохранить новый рабочий лист в формате файла шаблона Excel (.xltx или .xlt).

6]После успешного создания шаблона вы можете вставить его программно, используя следующую строку кода:

Таблицы.Добавить Тип: = путь имя файла

Пожалуйста, обрати внимание — Не забудьте заменить новое имя файла на настоящее имя документа.

2]Запустите сканирование на вирусы

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

3]Для VB: ошибка времени выполнения «1004», измените размер записей легенды.

Если вы столкнулись с ошибкой времени выполнения 1004 при запуске макроса Microsoft Visual Basic для приложений (VBA), вы можете использовать этот метод для временного решения.

Обычно эта ошибка возникает при попытке запустить макрос VBA, который использует метод LegendEntries для внесения изменений в записи легенды на диаграмме Microsoft Excel. На этот раз вы можете получить следующее сообщение об ошибке:

Ошибка времени выполнения ‘1004’: ошибка приложения или объекта

Эта ошибка возникает, когда диаграмма Excel содержит больше записей легенды, чем имеется место для отображения записей легенды на диаграмме Excel. В этом случае Microsoft Excel может усекать записи легенды.

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

Мы надеемся, что эта статья поможет вам исправить ошибку времени выполнения 1004 в Microsoft Excel. Это руководство дает вам как ручное, так и автоматическое решение, чтобы избавиться от этой ошибки; вы можете использовать любое решение в зависимости от ваших потребностей.

Читать дальше: Клавиши со стрелками не работают в Microsoft Excel.

Источник

Ошибка времени выполнения 1004 при внесении изменений в записи условных обозначений на диаграмме в Excel

Симптомы

При запуске макроса Microsoft Visual Basic для приложений (VBA), использующего метод LegendEntries для внесения изменений в записи условных обозначений в диаграмме Microsoft Excel, может появиться следующее сообщение об ошибке:

Ошибка времени выполнения «1004»: ошибка приложения или объекта

Причина

Это происходит, когда диаграмма Excel содержит больше записей условных обозначений, чем доступно для отображения записей условных обозначений на диаграмме Excel. При таком поведении Microsoft Excel может усечение записей условных обозначений.

Так как метод LegendEntries в макросе VBA использует то, что отображается для усеченных записей усеченных условных обозначений, сообщение об ошибке, упомянутое в разделе «Симптомы» этой статьи, возникает, когда записей больше, чем доступно для отображения записей условных обозначений на диаграмме Excel.

Обходной путь

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

Дополнительные сведения о доступных вариантах поддержки и способах связи с корпорацией Майкрософт см. на следующем веб-сайте Майкрософт:

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

Для правильного выполнения макроса на листе должна быть диаграмма Excel.

Источник

«Run-time Error 1004» when you make changes to legend entries in a chart in Excel

Symptoms

When you run a Microsoft Visual Basic for Applications (VBA) macro that uses the LegendEntries method to make changes to legend entries in a Microsoft Excel chart, you may receive the following error message:

Run-time error ‘1004’: Application or object-defined error

Cause

This behavior occurs when the Excel chart contains more legend entries than there is space available to display the legend entries on the Excel chart. When this behavior occurs, Microsoft Excel may truncate the legend entries.

Because the LegendEntries method in your VBA macro uses what appears for the legend (in this case, the truncated legend entries), the error message that is mentioned in the «Symptoms» section of this article occurs when there are more entries than there is space available to display the legend entries on the Excel chart.

Workaround

Microsoft provides programming examples for illustration only, without warranty either expressed or implied, including, but not limited to, the implied warranties of merchantability and/or fitness for a particular purpose. This article assumes that you are familiar with the programming language being demonstrated and the tools used to create and debug procedures. Microsoft support professionals can help explain the functionality of a particular procedure, but they will not modify these examples to provide added functionality or construct procedures to meet your specific needs.

For more information about the support options that are available and about how to contact Microsoft, visit the following Microsoft Web site:

To work around this behavior, create a macro that reduces the font size of the Excel chart legend text before your VBA macro makes changes to the chart legend and then restore the font size of the chart legend so that it is similar to the following macro example.

You must have an Excel chart on your worksheet for this macro to run correctly.

Источник

Как исправить ошибку Microsoft Excel 1004

Номер ошибки: Ошибка 1004
Название ошибки: Application-defined or object-defined error
Описание ошибки: Run-time error ‘1004’. Application-defined or object-defined error.
Разработчик: Microsoft Corporation
Программное обеспечение: Microsoft Excel
Относится к: Windows XP, Vista, 7, 8, 10, 11

Проверка «Application-defined or object-defined error»

Обычно люди ссылаются на «Application-defined or object-defined error» как на ошибку времени выполнения (ошибку). Чтобы убедиться, что функциональность и операции работают в пригодном для использования состоянии, разработчики программного обеспечения, такие как Microsoft Corporation, выполняют отладку перед выпусками программного обеспечения. Ошибки, такие как ошибка 1004, иногда удаляются из отчетов, оставляя проблему остается нерешенной в программном обеспечении.

Пользователи Microsoft Excel могут столкнуться с ошибкой 1004, вызванной нормальным использованием приложения, которое также может читать как «Run-time error ‘1004’. Application-defined or object-defined error.». Сообщение об этой ошибке 1004 позволит разработчикам обновить свое приложение и исправить любые ошибки, которые могут вызвать его. Затем Microsoft Corporation исправит ошибки и подготовит файл обновления для загрузки. Следовательно, разработчик будет использовать пакет обновления Microsoft Excel для устранения ошибки 1004 и любых других сообщений об ошибках.

Что генерирует ошибку времени выполнения 1004?

В первый раз, когда вы можете столкнуться с ошибкой среды выполнения Microsoft Excel обычно с «Application-defined or object-defined error» при запуске программы. Вот три наиболее заметные причины ошибки ошибки 1004 во время выполнения происходят:

Ошибка 1004 Crash — это распространенная ошибка 1004 во время выполнения ошибки, которая приводит к полному завершению работы программы. Эти ошибки обычно возникают, когда входы Microsoft Excel не могут быть правильно обработаны, или они смущены тем, что должно быть выведено.

Утечка памяти «Application-defined or object-defined error» — Когда Microsoft Excel обнаруживает утечку памяти, операционная система постепенно работает медленно, поскольку она истощает системные ресурсы. Возможные искры включают сбой освобождения, который произошел в программе, отличной от C ++, когда поврежденный код сборки неправильно выполняет бесконечный цикл.

Ошибка 1004 Logic Error — логическая ошибка Microsoft Excel возникает, когда она производит неправильный вывод, несмотря на то, что пользователь предоставляет правильный ввод. Когда точность исходного кода Microsoft Corporation низкая, он обычно становится источником ошибок.

Как правило, такие Microsoft Corporation ошибки возникают из-за повреждённых или отсутствующих файлов Application-defined or object-defined error, а иногда — в результате заражения вредоносным ПО в настоящем или прошлом, что оказало влияние на Microsoft Excel. Основной способ решить эти проблемы вручную — заменить файл Microsoft Corporation новой копией. Запуск сканирования реестра после замены файла, из-за которого возникает проблема, позволит очистить все недействительные файлы Application-defined or object-defined error, расширения файлов или другие ссылки на файлы, которые могли быть повреждены в результате заражения вредоносным ПО.

Распространенные проблемы Application-defined or object-defined error

Наиболее распространенные ошибки Application-defined or object-defined error, которые могут возникнуть на компьютере под управлением Windows, перечислены ниже:

  • «Ошибка Application-defined or object-defined error. «
  • «Недопустимая программа Win32: Application-defined or object-defined error»
  • «Извините за неудобства — Application-defined or object-defined error имеет проблему. «
  • «К сожалению, мы не можем найти Application-defined or object-defined error. «
  • «Application-defined or object-defined error не может быть найден. «
  • «Ошибка запуска программы: Application-defined or object-defined error.»
  • «Application-defined or object-defined error не выполняется. «
  • «Application-defined or object-defined error остановлен. «
  • «Неверный путь к программе: Application-defined or object-defined error. «

Эти сообщения об ошибках Microsoft Corporation могут появляться во время установки программы, в то время как программа, связанная с Application-defined or object-defined error (например, Microsoft Excel) работает, во время запуска или завершения работы Windows, или даже во время установки операционной системы Windows. Документирование проблем Application-defined or object-defined error в Microsoft Excel является ключевым для определения причины проблем с электронной Windows и сообщения о них в Microsoft Corporation.

Причины проблем Application-defined or object-defined error

Проблемы Application-defined or object-defined error вызваны поврежденным или отсутствующим Application-defined or object-defined error, недопустимыми ключами реестра, связанными с Microsoft Excel, или вредоносным ПО.

В частности, проблемы Application-defined or object-defined error возникают через:

  • Недопустимая или поврежденная запись Application-defined or object-defined error.
  • Вредоносные программы заразили Application-defined or object-defined error, создавая повреждение.
  • Application-defined or object-defined error злонамеренно или ошибочно удален другим программным обеспечением (кроме Microsoft Excel).
  • Другая программа находится в конфликте с Microsoft Excel и его общими файлами ссылок.
  • Поврежденная загрузка или неполная установка программного обеспечения Microsoft Excel.

Совместима с Windows 2000, XP, Vista, 7, 8, 10 и 11

Источник

I have a working VBA code which runs as:

wsEnd.Select

Range("A:AQ").Delete

        strSQL = "Select *
        strSQL = strSQL & " FROM [XXX].[ABCCustomer] As A"
        strSQL = strSQL & " Left join"
        strSQL = strSQL & " (Select * "
        strSQL = strSQL & " From [XXX]..[ABCCustomer]"
        strSQL = strSQL & " where LineageId = '123' ) B"
        strSQL = strSQL & " on a.product = b.product and a.[StartDate] = b.[StartDate]"
        strSQL = strSQL & " where (a.EndDate <> b.EndDate)"
        strSQL = strSQL & " and a.NewEndDate is NULL AND B.NewEndDate IS NULL"
        strSQL = strSQL & " and a.Id = '456"
        strSQL = strSQL & " order by b.ProductType"

    With ActiveSheet.ListObjects.Add(SourceType:=0, Source:=Array(Array( _
        "ODBC;DRIVER=SQL Server;SERVER=XXXSQL01;UID=;Trusted_Connection=Yes;APP=2007 Microsoft  Office system;WSID=XXX;DATA" _
        ), Array("BASE=master")), Destination:=Range("$A$1")).QueryTable
        .CommandText = strSQL
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .BackgroundQuery = True
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .PreserveColumnInfo = True
        .ListObject.DisplayName = "Table_Query_from_XXX_C"
        .Refresh BackgroundQuery:=False

End with

I have two other scripts starting after the End With but inside the same sub all using the same VBA just different SQL, which all work perfectly fine.

Then I have this very annoying forth, which is causing my a real headache, that goes as follows:

        strSQL = "Select *
        strSQL = strSQL & " FROM [XXX].[ABCCustomer] As A"
        strSQL = strSQL & " Left join"
        strSQL = strSQL & " (Select * "
        strSQL = strSQL & " From [XXX]..[ABCCustomer]"
        strSQL = strSQL & " where Id = '123' ) B"
        strSQL = strSQL & " on a.product = b.product and a.[StartDate] = b.[StartDate]"
        strSQL = strSQL & " where (a.EndDate = b.EndDate)"
        strSQL = strSQL & " and a.NewEndDate is Not NULL AND B.NewEndDate not NULL"
        strSQL = strSQL & " and a.Id = '456"
        strSQL = strSQL & " order by b.Product"

        With ActiveSheet.ListObjects.Add(SourceType:=0, Source:=Array(Array( _
        "ODBC;DRIVER=SQL Server;SERVER=XXXSQL01;UID=;Trusted_Connection=Yes;APP=2007 Microsoft Office system;WSID=XXX;DATA" _
        ), Array("BASE=master")), Destination:=Range("$A$1")).QueryTable
        .CommandText = strSQL
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .BackgroundQuery = True
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .PreserveColumnInfo = True
        .ListObject.DisplayName = "Table_Query_from_XXX_D"
        .Refresh BackgroundQuery:=False
    End With
End Sub

When running the code, the first three come back fine but the forth says

run time error 1004 general odbc error

and stops the code at backgroundquery=false.

I have lifted the SQL code into SQL and it works perfectly fine there and have even tried running it on a separate excel document and that doesn’t give any joy.

The VBA is copy and pasted and only the list object table name is changed i.e. from C to D

I have tried to change backgroundquery:=false to background:=refresh, this works but I get a message saying

run time error 1004 This operation cannot be done because the data is refreshing in the background.

I have a small Excel 2010 query that either times out (not responding) then gets the error Run time error 1004 general odbc error

When I debug it highlights this line:

 Selection.QueryTable.Refresh BackgroundQuery:=False

This was working in Excel 2007.

I tried On Error Resume Next to get the query to skip any errors and move to the next part but that didn’t help.

Sub Refresh_all()

    Application.ScreenUpdating = False

    Application.Goto Reference:="querycell"
    Range("A2").Select

    Selection.QueryTable.Refresh BackgroundQuery:=False

    Dim pt As PivotTable
    Dim ws As Worksheet

    For Each ws In ActiveWorkbook.Worksheets
        For Each pt In ws.PivotTables
            pt.RefreshTable
        Next pt   
    Next ws

    Application.Goto Reference:="returncell"
    Range("A1").Select
    Application.ScreenUpdating = True

End Sub

Community's user avatar

asked Feb 3, 2015 at 10:10

Matt's user avatar

4

Very strange solution to this, but i’m putting it up in case anyone in the future finds them selves in this quandary!

In the Command text one of the lines was:

WHERE i.c LIKE NVL(?, '%')

Which for some reason worked in Excel 2007 but not in 2010

By changing it to this it worked as before

WHERE i.c = ?

I’m sure someone more intelligent than me will come along and give reasoning behind this, but until then, thats what solved it

answered Feb 4, 2015 at 10:49

Matt's user avatar

MattMatt

14.4k26 gold badges92 silver badges146 bronze badges

I have a small Excel 2010 query that either times out (not responding) then gets the error Run time error 1004 general odbc error

When I debug it highlights this line:

 Selection.QueryTable.Refresh BackgroundQuery:=False

This was working in Excel 2007.

I tried On Error Resume Next to get the query to skip any errors and move to the next part but that didn’t help.

Sub Refresh_all()

    Application.ScreenUpdating = False

    Application.Goto Reference:="querycell"
    Range("A2").Select

    Selection.QueryTable.Refresh BackgroundQuery:=False

    Dim pt As PivotTable
    Dim ws As Worksheet

    For Each ws In ActiveWorkbook.Worksheets
        For Each pt In ws.PivotTables
            pt.RefreshTable
        Next pt   
    Next ws

    Application.Goto Reference:="returncell"
    Range("A1").Select
    Application.ScreenUpdating = True

End Sub

Community's user avatar

asked Feb 3, 2015 at 10:10

Matt's user avatar

4

Very strange solution to this, but i’m putting it up in case anyone in the future finds them selves in this quandary!

In the Command text one of the lines was:

WHERE i.c LIKE NVL(?, '%')

Which for some reason worked in Excel 2007 but not in 2010

By changing it to this it worked as before

WHERE i.c = ?

I’m sure someone more intelligent than me will come along and give reasoning behind this, but until then, thats what solved it

answered Feb 4, 2015 at 10:49

Matt's user avatar

MattMatt

14.4k26 gold badges92 silver badges146 bronze badges

0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

А вот еще интересные материалы:

  • Яшка сломя голову остановился исправьте ошибки
  • Ясность цели позволяет целеустремленно добиваться намеченного исправьте ошибки
  • Ясность цели позволяет целеустремленно добиваться намеченного где ошибка
  • Run the rorconfig program first ошибка
  • Run graphics test ошибка команды нет