Форум программистов, компьютерный форум, киберфорум
Microsoft Access
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/15: Рейтинг темы: голосов - 15, средняя оценка - 5.00
16 / 1 / 0
Регистрация: 01.08.2013
Сообщений: 121
Записей в блоге: 1
1

Обрезается весь текст после 255 символов

25.09.2014, 00:48. Показов 2929. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Товарищи. Такая проблема. Собираю все значения из одного поля по ИД в одну строчку в переменную (в модуле):

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
Public Function GetUnionString(ИД_Обращения As Long) As String
    Dim strSQL As String
    strSQL = "SELECT Описание_генов.Название_гена FROM Заказанные_гены INNER JOIN Описание_генов ON Заказанные_гены.ИД_Гена = Описание_генов.ИД_Гена WHERE Заказанные_гены.ИД_Обращения=" & ИД_Обращения & " AND Заказанные_гены.[Считать?]=True"
    
    With CurrentProject.Connection.Execute(strSQL)
        If Not .EOF Then
            GetUnionString = .GetString(adClipString, , , ", ")
            GetUnionString = Mid$(GetUnionString, 1, Len(GetUnionString) - 1)
        End If
    End With
End Function

А потом вывожу в форме в Поле89 результат. Поле60 - это ИД_Обращения

Me.Поле89 = GetUnionString(Me!Поле60)

Но! ПОЧЕМУ обрезается весь текст после 255 символов? Помогите справиться с этим ограничением, пожалуйста...
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.09.2014, 00:48
Ответы с готовыми решениями:

Обрезается текст до 255 символов
Столкнулась со странным случаем. На этапе создания таблицы посредством Make table query не DDL...

Обрезается текст до 255 символов при вставке нескольких строк
при вставке значений по одному в каждую ячейку текст вставляется полностью но когда в ту же...

421 cannot connect to SMPT server 255.255.255.255 (255.255.255.255:25)
Добрый день! при вызове bool mSocket::Connect(int port,char* adr) { hostent* hn; ...

Задали непустой текст длиной до 255 символов
Задали непустой текст длиной до 255 символов. Выполнить над каждым словом текста следующие...

6
Эксперт MS Access
26806 / 14485 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
25.09.2014, 01:07 2
Цитата Сообщение от autumnrustle Посмотреть сообщение
ПОЧЕМУ обрезается весь текст после 255 символов?
Предположу, что форма основана на таблице/запросе и Поле89 на текстовом поле таблицы. А нужно поле типа Memo. Текстовое поле ограничено максимум 255 символами.
0
16 / 1 / 0
Регистрация: 01.08.2013
Сообщений: 121
Записей в блоге: 1
25.09.2014, 11:55  [ТС] 3
mobile, я без промежуточной таблицы получаю список.

оказалось, что ПРОБЛЕМА В ДРУГОМ:
в поле89 на форме я получаю список генов в строчку в том числе и >255 символов. А вот при выводе этого счастья в ворд возникает ошибка.
Вот, я сделал отдельную базу для наглядности. Шаблон word нужно положить на диск С в корень.
Почему так и что можно сделать?

db.7z
0
16 / 1 / 0
Регистрация: 01.08.2013
Сообщений: 121
Записей в блоге: 1
25.09.2014, 12:03  [ТС] 4
mobile, в word вывожу вот так:

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Private Sub Кнопка4_Click()
Err.Number = 0
On Error GoTo notloaded
Set appWD = GetObject(, "Word.Application")
notloaded:
If Err.Number = 429 Then
Set appWD = CreateObject("Word.Application")
End If
appWD.Visible = True
 
With appWD
Set myDoc = .Documents.Add("C:\dot1.dot")
 
Set MyRange = myDoc.Content
             MyRange.Find.Execute FindText:="%gens%", ReplaceWith:=Format(Me!Поле2), Replace:=wdReplaceAll
End With
Exit_Кнопка4_Click:
Exit Sub
End Sub
0
Эксперт MS Access
17487 / 7249 / 1651
Регистрация: 21.06.2012
Сообщений: 13,865
25.09.2014, 12:27 5
Проблема эта с запросами обсуждалась несколько раз. Она возникает и в заголовках отчетов Аксесса и при выводе в Ворд. И для отчетов, и для Ворда, вроде бы, найдено решение - делать временную таблицу, заполнять ее и с ней работать при выводе (без запросов). Ну и, как справедливо заметил mobile, такие поля должны быть Мемо.
0
Эксперт MS Access
26806 / 14485 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
25.09.2014, 13:19 6
Лучший ответ Сообщение было отмечено alvk как решение

Решение

autumnrustle, проблема была в реплейсе ворда. Метод не поддерживает более 255 символов замены. Сделал шаблон dot3.dot с закладкой "gens". И все нормально. Единственно, в коде шаблон должен быть в той же папке, что и программа. Но это легко изменить.
Вложения
Тип файла: zip db.zip (27.5 Кб, 16 просмотров)
0
16 / 1 / 0
Регистрация: 01.08.2013
Сообщений: 121
Записей в блоге: 1
01.10.2014, 00:46  [ТС] 7
mobile, да, спасибо! Помогло)
Объединил оба метода в один. Теперь всё работает.

Спасибо огромное!
0
01.10.2014, 00:46
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.10.2014, 00:46
Помогаю со студенческими работами здесь

Текст, состоящий не более чем из 255 символов, разбить на строки длиной не более 50 символов в строке
Текст, состоящий не более чем из 255 символов, разбейте на строки длиной не более 50 символов в...

Memo - поле обрезается до 255 знаков
Здравствуйте. Использую Builder 2009 и бд Access. Возникла такая проблема: на форме расположен...

Дан текст не более 255 символов. Составить словарь уникальных слов
Здравствуйте! Помогите пожалуйста с заданием. Если можно, то с объяснениями. Спасибо! Дан текст...

Зашифровать текст(не более 255 символов),записываю все слова наоборот
Зашифровать текст(не более 255 символов),записываю все слова наоборот.Считать,что слова в тексте...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru