Сбой Excel после подключения ADO

#excel #vb6 #ado

#excel #vb6 #ado

Вопрос:

Я пытаюсь запросить большой именованный диапазон в Excel

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

     strCon.Open "Provider=Microsoft.Jet.OLEDB.4.0;" amp; _
                     "Data Source=" amp; strFile amp; ";" amp; _
                     "Extended Properties=""Excel 8.0;"""
  

Я пытаюсь использовать другое соединение, но затем происходит сбой VB6!

 myRangeName = "namedRangeWorksheet"
xlapp.Names.Add Name:=myRangeName, RefersTo:=TrueUsedRange
'**********************************
Dim cn As ADODB.Connection
Dim rs As ADODB.Recordset
strFile = oWB.FullName
Set strCon = CreateObject("ADODB.Connection")
Set rs = CreateObject("ADODB.Recordset")

strCon.Open "Provider = Microsoft.ACE.OLEDB.12.0;" amp; _
            "Data Source = " amp; strFile amp; ";" amp; _
            "Extended Properties = ""Excel 12.0 Xml;HDR=YES;IMEX=1"";"

strSQL = "SELECT * from namedRangeWorksheet"    ''Named range
rs.Open strSQL, strCon, adOpenKeyset, adLockOptimistic
  

Microsoft.ACE.OLEDB.12.0 хорошо работает на моем компьютере при применении к базе данных Access

Комментарии:

1. С «сбоями» вы имеете в виду, что Excel умирает или просто показывает ошибку?

2. Сбой VB6 (не Excel)!

3. Все еще в замешательстве: Вы говорите о VB6 или VBA? И что вы имеете в виду под «сбоями»? Получаете ли вы какое-либо значимое сообщение об ошибке? Что именно происходит?

4. VB6! Он выходит из строя и закрывается без какого-либо сообщения!

5. Я удалил тег VBA, если вместо этого вы используете VB6. Теги используются для предупреждения людей, которые в них заинтересованы; использование неправильных бесполезно.