2017-01-23 6 views
0

У меня возникли некоторые проблемы, пытаясь извлечь некоторые данные из записей, код VBA является то, что так просто, как это:Recordset не возвращает все данные VBA

cnt.Open stDB 

Query = "SELECT TriggerDescription," 
Query = Query & " FROM Research_Control" 
Query = Query & " WHERE (((Research_Control.Status) = 1))" 
Query = Query & " ORDER BY Research_Control.Enterprise;" 

rs.Open Query, cnt, adUseClient 

    While Not rs.EOF 

     Sheets("Research_Review").Cells(lineResearch + line, colResearch) = rs.Fields(0) 

     line = line + 1 
     rs.MoveNext 

    Wend 

rs.Close 

cnt.Close 

«TriggerDescription» как большой, как 500 и когда я копирую это значение в ячейку в excel, оно появляется только до 300 символов.

Итак, мой вопрос: как я могу извлечь все данные из набора записей?

PS: Я уже попытался изменить тайм-аут с «cnt.CommandTimeout = 60», но он не работает либо

EDIT: В таблице Разработайте поле «TriggerDescription» является NTEXT DataType FYI.

+0

Почему все это ** текст ... **? – Sami

+0

Это описание триггера не больше 32 767 символов, так как это максимальное значение для [ячейки] (https://support.office.com/en-us/article/Excel-specifications-and-limits-1672b34d-7043- 467e-8e27-269d656771c3)? – rene

+0

В зависимости от того, насколько большой этот текст и если поставщик ADO DB для доступа поддерживает его, вы можете попробовать ['GetChunk'] (https://msdn.microsoft.com/en-us/library/ms681747 (v = vs. 85) .aspx) в этом поле. – rene

ответ

1

@ A.S.H дал ответ, используя CopyFromRecordset я могу скопировать все данные в ячейку

Sheets("Test").Range("test").CopyFromRecordset rs

+0

Приятно знать, что это сработало. Ну, встроенные методы Excel всегда предпочтительнее настраиваемых циклов, потому что они оптимизированы и надежны. Почему он не работал с вашим циклом, является загадкой, но, скорее всего, из-за определенного ограничения на размер для оператора присваивания Excel Cells. –

+0

@ A.S.H Спасибо! С этого момента я попытаюсь использовать более совершенные методы excel –

Смежные вопросы