Страницы: 1
RSS
Что такое опция "adExecuteNoRecords" в connection?
 
Добрый день.  
 
Подскажите пож. что такое "adExecuteNoRecords" ?  
ниже пример кода...  
 
   Dim cn As ADODB.Connection  
   Dim strSQL As String  
   Dim lngRecsAff As Long  
   Set cn = New ADODB.Connection  
 
...  
 
   cn.Execute strSQL, lngRecsAff, adExecuteNoRecords ----???
 
adExecuteNoRecords    
Если указан этот параметр, то если результатом запроса будет пустой рекордсет(отсутствуют записи), тогда рекордсет не создается.  
как то так
Спасибо
 
а где можно почитать про все параметры конекшн? наподобие lngRecsAff и adExecuteNoRecords,в справке не нашел
 
{quote}{login=Суперчайник}{date=11.03.2012 01:05}{thema=}{post}а где можно почитать про все параметры конекшн? {/post}{/quote}  
Основное тут есть.  
http://www.script-coding.com/ADO.html  
здесь для ASP но Ваш вопрос тоже присутствует  
http://www.codenet.ru/webmast/iis/htm/asp/iiwadata.php
Спасибо
 
а вот спасибо вам за всё!  
 
вот только научился из иксель на сервер sql данные загружать, теперь будем изучать параметры, а то без понятия как всегда о них.
 
Я обычно с параметрами не связываюсь, просто формирую правильный SQL,  
хотя пишут что быстрее чего то будет, но я думаю врядли, если  соединение не разрывать, а только менять строку запроса.
Спасибо
 
И быстрее, я думаю, будет открыть рекордсет и грузить в него данные
Спасибо
 
с помощью рекордсета я понятия не имею как, я вот так заливаю  
...  
   cn.Open "DRIVER={Microsoft Excel Driver (*.xls)};DBQ=" & Dir1  
   strSQL = "SELECT * INTO [odbc;DRIVER=SQL Server;SERVER=ююю;DATABASE=ббб].XLImport " & _
       "FROM [Лист2$]"
...  
вроде шустро качает, и то я по одному листу качаю, так и не нашел способа вытаскивать из кэша одним махом 1 млн строк!
 
Ну если таблицу заливать то все правильно, рекордсет не нужен
Спасибо
 
а не подскажете как при showdetail присвоить определенное имя создаваемому листу?  
а то после conection.open ругается на имя создаваемого листа от сводной, либо обновлять связь (или открывать заново) или имя задать существующего!
 
Set sh = Sheets.Add  
  sh.Name = "AddSheets"
Спасибо
 
я имел ввиду в процессе команды  
Worksheets(wshname).PivotTables(1).TableRange1.Cells(2).ShowDetail = True  
что и куда прописать чтобы создаваемый лист из сводных данных был с именем "лист1"
 
Вам ведь надо после метода Showdetail  
По идее этот лист должен быть sheets(sheets.count).name  
 
но на всякий я бы сделал  
set dict = CreateObject("Scripting.Dictionary")  
for i=1 to sheets.count  
dict.add sheets(i).name,i  
next  
Showdetail////////////////  
 
for i=1 to sheets.count  
if not dict.exists(sheets(i).name) then msgbox sheets(i).name : exit for  
next
Спасибо
 
Вместо msgbox sheets(i).name : exit for  
сделайте так    
sheets(i).name ="NewName" : exit for
Спасибо
 
всегда ли при создании нового листа необходимо открывать Connection.Open  
чтобы он в sql коде видел лист? или можно обмануть путем созданеия листа с уже существовавшим именем на момент открытия связи?  
и вообще есть ли параметр обновления Connection... или прийдется каждый раз закрывать открывать?
 
блин, с переименованием листа не получается, системная какая то фигня, пока только по сто раз открывать связь, в принципе секундное дело.
 
Ан нет, с переименованием схавал.
 
Может что то типа этого поможет    
Sub ntcn()  
Dim dict As Object, cn As Object,i&,strSql$  
Set cn = CreateObject("ADODB.Connection")  
Set cn = New ADODB.Connection  
cn.Open "DRIVER={Microsoft Excel Driver (*.xls)};DBQ=" & Dir1  
Dim dict As Object  
For i = Sheets.Count To 1 Step -1  
 If Sheets(i).Name = "nnnn" Then Sheets(i).Delete Else dict.Add Sheets(i).Name, i  
Next  
         
 For i = 1 To Ляляля  
         
       Worksheets(wshname).PivotTables(1).TableRange1.Cells(2).ShowDetail = True  
       For i = 1 To Sheets.Count  
           If Not dict.exists(Sheets(i).Name) Then Sheets(i).Name = "nnnn": Exit For  
       Next  
         
strSql = "SELECT * INTO [odbc;DRIVER=SQL Server;SERVER=ююю;DATABASE=ббб].XLImport " & _
"FROM [nnnn$]"
cn.Execute (strSql)  
Sheets("nnnn").Delete  
Next  
cn.Close: Set cn = Nothing  
End Sub
Спасибо
 
только cn.Execute (strSql)  
там cn должно быть к MSSQL :-))
Спасибо
 
почему же как раз таки strSql = "SELECT * INTO [odbc;DRIVER=SQL Server
про MSSQL ничево не знаю  
спасибо.
Страницы: 1
Читают тему
Наверх