P. S. А зачем вам синтаксис для таблицы [test1$A:C]
У меня иногда, без видимых (для меня) причин, вылезает ошибка "Отсутствует значение для одного лили нескольких требуемых параметров". Этот синтаксис ее исправляет.
Рассматриваю вариант, когда основная масса таблиц в экселе, но те таблицы, кот не редактируются руками, можно выносить в access, и там полновесно работать с delete. А основная масса таблиц в экселе потому, что я добавляю туда данные руками (так удобнее).
Спасибо всем за ответы!
Нельзя удалять с помошью ADO - да, я так и подозревал. Connection.Mode - благодарю, попробуем )).
P. S. А зачем вам синтаксис для таблицы [test1$A:C]
У меня иногда, без видимых (для меня) причин, вылезает ошибка "Отсутствует значение для одного лили нескольких требуемых параметров". Этот синтаксис ее исправляет.
Рассматриваю вариант, когда основная масса таблиц в экселе, но те таблицы, кот не редактируются руками, можно выносить в access, и там полновесно работать с delete. А основная масса таблиц в экселе потому, что я добавляю туда данные руками (так удобнее).Gamma754
Сообщение отредактировал Gamma754 - Четверг, 10.04.2014, 18:00
Еще столкнулся с такой проблемой. В книге динамичное кол-во листов. Возможно ли с помощью SQL вытащить названия всех имеющихся листов в книге? Заранее спасибо за возможную помощь в данном вопросе.
Еще столкнулся с такой проблемой. В книге динамичное кол-во листов. Возможно ли с помощью SQL вытащить названия всех имеющихся листов в книге? Заранее спасибо за возможную помощь в данном вопросе.Watcher_1
я Вам больше скажу - с помощью SQL решить Ваш второй вопрос в принципе нельзя. это точно. про первый - точно утверждать не могу. возможно, есть хитрый параметр в строке подключения, мне неизвестный. впрочем, PowerBoy и на первый вопрос ответил достаточно категорично, не так ли? а он эту тему знает хорошо.
я Вам больше скажу - с помощью SQL решить Ваш второй вопрос в принципе нельзя. это точно. про первый - точно утверждать не могу. возможно, есть хитрый параметр в строке подключения, мне неизвестный. впрочем, PowerBoy и на первый вопрос ответил достаточно категорично, не так ли? а он эту тему знает хорошо.ikki
помощь по Excel и VBA ikki@fxmail.ru, icq 592842413, skype alex.ikki
Сообщение отредактировал ikki - Четверг, 12.06.2014, 16:29
Public Sub Connect(Optional ByVal ConnectionString As String, Optional ConName As String = "", Optional header As Boolean = True) If Me.Connection Is Nothing Then Call Me.Create End If
If ConnectionString = "" Then Me.Connection.Open GetExcelConnectionString(header) Me.ConnectionName = "" Me.ConnectionHeader = header Else On Error GoTo err_con Me.Connection.Open ConnectionString Me.ConnectionName = ConName Me.ConnectionHeader = header End If
Exit Sub
err_con: If InStr(Err.Description, "decrypt") > 0 Or InStr(Err.Description, "дешифровать") > 0 Then Set ProtectExcelFile = GetObject(GetPathExcelFileConnectionString(ConnectionString)) Resume End If
Public Sub Connect(Optional ByVal ConnectionString As String, Optional ConName As String = "", Optional header As Boolean = True) If Me.Connection Is Nothing Then Call Me.Create End If
If ConnectionString = "" Then Me.Connection.Open GetExcelConnectionString(header) Me.ConnectionName = "" Me.ConnectionHeader = header Else On Error GoTo err_con Me.Connection.Open ConnectionString Me.ConnectionName = ConName Me.ConnectionHeader = header End If
Exit Sub
err_con: If InStr(Err.Description, "decrypt") > 0 Or InStr(Err.Description, "дешифровать") > 0 Then Set ProtectExcelFile = GetObject(GetPathExcelFileConnectionString(ConnectionString)) Resume End If
nerv, Добрый День! Решение ADO класса действительно очень гениальное hands hands , однако есть одна трудность он не выгружает все данные с листа. А именно на листе 156 000 строк , а он в массив грузит лишь 65536 методом ADO.ToArray() girl_sad т.е.
Dim ADO As New ADO Dim Arr As Variant ADO.DataSource = "d:\ÀÒÁ àâãóñò 2015_ðûáà_649.xlsm" ADO.Query ("SELECT * FROM [лист1$A:AC]")
Arr = ADO.ToArray()
т.е. в окне отладчика "Locals" Arr(65536) - максимальное число А нужно чтобы обрабатывались данные размером хотя бы до 200 000 - 350 000 строк. ПОМОГИТЕ ПОЖАЛУЙСТА
girl_sad girl_sad [moder]Ваш вопрос обсуждается здесь. Ветка Готовые решения не для вопросов[/moder]
nerv, Добрый День! Решение ADO класса действительно очень гениальное hands hands , однако есть одна трудность он не выгружает все данные с листа. А именно на листе 156 000 строк , а он в массив грузит лишь 65536 методом ADO.ToArray() girl_sad т.е.
Dim ADO As New ADO Dim Arr As Variant ADO.DataSource = "d:\ÀÒÁ àâãóñò 2015_ðûáà_649.xlsm" ADO.Query ("SELECT * FROM [лист1$A:AC]")
Arr = ADO.ToArray()
т.е. в окне отладчика "Locals" Arr(65536) - максимальное число А нужно чтобы обрабатывались данные размером хотя бы до 200 000 - 350 000 строк. ПОМОГИТЕ ПОЖАЛУЙСТА
girl_sad girl_sad [moder]Ваш вопрос обсуждается здесь. Ветка Готовые решения не для вопросов[/moder]SvetaS