powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Бага (?) с CopyFromRecordSet
13 сообщений из 13, страница 1 из 1
Бага (?) с CopyFromRecordSet
    #33806507
Фотография Senin Viktor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если одно из полей рекодсета содержит более 911 символов, то нифига в Екцель ничего не вставляется - вылетает с ошибкой. 911 символов я подобрал методом научного тыка :(, и уже потом встретил аналогичную проблему , к сожалению, без ее решения.

екцель 2003+SP2, MDAC 2.1+hotfix'ы + SQL2000+SP4+hf


P.S.
и еще и опять же без ответа
...
Рейтинг: 0 / 0
Бага (?) с CopyFromRecordSet
    #33806682
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Такова жизнь... Режь длинный текст на несколько частей по 254 символа и размещай его в нескольких ячейках.
...
Рейтинг: 0 / 0
Бага (?) с CopyFromRecordSet
    #33806948
Витал
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторекцель 2003+SP2, MDAC 2.1+hotfix'ы + SQL2000+SP4+hf
А почему, если не секрет, не MDAC 2.8??
...
Рейтинг: 0 / 0
Бага (?) с CopyFromRecordSet
    #33807290
Фотография Victosha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Поразительное, надо сказать, открытие.


в Excel 2002 + sql serv2000
поведение польностью повторяется - 911 - последняя выводимая длина при
CopyFromRecordset( AdoRecordset)

после этого метод failed

при этом QueryTable, обращающаяся к тем же данным через ODBC,
возвращает информацию полностью, с правильными длинами и не сбоит.
...
Рейтинг: 0 / 0
Бага (?) с CopyFromRecordSet
    #33807326
Фотография Victosha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
похоже, при таких же длинах элементов отказывает присвоение
Диапазон.Value|Value2=массивзначений
поштучное присвоение значения каждой ячейке проходит
...
Рейтинг: 0 / 0
Бага (?) с CopyFromRecordSet
    #33807441
Ashton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
You may receive a "Run-time error 1004" error message when you programmatically set a large array string to a range in Excel 2003 .

Чтобы обойти эту багу, нужно либо разбивать текст на несколько частей, либо использовать запрос.
...
Рейтинг: 0 / 0
Бага (?) с CopyFromRecordSet
    #33807517
Фотография Senin Viktor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Витал авторекцель 2003+SP2, MDAC 2.1+hotfix'ы + SQL2000+SP4+hf
А почему, если не секрет, не MDAC 2.8??

пардон MDAC 2.81
...
Рейтинг: 0 / 0
Бага (?) с CopyFromRecordSet
    #33807537
Фотография Senin Viktor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
херня какая-то: если сделать left(rs.fields("More911char"),2000) - то в екцель все записываеться. (2000 - просто условная цифра, заведомо большая чем 911)

2Ashton - за ссылку на статью спасибо - еще бы они там чего нибудь умного написали "типа, извините, справка у нас гаумно, спецификация екцеля - гаумно. ничему не верте. в следующей версии надо будет разбивать текст по 27 символов ибо нам так хочется", да и статью даже не BUG или Problem не назвали.


З.Ы.
начальнику объяснял долго почему комментарии обрезались с его 1033 символов до 911.
...
Рейтинг: 0 / 0
Бага (?) с CopyFromRecordSet
    #33808074
Фотография Victosha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Senin Viktorхерня какая-то: если сделать left(rs.fields("More911char"),2000) - то в екцель все записываеться. (2000 - просто условная цифра, заведомо большая чем 911)


Senin Viktor
... в следующей версии надо будет разбивать текст по 27 символов


не баись - 255 символов (байт под длину строки) тебе всегда гарантированы.
это обеспечивают даже самые простые форматы обмена с клипбордом вроде XLTable.

акцесс, кстати, при экспорте встроенными средствами просто берет left(field,255)
...
Рейтинг: 0 / 0
Бага (?) с CopyFromRecordSet
    #33808106
Фотография Victosha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Victosha[quot Senin Viktor]херня какая-то: если сделать left(rs.fields("More911char"),2000) - то в екцель все записываеться. (2000 - просто условная цифра, заведомо большая чем 911)


[quot]

пропустил.
в 2002м екселе такой ход не работает.
любая длина > 911 в массиве или рекордсете при CopyFromRecordset вызывает ошибку.
неважно, left оно было на источнике ини нет
...
Рейтинг: 0 / 0
Бага (?) с CopyFromRecordSet
    #33809530
Фотография Senin Viktor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Victosha[quot Victosha][quot Senin Viktor]херня какая-то: если сделать left(rs.fields("More911char"),2000) - то в екцель все записываеться. (2000 - просто условная цифра, заведомо большая чем 911)




пропустил.
в 2002м екселе такой ход не работает.
любая длина > 911 в массиве или рекордсете при CopyFromRecordset вызывает ошибку.
неважно, left оно было на источнике ини нет

не на источнике, а просто уже после заполения рекодсета сделать нечто типа
ActiveCells=left(rs.fields("More911char"),2000) - работает, а
ActiveCells= rs.fields("More911char") - не работает.
массивов-то тута нет.

З.Ы.
в MSDN описана аналогичная проблема 911 с провекой орфографии в ячейках с кол-вом символов более 911.
Таким образом, к спецификации екцеля можно добавить еще одну :(, неописанную
...
Рейтинг: 0 / 0
Бага (?) с CopyFromRecordSet
    #33810203
Мшсещырф
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторActiveCells= rs.fields("More911char") - не работает.
такого варианта я не проверял.

авторActiveCells=left(rs.fields("More911char"),2000) - работает, а


здесь происходит чтение в необъявленную переменную до присвоения ячейке.
такое работает и лефт не нужен.
можно любой функцией-пустышкой обернуть с параметром байвал.
или там cstr по вкусу.
...
Рейтинг: 0 / 0
Бага (?) с CopyFromRecordSet
    #33810402
Фотография Senin Viktor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мшсещырф
здесь происходит чтение в необъявленную переменную до присвоения ячейке.
такое работает и лефт не нужен.


агу, только Left все-таки нужен и без него нефурычит. Почему? - а фиг его знает.

З.Ы.
Выход, кстати, я нашел - теперь руководство и юзеры пишут короткие 911-символьные комментарии :) Подействовал аргумент, что краткость - сестра таланта :)
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Бага (?) с CopyFromRecordSet
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]