|
21 / 15 / 6
Регистрация: 26.05.2019
Сообщений: 119
|
||||||
Импорт из Excel длинного текста (более 255 символов)20.01.2020, 22:55. Показов 9778. Ответов 25
Добрый день ув. форумчане!
Вопрос по импорту длинного текста из Excel. Опишу с чем столкнулся, возможно кому то время сэкономит. Детектив целый. Импортировал с помощью встроенного макроса ИмпортЭкспортЭлектроннойТаблицы, все вроде хорошо было. Но потом поступили жалобы на то что форма отражает обрезанный текст. Начал разбираться. Нужные поля заданы правильно -Memo (Длинный текст). Но не импортируется полностью весь текст и все тут - максимум 255 знаков. Проблема раз: Не знаю как, но при создании таблицы в формат поля закрадывается знак "@" Вложение 1105700 Найти этого жучка тяжело. Заходишь в таблицу, а отображается 255 знаков. Даже копируешь содержимое и вставляешь куда нибудь, но в буфер попадает 255 знаков. Отловил через len(). Удивился len показывает 456 символов, а отображается 255. Пожили мы некоторое время нормально и опять тоже самое. Потратил день. Проблема два (посложнее вышло): Откопал в чем проблема где то на ин. яз. форумах. В общем проблема в следующем. При импорте драйвер майкрософт не смотря на то что поле длинный текст оценивает импортируемые данные по первым 8 строчкам. Если в них данные менее чем по 255 символов, то он расценивает их как короткий текст и все что дальше соответственно обрезается. То же касается любых других типов данных. Если первые строчки содержат числа, а ниже пошел текст, то все равно что вы импортируете в текстовое поле, будет ошибка. Пробовал решить через запрос SQL в таблицу Excel, но тот же самый эффект, поскольку один и тот же драйвер за это отвечает. Пришлось, как говорят - "забить костыль" Перед импортом в заголовок (нужных полей) записываю по 256 символов, а после импорта удаляю из таблицы. В целом жить можно, но на открытие огромного Excel для записи в заголовок, тратится достаточно много время. Кликните здесь для просмотра всего текста
Если у кого есть более удачные варианты решения проблемы, прошу Вас поделитесь пожалуйста. Ну или может есть более быстрый вариант "костыля" записи в Excel.
0
|
||||||
| 20.01.2020, 22:55 | |
|
Ответы с готовыми решениями:
25
Чтение файла Excel с текстовыми данными более 255 символов в ячейках Текст, состоящий не более 255 символов, разбейте на строки длиной не более 50 символов в строке. Переносите только на ме
|
|
1326 / 544 / 112
Регистрация: 29.03.2016
Сообщений: 1,324
|
|
| 20.01.2020, 23:13 | |
|
?String(256,"Y")
Ну и кешировать ссылку на CurrentDb. Как минимум.
1
|
|
|
13198 / 5892 / 1510
Регистрация: 05.10.2016
Сообщений: 16,530
|
||||||||||||
| 20.01.2020, 23:16 | ||||||||||||
Аппаздал!
1
|
||||||||||||
|
1326 / 544 / 112
Регистрация: 29.03.2016
Сообщений: 1,324
|
|
| 20.01.2020, 23:22 | |
|
0
|
|
|
13198 / 5892 / 1510
Регистрация: 05.10.2016
Сообщений: 16,530
|
||
| 20.01.2020, 23:27 | ||
|
Перечитал : Application.CurrentDb method (Access) ... И не понял "кешировать" ...
0
|
||
|
1326 / 544 / 112
Регистрация: 29.03.2016
Сообщений: 1,324
|
|||||||||||
| 21.01.2020, 00:12 | |||||||||||
Не? Добавлено через 2 минуты Что бы этого не происходило можно просто:
0
|
|||||||||||
|
13198 / 5892 / 1510
Регистрация: 05.10.2016
Сообщений: 16,530
|
||
| 21.01.2020, 00:27 | ||
|
The CurrentDb method returns an object variable of type Database that represents the database currently open in the Microsoft Access window. Думаю что аналогично CurrentProject ...
0
|
||
|
21 / 15 / 6
Регистрация: 26.05.2019
Сообщений: 119
|
|||||||
| 21.01.2020, 01:55 [ТС] | |||||||
|
Убрал цикл. Перемудрил конечно :-(
Кликните здесь для просмотра всего текста
Спасибо большое за подсказку! Основной вопрос остался.
0
|
|||||||
|
Мы один, давай на "ты"
3858 / 1400 / 348
Регистрация: 16.06.2016
Сообщений: 3,298
|
||
| 21.01.2020, 04:06 | ||
|
1
|
||
|
13198 / 5892 / 1510
Регистрация: 05.10.2016
Сообщений: 16,530
|
|||||||||||||||||
| 21.01.2020, 08:47 | |||||||||||||||||
1
|
|||||||||||||||||
|
21 / 15 / 6
Регистрация: 26.05.2019
Сообщений: 119
|
|||||||
| 21.01.2020, 12:05 [ТС] | |||||||
|
Но зато работает вот так:
0
|
|||||||
|
Модератор
6231 / 2909 / 707
Регистрация: 12.06.2016
Сообщений: 7,839
|
|||||||
| 21.01.2020, 12:14 | |||||||
|
Или скобки, или восклицательный знак. Вместе - нет. То есть,
1
|
|||||||
|
13198 / 5892 / 1510
Регистрация: 05.10.2016
Сообщений: 16,530
|
||||||||
| 21.01.2020, 16:28 | ||||||||
|
Не от незнания - от дремучей усталости до глюков ... ![]() Не изобретайте "велосипедов" пожалуйста. Метод обращения к полю открытой формы из кода (не из запроса):
Только если нет пробелов в названии формы ...
0
|
||||||||
|
Модератор
6231 / 2909 / 707
Регистрация: 12.06.2016
Сообщений: 7,839
|
|
| 21.01.2020, 16:52 | |
|
Имена с пробелами заключаются в квадратные скобки.
И все.
0
|
|
|
13198 / 5892 / 1510
Регистрация: 05.10.2016
Сообщений: 16,530
|
||
| 21.01.2020, 17:00 | ||
|
Верно! Я восхищён вашими познаниями! ... А если в названии формы уже есть квадратные скобки - то как?! ![]() Capi, то есть в БД можно именовать объекты с пробелами , а при обращении к ним просто брать их имена в квадратные скобки ... Так? ... Фантастика!
0
|
||
|
21 / 15 / 6
Регистрация: 26.05.2019
Сообщений: 119
|
||
| 21.01.2020, 17:53 [ТС] | ||
|
1. Вопрос быстрого импорта, без зависимости от "умного" драйвера 2. Вопрос быстрой записи в ячейку Excel (возможно есть варианты без открытия книги? она достаточно тяжелая)
0
|
||
|
Модератор
6231 / 2909 / 707
Регистрация: 12.06.2016
Сообщений: 7,839
|
|
| 21.01.2020, 18:04 | |
|
А разве в названии формы допускаются квадратные скобки?
Вроде нет. Посмотреть сейчас не могу - нахожусь в метро. Но позже уточню.
0
|
|
|
1326 / 544 / 112
Регистрация: 29.03.2016
Сообщений: 1,324
|
|||||||
| 21.01.2020, 18:10 | |||||||
Сообщение было отмечено Zuikovod как решение
Решениехотя и "represents the database currently open in the Microsoft Access window". Вообще говоря, выигрыша в скорости при кешировании практически нет, но код более структурированный и более читабельный. В попытке же ускорения можно попробовать такой финт:
1
|
|||||||
|
21 / 15 / 6
Регистрация: 26.05.2019
Сообщений: 119
|
|
| 21.01.2020, 18:21 [ТС] | |
|
0
|
|
|
7459 / 4592 / 302
Регистрация: 12.08.2011
Сообщений: 14,380
|
|||
| 21.01.2020, 19:10 | |||
|
Добавлено через 2 минуты
0
|
|||
| 21.01.2020, 19:10 | |
|
Помогаю со студенческими работами здесь
20
Readln не более 255 символов. Более 255 символов в поле Как прочесть более 255 символов с клавиатуры? Переменная String более чем 255 символов Дана строка S длиной не более 255 символов Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2.
Задача: отобразить спецтехнику, которая на данный момент находится в ремонте.
Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
|
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
|
Запрет удаления строк ТЧ документа при определенном условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
|
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут
Суть:
- Группа наркоманов из 10 человек.
- Только один инфицирован ВИЧ.
- Колются одной иглой.
- Колются раз в день.
- Колются последовательно через. . .
|
|
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
|
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
|
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . .
а удачный момент так и не приходит.
|
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица.
Задача: зафиксировать три левых колонки в отчете.
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
/ / . . .
|