Форум программистов, компьютерный форум, киберфорум
Microsoft Access
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.72/25: Рейтинг темы: голосов - 25, средняя оценка - 4.72
 Аватар для albannikov
12 / 12 / 3
Регистрация: 20.12.2012
Сообщений: 100

Обрезается текст в созданном поле

23.05.2017, 14:34. Показов 5111. Ответов 33
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Привет всем.
Выполняю в Access запрос с таким условием:
SQL
1
2
3
....
IIf(USER_ANSWER="Case_1",Case_1,IIf(USER_ANSWER="Case_2",Case_2,Case_3)) AS US_ANSW
...
Можно ли при создании поля US_ANSW назначить ему тип WideMemo ?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
23.05.2017, 14:34
Ответы с готовыми решениями:

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

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

Обрезается текст при печати
Здравствуйте. Есть текстовый файл нестандартного размера. Вывожу на печать в том же размере, без полей, все по нулям. В результате текст...

33
Эксперт MS Access
 Аватар для Eugene-LS
12075 / 5856 / 1496
Регистрация: 05.10.2016
Сообщений: 16,452
23.05.2017, 14:40
Цитата Сообщение от albannikov Посмотреть сообщение
Можно ли при создании поля US_ANSW назначить ему тип WideMemo ?
Можно!
0
Эксперт MS Access
26826 / 14506 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
23.05.2017, 14:48
Цитата Сообщение от albannikov Посмотреть сообщение
Можно ли при создании поля US_ANSW назначить ему тип WideMemo ?
Можно не только при создании. Можно и потом, после создания. Ручками в конструкторе или запросом
SQL
1
ALTER TABLE ИмяТаблицы ALTER COLUMN US_ANSW memo
1
 Аватар для albannikov
12 / 12 / 3
Регистрация: 20.12.2012
Сообщений: 100
23.05.2017, 14:48  [ТС]
Eugene-LS, Локанично дело в том, что в DBgrid попадает обрезанный текст (255 символов).
Текст, который выводится в других колонках (без IIf..AS..) имеет тип WideMemo и выводится полностью.
Как назначить тип ?
0
Эксперт MS Access
 Аватар для Eugene-LS
12075 / 5856 / 1496
Регистрация: 05.10.2016
Сообщений: 16,452
23.05.2017, 14:52
Цитата Сообщение от albannikov Посмотреть сообщение
Локанично ...
Я ответил на заданный вопрос, вы же не спрашивали "как".
0
 Аватар для albannikov
12 / 12 / 3
Регистрация: 20.12.2012
Сообщений: 100
23.05.2017, 14:56  [ТС]
mobile, Подскажи, пожалуйста, как данную конструкцию применить к моему запросу?

SQL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
SELECT TEST_RESULTS.ID_TEST, CURRENT_TEST.QUESTION,
 CURRENT_TEST.TRUE_ANSWER, CURRENT_TEST.USER_ANSWER,
 QUESTIONS.question, QUESTIONS.CASE_1, QUESTIONS.CASE_2,
 QUESTIONS.CASE_3, QUESTIONS.CASE_4, USER_NAMES.FIO,
 IIf(TRUE_ANSWER="Case_1",Case_1,IIf(TRUE_ANSWER="Case_2",Case_2,Case_3)) AS TR_ANSW,
 IIf(USER_ANSWER="Case_1",Case_1,IIf(USER_ANSWER="Case_2",Case_2,Case_3)) AS US_ANSW
 
FROM QUESTIONS, USER_NAMES
 INNER JOIN (TEST_RESULTS
 INNER JOIN CURRENT_TEST
   ON TEST_RESULTS.ID_TEST = CURRENT_TEST.ID_CUR_TEST)
   ON USER_NAMES.id = TEST_RESULTS.FIO
 
WHERE (((TEST_RESULTS.ID_TEST)=1)
   AND ((CURRENT_TEST.QUESTION)=[QUESTIONS].[id]));
0
23.05.2017, 15:36
 Комментарий модератора 
