powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Перенос строк при импорте из текстового файла
26 сообщений из 26, показаны все 2 страниц
Перенос строк при импорте из текстового файла
    #32322246
Галя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мне нужно сделать импорт данных в Access-таблицу из текстового файла. Но в одной колонке таблицы есть переносы строк, и нужно, чтоб в Access-таблице эти переносы сохранились.
В текстовом файле же строки разделяются переносом строк, столбцы - каким-то значком (пусть запятой). Может быть, есть какой-то спецсимвол, который следует вставить в текстовый файл на место переносов строк? Или какие-нибудь другие варианты решения этой проблемы?
...
Рейтинг: 0 / 0
Перенос строк при импорте из текстового файла
    #32322247
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
По-моему, никакого стандартного символа нет. Можно взять какой-нибудь произвольный символ, только чтобы он не встречался в данных, и после ввода заменить его в таблице на перенос.
...
Рейтинг: 0 / 0
Перенос строк при импорте из текстового файла
    #32322248
Фотография Темный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1) ASCII коды символов:
10 - перенос строки
13 - возврат каретки

Можно кусочек файла в студию? Меня терзают смутные сомнения, что придется писать свою функцию :)
...
Рейтинг: 0 / 0
Перенос строк при импорте из текстового файла
    #32322249
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Насчет 10 и 13 - самое надежное пользоваться сочетанием 13+10 (именно в таком порядке). Остальные варианты (10+13, только 10, только 13) могут быть неправильно поняты.
...
Рейтинг: 0 / 0
Перенос строк при импорте из текстового файла
    #32322250
Фотография Темный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Саныч, а почему именно в таком? Какая разница: что я сначала вернусь в начало строки, а потом перейду на новую; что я сначала перейду на новую, а потом вернусь в начало???
...
Рейтинг: 0 / 0
Перенос строк при импорте из текстового файла
    #32322251
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Это тебе какая разница. А MS думает иначе.
...
Рейтинг: 0 / 0
Перенос строк при импорте из текстового файла
    #32322252
Фотография Темный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Блин, ну и как же он думает?
...
Рейтинг: 0 / 0
Перенос строк при импорте из текстового файла
    #32322256
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Может неправильно понять. Я не экспериментировал со всеми вариантами, но MS во всех примерах пишет именно 13+10.

Кстати, ты знаешь, почему этих символов два? В пишущей машинке можно повернуть валик на 1 строку, оставшись на той же позиции (10), а можно сдвинуться в начало строки, оставшись на той же строке (13). В современных устройствах обе возможности отсутствуют, символ 10 не сохраняет номер позиции, а символ 13 не сохраняет номер строки. Рассуждая теоретически, достаточно писать только 10 или только 13, да и вообще между 13 и 10 никакой разницы нет. Однако ж - в некоторых эдиторах действительно достаточно поставить только 10 или только 13, чтобы произошел переход на новую строку, а в некоторых нет. В notepad'е, по-моему, надо ставить именно 13+10.
...
Рейтинг: 0 / 0
Перенос строк при импорте из текстового файла
    #32322259
Галя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кусочек файла:
---------------------------------------
Название поля 1, Название поля 2
x11, cтрока11 \n строка21 \n строка31
x12, cтрока12 \n строка22 \n строка32
x13, cтрока13 \n строка23 \n строка33
---------------------------------------
\n я обозначен перенос строки. Количество переносов всюду произвольно.
Скажите, пожалуйста, а как Access дать понять, что это - ASCII - код?
(Например, в html именованные коды символов начинаются с & и заканчиваются ; А здесь?)
&
...
Рейтинг: 0 / 0
Перенос строк при импорте из текстового файла
    #32322262
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
А здесь никак. После импорта придется запустить запрос, который заменит в этом поле все \n на vbCrLf.
...
Рейтинг: 0 / 0
Перенос строк при импорте из текстового файла
    #32322263
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это не только в некоторых старых устройствах.

