powered by simpleCommunicator - 2.0.18     © 2024 Programmizd 02
Map
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / VBA - ошибка при выполнение SQL запроса на удаление к текущей книге
10 сообщений из 10, страница 1 из 1
VBA - ошибка при выполнение SQL запроса на удаление к текущей книге
    #40120185
Добрый день!

Написал макрос для удаления записей из таблицы Excel.
Но при выполнения запроса на удаление (см. код ниже) выскакивает ошибка "Удаление данных в присоединенной таблице не поддерживается драйвером ISAM"

Можно ли как-то обойти эту ошибку? Что не так делаю?

Заранее всем спасибо!

код:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
Sub SQL()
Dim myConnect, mySQL As String, myRecord As Object
Dim Data As String, strAddress As String
    Set myRecord = CreateObject("ADODB.Recordset")
 '   Set myConnect = CreateObject("ADODB.Connection")
    strAddress = Replace(ThisWorkbook.Sheets(1).Cells(1, 1).CurrentRegion.Address, "$", "")
    
    Data = "[" & ThisWorkbook.Sheets(1).Name & "$" & strAddress & "]"
'        myConnect.open "Provider=Microsoft.ACE.OLEDB.12.0;" & _
'           "Data Source=" & ThisWorkbook.FullName & ";" & _
'           "Extended Properties=""Excel 12.0;HDR=NO"""
        myConnect = "Provider=Microsoft.ACE.OLEDB.12.0;" & _
           "Data Source=" & ThisWorkbook.FullName & ";" & _
           "Extended Properties=""Excel 12.0;HDR=NO"""

    mySQL = "DELETE * FROM " & Data & ""
'    myConnect.Execute mySQL
    myRecord.Open mySQL, myConnect

End Sub


Модератор: Учимся использовать тэги оформления кода - FAQ
...
Рейтинг: 0 / 0
VBA - ошибка при выполнение SQL запроса на удаление к текущей книге
    #40120217
Serg197311
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кратко - почти все не так

Код: vbnet
1.
ThisWorkbook.Sheets(1).Name


Судя по этому - работаешь из самого Excel?
и удалить данные тоже из него хочешь
Код: vbnet
1.
Data = "[" & ThisWorkbook.Sheets(1).Name & "$" & strAddress & "]"


Зачем тогда использовать recordset?
Можно вполне использовать объектную модель самого Excel....

Код: vbnet
1.
2.
3.
mySQL = "DELETE * FROM " & Data & ""
'    myConnect.Execute mySQL
    myRecord.Open mySQL, myConnect


на инструкции DELETE собираемся открыть recordset??
Тс, извини но у тебя че-то все перепуталось......
пример открыть не удалось
...
Рейтинг: 0 / 0
VBA - ошибка при выполнение SQL запроса на удаление к текущей книге
    #40120222
Прошу прощения, поторопился
код:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
Sub SQL()
Dim myConnect, mySQL As String
Dim Data As String, strAddress As String
    Set myConnect = CreateObject("ADODB.Connection")
    strAddress = Replace(ThisWorkbook.Sheets(1).Cells(1, 1).CurrentRegion.Address, "$", "")
    
    Data = "[" & ThisWorkbook.Sheets(1).Name & "$" & strAddress & "]"

        myConnect.Open "Provider=Microsoft.ACE.OLEDB.12.0;" & _
           "Data Source=" & ThisWorkbook.FullName & ";" & _
           "Extended Properties=""Excel 12.0;HDR=YES"""
    mySQL = "DELETE * FROM " & Data & ""
    myConnect.Execute mySQL
End Sub



Выдает ошибку "Удаление данных в присоединенной таблице не поддерживается драйвером ISAM"
...
Рейтинг: 0 / 0
VBA - ошибка при выполнение SQL запроса на удаление к текущей книге
    #40120235
andreymx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
там не сводная?
...
Рейтинг: 0 / 0
VBA - ошибка при выполнение SQL запроса на удаление к текущей книге
    #40120238
Нет, обычная таблица из 2-х столбцов. В первом фамилии, во втором - количество баллов
Файл, к сожалению, не удается прикрепить
...
Рейтинг: 0 / 0
VBA - ошибка при выполнение SQL запроса на удаление к текущей книге
    #40120276
Serg197311
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Начинающий VBA Coder
Нет, обычная таблица из 2-х столбцов. В первом фамилии, во втором - количество баллов
Файл, к сожалению, не удается прикрепить

Все таки я не понимаю, зачем делать это через sql?
Почему не использовать объектную модель Excel?
...
Рейтинг: 0 / 0
VBA - ошибка при выполнение SQL запроса на удаление к текущей книге
    #40120323
Просто для того, чтобы понять, как это делать через ADO
...
Рейтинг: 0 / 0
VBA - ошибка при выполнение SQL запроса на удаление к текущей книге
    #40120465
Serg197311
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Начинающий VBA Coder
Просто для того, чтобы понять, как это делать через ADO

Ну - это достойная причина:))(Без подколов - мне самому интересно) Поскольку моих знаний не хватает для ответа на этот вопрос - подождем более опытных товарищей.
...
Рейтинг: 0 / 0
VBA - ошибка при выполнение SQL запроса на удаление к текущей книге
    #40120530
Фотография big-duke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Начинающий VBA Coder
Просто для того, чтобы понять, как это делать через ADO

OLE DB провайдер запрещает операцию удаления для листа Excel.
Вместо этого можно сделать Update пустыми значениями.
...
Рейтинг: 0 / 0
VBA - ошибка при выполнение SQL запроса на удаление к текущей книге
    #40120541
big-duke
Начинающий VBA Coder
Просто для того, чтобы понять, как это делать через ADO

OLE DB провайдер запрещает операцию удаления для листа Excel.
Вместо этого можно сделать Update пустыми значениями.


Да, нашел описание на stackoverflow, ссылка (правда для C#):
https://stackoverflow-com.translate.goog/questions/21170884/deleting-data-in-a-linked-table-is-not-supported-by-this-isam-exception-in-c-sha?_x_tr_sl=en&_x_tr_tl=ru&_x_tr_hl=ru&_x_tr_pto=sc

Всем спасибо!
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / VBA - ошибка при выполнение SQL запроса на удаление к текущей книге
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали тему (1): Анонимы (1)
Читали форум (1): Анонимы (1)
Пользователи онлайн (11): Анонимы (7), Bing Bot 1 мин., Yandex Bot 1 мин., Google Bot 2 мин., CerebroSQL 3 мин.
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]