Цитата Сообщение от Eugene-LS Посмотреть сообщение
Так тут принято.
Неверно. На форуме допустимы оба варианта обращения. Какой из них выбрать это личное дело воспитания каждого.
Eugene-LS, albannikov, все высказывания, не относящиеся к любой конкретной теме, затронутой ТС в стартовом посте, следует обрамлять тегами. А еще лучше вообще воздержаться от подобных сообщений. Вот так тут принято.
0
Эксперт MS Access
26826 / 14506 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
23.05.2017, 15:44
albannikov, я неправильно понял Вас. Подумал, что нужно менять атрибуты табличного поля.

Сам по себе IIF ничего не обрезает. Но это может сделать группировка, если конечно в объекты во From запросы, а не таблицы. Включите в селект вычисляемые поля
SQL
1
Len(QUESTIONS.CASE_1) AS l1, Len(QUESTIONS.CASE_2) AS l2, Len(QUESTIONS.CASE_3) AS l3
чтобы посмотреть длину исходных полей. Или выкладывайте БД с фрагментом данных. Есть знающие люди, разберутся.
0
Модератор
Эксперт MS Access
 Аватар для shanemac51
12231 / 5078 / 814
Регистрация: 07.08.2010
Сообщений: 14,934
Записей в блоге: 4
23.05.2017, 15:45
Цитата Сообщение от Eugene-LS Посмотреть сообщение
Какой из них выбрать это личное дело воспитания каждого
я приемлю только ВЫ, так как общение идет вслепую, не зная ни возраста, ни пола, ни положения собеседника
2
Эксперт MS Access
 Аватар для Eugene-LS
12075 / 5856 / 1496
Регистрация: 05.10.2016
Сообщений: 16,452
23.05.2017, 15:48
SatanaXIII, Лихо!
Принято к сведению.
Но всё равно я к обитателям форума всегда на ВЫ, за очень редким исключением.
Спасибо за пояснения.
0
Модератор
Эксперт MS Access
6231 / 2909 / 707
Регистрация: 12.06.2016
Сообщений: 7,839
23.05.2017, 16:08
shanemac51,

А еще хотелось бы хотя бы от модераторов видеть примеры аккуратного цитирования.
Вы приписали Eugene-LS слова, принадлежащие SatanaXIII.

 Комментарий модератора 
Capi, персонально для вас повторюсь, что для сообщений, никак не относящихся к теме вопроса ТС, следует использовать специальный тег:
Code
1
[OFF][/OFF]
1
Эксперт MS Access
 Аватар для Eugene-LS
12075 / 5856 / 1496
Регистрация: 05.10.2016
Сообщений: 16,452
23.05.2017, 17:43
albannikov,
Шторм утих.
Повторите ваш вопрос с более подробными пояснениями и примером - продолжим.
0
 Аватар для albannikov
12 / 12 / 3
Регистрация: 20.12.2012
Сообщений: 100
24.05.2017, 00:32  [ТС]
Eugene-LS, Нормально так поштормило

По существу:
Есть у меня база Access, делаю к ней SQL запрос в RadStudio.
Запрос такой:
SQL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
SELECT TEST_RESULTS.ID_TEST, CURRENT_TEST.QUESTION,
 CURRENT_TEST.TRUE_ANSWER, CURRENT_TEST.USER_ANSWER,
 QUESTIONS.question, QUESTIONS.CASE_1, QUESTIONS.CASE_2,
 QUESTIONS.CASE_3, QUESTIONS.CASE_4, USER_NAMES.FIO,
 IIf(TRUE_ANSWER="Case_1",Case_1,IIf(TRUE_ANSWER="Case_2",Case_2,Case_3)) AS TR_ANSW,
 IIf(USER_ANSWER="Case_1",Case_1,IIf(USER_ANSWER="Case_2",Case_2,Case_3)) AS US_ANSW
 
FROM QUESTIONS, USER_NAMES
 INNER JOIN (TEST_RESULTS
 INNER JOIN CURRENT_TEST
   ON TEST_RESULTS.ID_TEST = CURRENT_TEST.ID_CUR_TEST)
   ON USER_NAMES.id = TEST_RESULTS.FIO
 