Биос так до сих пор работает. В текстовых режимах экрана (до 7-го включительно, если я не ошибаюсь), отправка в stdout (обычно монитор) 10-го символа сдвигает курсор на одну позицию вниз (или содержимое экрана на одну строку вверх, если курсор на 25-й строке), а 13-й символ перемещает курсор в первый символ строки.

Аналогично до сих пор работают все принтеры, печатающие в текстовом режиме (да и в графике, кстати) - 10й символ, использованный в качестве команды, говорит принтеру, что следующие данные будут печататься на один сдвиг ниже (обычно это строка, но его можно заменить и на другое расстояние), а 13-й, что с начала строки.

Исторически сложилось, что символы идут в порядке 13, 10. Почему - я не помню (не знаю). Но почти во всех текстовых файлах они идут именно так. Многие текстовые редакторы, встречая символ 13, ожидают следующим 10-й, если его нет, они показывают 13-й, не начиная новой строки. Аналагично, неожиданно встретив 10-й символ, они его просто показывают.

Можно ждать неожиданных глюков, если обозначать новую строку иначе, чем символами 13 & 10
...
Рейтинг: 0 / 0
Перенос строк при импорте из текстового файла
    #32322264
Галя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cпасибо, Владимир Саныч!
Попробую.
...
Рейтинг: 0 / 0
Перенос строк при импорте из текстового файла
    #32322268
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Geo, спасибо за поддержку и за пояснение про экран. Насчет почему именно 13+10, а не наоборот, - я думаю, что из-за механических пишущих машинок, у которых рычаг перевода строки выполняет сначала 13, а потом 10.
...
Рейтинг: 0 / 0
Перенос строк при импорте из текстового файла
    #32322271
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2Гала
И вот еще:
раз уж ты пользуешься Сишной терминологией, то в Си (по крайней мере в старых, думаю и в новых версиях аналогично) "\n" означает именно последовательность 13 - 10, т.е. нормальный переход к новой строке.
...
Рейтинг: 0 / 0
Перенос строк при импорте из текстового файла
    #32323389
Галя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, Geo, это я знаю, поскольку сейчас пишу в PHP+PostgeSQL, раньше - Perl и Cи. С Access дело не имела, потребовалось сделать сброс в него данных. Так что я здесь у вас гость...
Вообще-то мне надо было данные в Excel cбросить, только я не нашла, как туда импорт делать.
...
Рейтинг: 0 / 0
Перенос строк при импорте из текстового файла
    #32323461
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2Галя
А почему бы тебе не создавать текстовый файл в стандартном формате, который все понимают? Не помню, как он называется, но выглядит, кажется, так:

"ТекстовоеПоле1","ТекстовоеПоле2","ЧисловоеПоле1";
"аааа","бббб",123.45;
"вввв","ггг",4321.00;

Точно узнать его вид можно экспортом какой-нибудь таблички из экселя или акцесса в разные форматы.
...
Рейтинг: 0 / 0
Перенос строк при импорте из текстового файла
    #32324514
Галя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Geo,
я не поняла вопроса. Я ведь и создаю текстовый файл в стандартном формате.
Отличие моего фрагмента файла (см. выше) от твоего - только в кавычках, но это не принципиально.
А вообще - хороший у вас форум. Мгновенная реакция потрясает...
...
Рейтинг: 0 / 0
Перенос строк при импорте из текстового файла
    #32324689
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> только в кавычках, но это не принципиально.
Как раз принципиально. Кавычки, запятые и т.п. - стандартный формат, который понимает и акцесс и ексель и многие другие программы.
...
Рейтинг: 0 / 0
Перенос строк при импорте из текстового файла
    #32324788
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Видимо, Geo пытается сказать, что если воспользоваться кавычками, то можно оставить переносы строк как есть. Например:

"111", "222", "3
3
3", "444", "555"

