Гость
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / DAO (?) обрезает поле MEMO до 255 символов / 8 сообщений из 8, страница 1 из 1
27.12.2017, 22:32
    #39577151
chva
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DAO (?) обрезает поле MEMO до 255 символов
В сети по запросу типа "ACCESS MEMO FIELD TRUNCATED 255 SYMBOLS" много информации, но всё не похоже на мой случай. Кто знает, что делать? Описываю проблему:

Подпрограмма в модуле VBA формирует значения и через механизм DAO вставляет строки в заранее созданную таблицу ACCESS. Одно из полей в таблице имеет тип MEMO, переменная в модуле для её заполнения тип STRING (то есть всё больше 255 символов). Для простоты оставляю только одно поле и переменную. Код такого типа

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
DIM s as string
DIM rst1 as DAO.Recordset

set rst1=currentdb.openrecordset ("Таблица1")

with rst1

do while 'Тут условие цикла
s="Тут длинное значение больше 255 символов, которое заполняется отдельной функцией"
.addnew
rst1!Поле1=s
.update
loop

.close

end with



Подпрограмма отрабатывает, но поле Поле1 (напомню, имеет тип Memo) оказывается обрезанным до 255 символов, как будто имеет тип Text. При этом сама по себе s имеет нормальную длину (проверяют по выводу в печать в окно отладки). То есть вывод такой, что сам DAO обрезает строковое значение до 255 символов.

Кто знает как побороть?
...
Рейтинг: 0 / 0
27.12.2017, 22:48
    #39577158
Predeclared
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DAO (?) обрезает поле MEMO до 255 символов
chva... То есть вывод такой, что сам DAO обрезает строковое значение до 255 символов...

Мое DAO сильнее твоего. Не обрезает. Все по-честному. (А2003)
...
Рейтинг: 0 / 0
27.12.2017, 22:58
    #39577161
chva
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DAO (?) обрезает поле MEMO до 255 символов
Predeclared,

У меня MS Access 2010. Я тебе завидую конечно, но всё же хотелось бы услышать рецепт от тех, кто с такой проблемой сталкивался. Не представляю даже, куда копать. Кстати, проверил на домашнем компьютере — тоже все хорошо, отчего же на работе такая фигня?
...
Рейтинг: 0 / 0
27.12.2017, 23:15
    #39577164
Predeclared
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DAO (?) обрезает поле MEMO до 255 символов
У меня только два предположения:
1. Таблица1 - линкованный XLS
2. Перепутаны имена полей
...
Рейтинг: 0 / 0
28.12.2017, 06:37
    #39577203
ПЕНСИОНЕРКА
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DAO (?) обрезает поле MEMO до 255 символов
chva,
для начала добавила бы отладочную печать
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
do while 'Тут условие цикла
s="Тут длинное значение больше 255 символов, которое заполняется отдельной функцией"
.addnew
debug.print len(s),s
rst1!Поле1=s
.update
loop
...
Рейтинг: 0 / 0
28.12.2017, 08:39
    #39577240
alecko
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DAO (?) обрезает поле MEMO до 255 символов
Может до этого в таблице было поле1 типа текст, а потом переделано под мемо? может попробовать создать новое поле?
...
Рейтинг: 0 / 0
28.12.2017, 11:52
    #39577335
а так?
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DAO (?) обрезает поле MEMO до 255 символов
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
Sub doit()
    With CurrentDb.OpenRecordset("t", dbOpenTable)
        .AddNew
        .Fields("m").AppendChunk String(500, "$")
        .Update
        .Close
    End With
End Sub
...
Рейтинг: 0 / 0
29.12.2017, 03:31
    #39577650
Nebo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DAO (?) обрезает поле MEMO до 255 символов
chva,

Запросом можно делать вставку.
Но избегайте мемо полей на критичных данных.
Где то в Сети встречалось такое предупреждение.
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / DAO (?) обрезает поле MEMO до 255 символов / 8 сообщений из 8, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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