|
|
|
| Есть описание товара в одном поле в одной строке:
1. Описание: Лазерный принтер
2. Формат: A4
3. Разрешение: 1200х1200dpi
.......
Хочется его поправить, а точнее добавить некоторое количество промежуточных пунктов. Можно конечно вручную поле редактировать, но хотелось бы это оптимизировать. Вижу это как разбивку поля на несколько строк и запись во временную таблицу. И дальнейщую обработку. И последующее обратное обьединение.
Только не могу понять как это одно поле разбить на несколько строк. Точнее вижу конечно способ с вычислением вхождения chr(13), запись значения во временную таблицу, нахождением следующего вхождения, снова запись, и т.д.
Подскажите, может есть какое-нибудь более прозрачное решение? | |
|
| |
|
|
|
| По приведенному примеру все просто- разделение перед A4(Ax) и дальше после первого пробела.. Для точного ответа нужен массив данных, как он есть, и побольше разношерстных примеров...
Про другое, более прозрачное решение: Если кол-во будующих полей заранее не известно (именно такое создается впечатление)- то отредактировать существующую строку, вставив какой-нибудь разделитель (например перевод строки), а поле сделать типа Мемо или иже с ним. Но при таком подходе данные ЭТОЙ ЯЧЕЙКИ таблицы будут выводиться в ЕДИНСТВЕННОМ поле, растянутом по вертикали, и, возможно, с бегунком.... Внешне же это будет как у Вас в примере, только, вероятно, без пунктов 1,2,3.. Мне этот подход видится как наиболее простой выход. Все зависит от предпочтений "конечного генератора мыслей и идей" . Дело за "генератором функций" я думаю не встанет, тут довольно много профессионалов
Как то так... | |
|
| |
|
|
|
| Задача как раз уйти от одного растянутого поля к раздельным строкам. Это даст возможность добавлять строки параметров и выбирать значение из списка | |
|
| |
|
|
|
|
| to Lukas
Split это здорово. Но результат этой команды будет в массиве.. А нужна текст. строка. В цикле можн вытащить, но это шибко сложно получается. Нет? Плюс разделитель не пробел (т.к. пробел встречается и в описании товара)... | |
|
| |
|
|
|
| 1. Разделитель могет быть vbCrLf, например. Нужны исходные данные для предметного разговора.
2. Split -> обработка -> сборка в строку через vbCrLf, например. | |
|
| |
|
9 Кб. |
|
| Вот, исходные данные в tbl_in, нужный результат в tbl_out | |
|
| |
|
|
|
| как раз судя по всему мне и нужен массив.
Разделитель строк в исходном поле chr(13), chr(10), разделитель полей chr(9).
На выходе я хочу получить из поля:
Производитель Epson
Модель AcuLaser C9100
Тип печати Лазерный электрографический.
именно табличку вида
zn1 zn
Производитель Epson
Модель AcuLaser C9100
Тип печати Лазерный электрографический.
Сейчас сделал тупо, через экспорт импорт текстового файла, но этож криво | |
|
| |
|
18 Кб. |
|
| Ну вот так как-то можно попробовать =>
В модуле1 функция Add
Результат в табличках и в запросе qdfEAV. | |
|
| |