где третье поле состоит из трех троек с переносами между ними. Лично я не уверен, что оно так сработает. Мне кажется, что каждая строка будет все равно воспринята как отдельная запись.
...
Рейтинг: 0 / 0
Перенос строк при импорте из текстового файла
    #32324821
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2ВС, Галя
Виноват. Я невнимательно прочитал вопрос и почему то решил, что \n - разделители не то полей, не то записей.
Тогда, как и говорил ВС, импортировать файл в акцесс а потом заменить в нужном поле (полях) "\n" на vbNewline.
...
Рейтинг: 0 / 0
Перенос строк при импорте из текстового файла
    #32325049
Галя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимир Саныч,
то что Вы предлагаете, я пробовала с самого начала - не помогает.
При импорте данных в Ассеss из текстового файла строки таблицы разделяются ТОЛЬКО ПЕРЕНОСОМ строк - здесь вариантов нет. Это первое.
Второе - кавычки у меня могут встречаться внутри ячеек, как экранировать их для Access не знаю, поэтому я их не использую.
И еще. Попробовала пойти от обратного - создать таблицу, в которой в каком-то столбце допускаются переносы строк, а потом экспортировать ее в текстовый файл. Не получилось. Нашла "Сервис/Параметры/Клавиатура/Переход при нажатии Enter" - установила в "Нет" (два остальных варианта "Cледующее поле", "Cледующая запись") - без толку. На самом деле для спецов по Access это должно быть элементарно - перенос строк в ячейках, но я не смогла найти, как это сделать...
...
Рейтинг: 0 / 0
Перенос строк при импорте из текстового файла
    #32325062
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Второе - кавычки у меня могут встречаться внутри ячеек, как экранировать их для Access не знаю, поэтому я их не использую.
А попробуй их сдваивать:
здесь"кавычка -> "здесь""кавычка"

Потом, у акцесса есть функции чтения файла (а-ля Read и Write). Можешь пользоваться ими, при создании файла для разделителей столбцов использовать какой-нибудь chr(1), записей - сhr(2). И программно читать этот файл и заполнять таблицу. Будет чуть медленнее, зато куда безотказнее.
...
Рейтинг: 0 / 0
Перенос строк при импорте из текстового файла
    #32325068
incold
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для Access 2000 и выше

Я понимаю так: в файле можно оставить в качестве переноса строки комбинацию \n, после импорта файла в таблицу выполнить запрос

update mytable set pole1=replace(pole1, "\n", chr(13)+chr(10),1,-1,1)
...
Рейтинг: 0 / 0
Перенос строк при импорте из текстового файла
    #32325090
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
> то что Вы предлагаете, я пробовала с самого начала - не помогает.

О чем речь? Если о том, что я написал в 16:11, то это была идея не моя и все сошлись на том, что работать это не будет. А если о том, что я написал 12 ноя 03 в 23:24, то это уже интересно. Почему не помогает, на каком этапе валится?
...
Рейтинг: 0 / 0
Перенос строк при импорте из текстового файла
    #32325119
(c)VIG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Галя писал:Вообще-то мне надо было данные в Excel cбросить, только я не нашла, как туда импорт делать
Галя все очень просто:
Запускаете Excel
File->Open (выбираете тип файла txt,csv) имя вашего файла .
После этого следуете подсказкам визарда.
Удачи
...
Рейтинг: 0 / 0
Перенос строк при импорте из текстового файла
    #32325144
Галя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
(c)VIG, спасибо, я в Excel "Импорт" искала, а оказывается, просто "Оpen" нужно :-)

Владимир Саныч, я имела в виду сообщение в 16:10...

incold - спасибо. Ох-ох-ох, у меня, Access-97, а там ф-ции replace нет, надо устанавливать версию посвежее... :-(
...
Рейтинг: 0 / 0
26 сообщений из 26, показаны все 2 страниц
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Перенос строк при импорте из текстового файла
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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