Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft Access Новый топик    Ответить
 Импорт из текстового файла С РАЗДЕЛИТЕЛЯМИ в ACCESS  [new]
p672
Member

Откуда:
Сообщений: 172
Имеется текстовый файл с разделителями, формируется он автоматически оборудованием в цеху на военном заводе инженером, на флэшку.
Необходимо его импортировать в ACCESS в таблицу, для последующего формирования отчётов (это я сам).

Разделитель ячеек в строке вертикальная линия : |

Разделитель строк(перевод на новую строку) такой : >>>

Использую ACCESS 2007 SP3, но устроят варианты импорта также в Excel или Foxpro.

Разделитель ячеек в строке (полей) | разделяет нормально, НО перевод строки >>> не хавает и файл читается как одна большая строка, и выдаёт сообщение что слишком большая строка (что-то в этом роде).
Осталось разобраться с переводом строки.

Помогите пожалуйста.. заранее благодарен.

Фрагмент файла настоящего: (файл секретный, не распространять).

>>> 3712|66|1114002105|5.5(Атм)|3.9(Атм)|247.69(А)|22(мсек) HOPMA|8.78(А) HOPMA|18(мсек) HOPMA|90(мсек) HOPMA|132(мсек)|30(мсек) HOPMA|57(мсек) HOPMA|1052(град/сек)||>>> 3712|66|1114006696|5.3(Атм)|4.7(Атм) HOPMA|257.54(А)|23(мсек) HOPMA|9.39(А) HOPMA|15(мсек) HOPMA|96(мсек) HOPMA|17(мсек) HOPMA|38(мсек) HOPMA|77(мсек)|779(град/сек)||>>> 3712|66|1293001829|5.6(Атм)|4.1(Атм)|250.95(А)|18(мсек) HOPMA|8.38(А) HOPMA|20(мсек) HOPMA|92(мсек) HOPMA|88(мсек)|30(мсек) HOPMA|50(мсек) HOPMA|1200(град/сек)||>>> 3712|66|9430000795|5.6(Атм)|3.9(Атм)|260.41(А)|16(мсек) HOPMA|8.21(А) HOPMA|21(мсек) HOPMA|84(мсек) HOPMA|20(мсек) HOPMA|36(мсек) HOPMA|58(мсек) HOPMA|1034(град/сек)||>>> 686|66|9430000463|5.5(Атм)|4.0(Атм)|249.63(А)|15(мсек) HOPMA|9.7(А) HOPMA|16(мсек) HOPMA|90(мсек) HOPMA|89(мсек)|35(мсек) HOPMA|55(мсек) HOPMA|1090(град/сек)||>>> 686|66|8750007820|5.4(Атм)|4.0(Атм)|244.87(А)|20(мсек) HOPMA|9.38(А) HOPMA|21(мсек) HOPMA|97(мсек) HOPMA|17(мсек) HOPMA|37(мсек) HOPMA|65(мсек) HOPMA|923(град/сек)||>>> 686|66|8750005331|5.5(Атм)|4.1(Атм)|262.37(А)|20(мсек) HOPMA|8.3(А) HOPMA|16(мсек) HOPMA|83(мсек) HOPMA|45(мсек)|34(мсек) HOPMA|59(мсек) HOPMA|1016(град/сек)||>>> 3712|66|1859010395|5.5(Атм)|4.0(Атм)|246.45(А)|22(мсек) HOPMA|8.24(А) HOPMA|14(мсек) HOPMA|85(мсек) HOPMA|134(мсек)|42(мсек)|51(мсек) HOPMA|1176(град/сек)||>>> 3712|66|1859006873|5.7(Атм) HOPMA|4.1(Атм)|235.59(А)|16(мсек) HOPMA|8.24(А) HOPMA|16(мсек) HOPMA|84(мсек) HOPMA|47(мсек)|35(мсек) HOPMA|61(мсек) HOPMA|983(град/сек)||>>> 3712|66|4010005080|5.5(Атм)|4.0(Атм)|249.45(А)|19(мсек) HOPMA|8.66(А) HOPMA|16(мсек) HOPMA|87(мсек) HOPMA|97(мсек)|37(мсек) HOPMA|63(мсек) HOPMA|952(град/сек)||>>>
13 фев 20, 16:35    [22079398]     Ответить | Цитировать Сообщить модератору
 Re: Импорт из текстового файла С РАЗДЕЛИТЕЛЯМИ в ACCESS  [new]
alecko
Member

Откуда: Башкирия
Сообщений: 608
p672, непонятно что сложного читайте построчно, собирайте строки между "||>>> ".
13 фев 20, 16:47    [22079418]     Ответить | Цитировать Сообщить модератору
 Re: Импорт из текстового файла С РАЗДЕЛИТЕЛЯМИ в ACCESS  [new]
Akina
Member

Откуда: Зеленоград, Москва, Россия
Сообщений: 20026
Работай с ним как с обычным текстовым файлом. Прочитать всё в переменную, Split в массив по >>>, потом итерация по массиву, Split каждой записи в массив по |, построение строки запроса и DoCMD.RunSQL.
13 фев 20, 16:50    [22079426]     Ответить | Цитировать Сообщить модератору
 Re: Импорт из текстового файла С РАЗДЕЛИТЕЛЯМИ в ACCESS  [new]