WHERE (((TEST_RESULTS.ID_TEST)=1)
   AND ((CURRENT_TEST.QUESTION)=[QUESTIONS].[id]));
Я уверен, что проблемы мне приносит строчка:
SQL
1
 IIf(TRUE_ANSWER="Case_1",Case_1,IIf(TRUE_ANSWER="Case_2",Case_2,Case_3)) AS TR_ANSW,
Как полю TR_ANSW назначить тип WideMemo ?
(Это решит проблему....... надеюсь)
0
Эксперт MS Access
 Аватар для Eugene-LS
12075 / 5856 / 1496
Регистрация: 05.10.2016
Сообщений: 16,452
24.05.2017, 01:39
Цитата Сообщение от albannikov Посмотреть сообщение
Нормально так поштормил
запросы в тексте ув. mobile лучше разбирает
Я разбираю лучше в примерах.
- мне логика нужна (а может и вопрос перестроим ....)

Добавлено через 30 минут
Цитата Сообщение от albannikov Посмотреть сообщение
По существу:
А к какому серверу запрос?
MS SQL
MySQL
...

Добавлено через 5 минут
Я например - в своих базах, использую уникальные имена полей, и в моём случае - ваш запрос был -бы гораздо короче.
Смотрю дальше ...

Добавлено через 3 минуты
А чёрт его знает - вроде всё нормально
Пусть mobile глянет - я ошибок не нашел.
0
Эксперт MS Access
26826 / 14506 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
24.05.2017, 01:42
albannikov, вот такой вариант. Сохраните запрос без иифов, скажем под именем Temp:
SQL
1
2
3
4
5
6
7
8
9
10
11
12
13
SELECT TEST_RESULTS.ID_TEST, CURRENT_TEST.QUESTION,
 CURRENT_TEST.TRUE_ANSWER, CURRENT_TEST.USER_ANSWER,
 QUESTIONS.question, QUESTIONS.CASE_1, QUESTIONS.CASE_2,
 QUESTIONS.CASE_3, QUESTIONS.CASE_4, USER_NAMES.FIO
 
FROM QUESTIONS, USER_NAMES
 INNER JOIN (TEST_RESULTS
 INNER JOIN CURRENT_TEST
   ON TEST_RESULTS.ID_TEST = CURRENT_TEST.ID_CUR_TEST)
   ON USER_NAMES.id = TEST_RESULTS.FIO
 
WHERE (((TEST_RESULTS.ID_TEST)=1)
   AND ((CURRENT_TEST.QUESTION)=[QUESTIONS].[id]));
Далее делаете запрос в котором уже нет иифов и нет причин для трансформации мемо в текст
SQL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
SELECT *, Case_1 AS TR_ANSW, Case_1 AS US_ANSW FROM Temp 
WHERE TRUE_ANSWER="Case_1" AND USER_ANSWER="Case_1"
UNION ALL
SELECT *, Case_2 AS TR_ANSW, Case_1 AS US_ANSW FROM Temp 
WHERE TRUE_ANSWER="Case_2" AND USER_ANSWER="Case_1"
UNION ALL
SELECT *, Case_3 AS TR_ANSW, Case_1 AS US_ANSW FROM Temp 
WHERE TRUE_ANSWER NOT IN ("Case_1", "Case_2") AND USER_ANSWER="Case_1"
UNION ALL
SELECT *, Case_1 AS TR_ANSW, Case_2 AS US_ANSW FROM Temp 
WHERE TRUE_ANSWER="Case_1" AND USER_ANSWER="Case_2"
UNION ALL
SELECT *, Case_2 AS TR_ANSW, Case_2 AS US_ANSW FROM Temp 
WHERE TRUE_ANSWER="Case_2" AND USER_ANSWER="Case_2"
UNION ALL
SELECT *, Case_3 AS TR_ANSW, Case_2 AS US_ANSW FROM Temp 
WHERE TRUE_ANSWER NOT IN ("Case_1", "Case_2") AND USER_ANSWER="Case_2"
UNION ALL
SELECT *, Case_1 AS TR_ANSW, Case_3 AS US_ANSW FROM Temp 
WHERE TRUE_ANSWER="Case_1" AND USER_ANSWER NOT IN ("Case_1", "Case_2")
UNION ALL
SELECT *, Case_2 AS TR_ANSW, Case_3 AS US_ANSW FROM Temp 
WHERE TRUE_ANSWER="Case_2" AND USER_ANSWER NOT IN ("Case_1", "Case_2")
UNION ALL
SELECT *, Case_3 AS TR_ANSW, Case_3 AS US_ANSW FROM Temp 
WHERE TRUE_ANSWER NOT IN ("Case_1", "Case_2") AND USER_ANSWER NOT IN ("Case_1", "Case_2")
0
Эксперт MS Access
 Аватар для Eugene-LS
