Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
Метод CopyFromRecordset
 
Посмотрел.. Действительно, было две проблемы.  
1. Разный формат дат на сервере (привел к одному)  
2. Записи, на которых вываливается - на сервере nvarchar(max)- содержат много символов.. Сейчас думаю, как уменьшить.. В Excel - формат поля текст - копирую руками влезает, из Recordset - нет..
Метод CopyFromRecordset
 
Спасибо, попробую.. Еще пробовал выводить содержимое recordset в Debug.Print, выводит все правильно..
Метод CopyFromRecordset
 
Добрый день!  
Есть код, который из Excel запрашивает данные с MS SQL Server 2005 в зависимости от введенных дат. Все работает нормально, но до определенного этапа. Часть данных выгружается, часть нет. Потом выскакивает ошибка:  
 
Run-Time error '-2147467259 (80004005)'  
"Method 'CopyFromRecordset' of object 'Range' failed"  
 
Строка на которой все останавливается:  
.Range("A2").CopyFromRecordset rs  
 
Вот кусок кода:    
 
 
Public Sub SQLCon()  
Dim cn As New ADODB.Connection  
Dim cmd As ADODB.Command  
Dim rs As ADODB.Recordset  
Dim errErrs As ODBCErrors  
Dim errErr As ODBCError  
 
 
With Application  
   .ScreenUpdating = False  
   .DisplayAlerts = False  
End With  
Set cmd = CreateObject("ADODB.Command")  
cn.ConnectionString = "Provider=SQLOLEDB.1;Password=****;Persist Security Info=True;User ID=****;Initial Catalog=rrrrr;Data Source=llll"  
cn.ConnectionTimeout = 0  
cn.Open  
 
StartData = UserForm1.TextBox1.Text  
FinishData = UserForm1.TextBox2.Text  
SQLstr1 = "select * from dbo.Report_Day_Main" & "(" & "'" & StartData & "'" & ", " & "'" & FinishData & "'" & ")"  
With cmd  
   .ActiveConnection = cn  
   .CommandText = SQLstr1  
End With  
Set rs = cmd.Execute()  
Sheets("Лист2").Visible = xlSheetVisible  
With ThisWorkbook.Worksheets("Лист2")  
   .Name = "Отчет1"  
   .Range("A2").CopyFromRecordset rs  
   .Columns("B:B").NumberFormat = "m/d/yyyy"  
   .Columns("N:N").NumberFormat = "m/d/yyyy"  
End With  
.....  
 
С чем это может быть связано? Заранее спасибо!  
PS: MS Office 2003, win xp sp2
Страницы: 1
Наверх