p672
Member

Откуда:
Сообщений: 172
Дайте хотя бы пример макроса, программы или запроса для загрузки ТАКОГО файла в таблицу ACCESS.
C Access не особо знаком, новичок, виноват.
Забыл указать формат текста Кириллица Windows 1251.

Не могу осилить перевод на новую строку >>>
13 фев 20, 17:37    [22079468]     Ответить | Цитировать Сообщить модератору
 Re: Импорт из текстового файла С РАЗДЕЛИТЕЛЯМИ в ACCESS  [new]
ИВП
Member

Откуда:
Сообщений: 312
p672,
Вы с секретами поаккуратней.
13 фев 20, 18:41    [22079511]     Ответить | Цитировать Сообщить модератору
 Re: Импорт из текстового файла С РАЗДЕЛИТЕЛЯМИ в ACCESS  [new]
ПЕНСИОНЕРКА
Member

Откуда: Владимирская обл
Сообщений: 4636
p672
файл читается как одна большая строка, и выдаёт сообщение что слишком большая строка (что-то в этом роде).

насколько большая
-100 мб
- 2 гб
- 8 гб
13 фев 20, 18:47    [22079515]     Ответить | Цитировать Сообщить модератору
 Re: Импорт из текстового файла С РАЗДЕЛИТЕЛЯМИ в ACCESS  [new]
ПЕНСИОНЕРКА
Member

Откуда: Владимирская обл
Сообщений: 4636
p672,

видимо разделитель строк не символы 13+10, а только 10 или только 13
13 фев 20, 18:48    [22079520]     Ответить | Цитировать Сообщить модератору
 Re: Импорт из текстового файла С РАЗДЕЛИТЕЛЯМИ в ACCESS  [new]
p672
Member

Откуда:
Сообщений: 172
файл занимает 400 КИЛОбайт места на диске.
13 фев 20, 19:21    [22079532]     Ответить | Цитировать Сообщить модератору
 Re: Импорт из текстового файла С РАЗДЕЛИТЕЛЯМИ в ACCESS  [new]
ПЕНСИОНЕРКА
Member

Откуда: Владимирская обл
Сообщений: 4636
p672
файл занимает 400 КИЛОбайт места на диске.

это мизерный файл(примерно 2-3 тысячи записей) -проблем быть не должно
уточните текст ошибки и выложите код, которым пробовали читать

Сообщение было отредактировано: 13 фев 20, 19:40
13 фев 20, 19:38    [22079544]     Ответить | Цитировать Сообщить модератору
 Re: Импорт из текстового файла С РАЗДЕЛИТЕЛЯМИ в ACCESS  [new]
Akina
Member

Откуда: Зеленоград, Москва, Россия
Сообщений: 20026
ПЕНСИОНЕРКА
видимо разделитель строк не символы 13+10, а только 10 или только 13
Да там вообще нет переводов строк, весь файл - одна длинная строка.

p672
Дайте хотя бы пример макроса, программы или запроса для загрузки ТАКОГО файла в таблицу ACCESS.

Dim FSO, file, textlines()
Set FSO = CreateObject("Scripting.FileSystemObject")
Set file = FSO.OpenTextFile(strFilename, 1, -2)
textlines = Split(file.ReadAll, ">>>")


Сообщение было отредактировано: 13 фев 20, 20:05
13 фев 20, 20:05    [22079559]     Ответить | Цитировать Сообщить модератору
 Re: Импорт из текстового файла С РАЗДЕЛИТЕЛЯМИ в ACCESS  [new]
Панург
Member

Откуда: настоящему индейцу завсегда везде ништяк
Сообщений: 4620
p672
Имеется текстовый файл с разделителями, формируется он автоматически оборудованием в цеху на военном заводе инженером, на флэшку.
Необходимо его импортировать в ACCESS в таблицу, для последующего формирования отчётов (это я сам).
разбирайся

К сообщению приложен файл (ImportTXT.zip - 22Kb) cкачать
13 фев 20, 20:08    [22079560]     Ответить | Цитировать Сообщить модератору
 Re: Импорт из текстового файла С РАЗДЕЛИТЕЛЯМИ в ACCESS  [new]
vmag
Member

Откуда: MP
Сообщений: 3457
p672,

Ну или не разбирайся...
В Notepad ++
- Замени ||>>> на перевод строки \n
- убери начало и конец с >>>
А дальше цепляй как обычно с разделителем |

А можно написать bat файл в три строчки, который будет делать это сам...

И станешь неимоверно крут, изюм в кармане только у тебя....

К сообщению приложен файл. Размер - 135Kb
13 фев 20, 20:25    [22079570]     Ответить | Цитировать Сообщить модератору
 Re: Импорт из текстового файла С РАЗДЕЛИТЕЛЯМИ в ACCESS  [new]
p672
Member

Откуда:
Сообщений: 172
Извиняюсь за беспокойство. Благодарю ВСЕХ за помощь.

Помогла команда split
Решение вопроса: написал VBS скрипт (батник) и преобразовал нужным способом свой текстовый файл для последующего импорта в ACCESS

Вопрос решён!
Прошу уважаемую администрацию удалить тему за ненадобностью по возможности..
13 фев 20, 21:14    [22079592]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft Access Ответить