12075 / 5856 / 1496
Регистрация: 05.10.2016
Сообщений: 16,452
24.05.2017, 03:04
SatanaXIII, И о чём , уважаемый albannikov, тишина?
А мы тут из за вас ....

(закладываю обстановку)

Добавлено через 16 минут
В смысле отalbannikov ни спасибо, ни до свидания.
Так имело ли смысл уважаемый SatanaXIII???
0
 Аватар для albannikov
12 / 12 / 3
Регистрация: 20.12.2012
Сообщений: 100
24.05.2017, 07:15  [ТС]
mobile, на второй запрос ругается: "Не совпадает кол-во столбцов".

Немного конкретизирую:
В Access мой запрос выполняется и отображается полностью.
Но если программно начинаю забирать (C++), то обрезает текст только в тех столбцах, которые создаются динамически (TR_ANSW и US_ANSW), остальные забирает нормально.
0
Эксперт MS Access
 Аватар для Eugene-LS
12075 / 5856 / 1496
Регистрация: 05.10.2016
Сообщений: 16,452
24.05.2017, 07:21
albannikov, А ВЫ ФОРУМОМ НЕ ОШИБЛИСЬ?
(см. наверх!)
0
 Аватар для albannikov
12 / 12 / 3
Регистрация: 20.12.2012
Сообщений: 100
24.05.2017, 07:43  [ТС]
Eugene-LS, Тут дело именно в типе данных создаваемой ячейки.
Если применить тип "Длинный текст" к TR_ANSW всё будет нормально.
Вопрос в том, как это сделать ?
0
Эксперт MS Access
 Аватар для Eugene-LS
12075 / 5856 / 1496
Регистрация: 05.10.2016
Сообщений: 16,452
24.05.2017, 09:01
albannikov, Код покажите.
Может чего умного и скажу, не факт.

Добавлено через 20 минут
albannikov, Спасибо вам большое.
Я думал что у меня есть друзья на форуме ....
Прикольные друзья.
Это великолепное знание.
Ну что же - я один... и друзей нет.
Ладно.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
24.05.2017, 09:01
Помогаю со студенческими работами здесь

Какое поле WNDCLASSEX отвечает за иконку в созданном окне?
Подскажите пожалуйста, какой пункт в регистрации класса - влияет на иконку в самом окне. В самом окне стандартная Windows а на панели...

В параметре в макете документа обрезается текст
Здравствуйте. В макете документа есть параметр. Загружаю туда структуру. В отладчики строки в ней не обрезаются. При открытии макета же...

Обрезается текст при записи в базу
День добрый! При добавлении текста или кода в визуальных редакторах (TinyMCE, FCKeditor), после сохранения обрезается текст до...

При присоединении секции обрезается текст
Вроде бы тут уже обсуждали, но вот не могу найти Такая проблемка: у меня есть вертикальная секция, и она присоединяется несколько раз...

Обрезается весь текст после 255 символов
Товарищи. Такая проблема. Собираю все значения из одного поля по ИД в одну строчку в переменную (в модуле): Public Function...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru