powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Помогите организовать импорт данных из *.txt со сложной структурой
25 сообщений из 99, страница 1 из 4
Помогите организовать импорт данных из *.txt со сложной структурой
    #32513048
madg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Очень надо импортировать данные их текстового файла, но он имеет сложную структуру (по моему мнению) и количество записей постоянно меняется. Кто может помочь отзовитесь.
Заранее благодарен.
Ok.madg
...
Рейтинг: 0 / 0
Помогите организовать импорт данных из *.txt со сложной структурой
    #32513058
Фотография Shuhard
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
покажи периодический кусок файла
...
Рейтинг: 0 / 0
Помогите организовать импорт данных из *.txt со сложной структурой
    #32513191
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Всегда можно импортировать файл "as is" в массив, коллекцию или даже таблицу и после этого производить нужные действия поэтапно.
...
Рейтинг: 0 / 0
Помогите организовать импорт данных из *.txt со сложной структурой
    #32513294
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторПолный текст файла в прикрепленном к письму файле.
Количество записей может меняться в зависимости от ситуации.
Кто имеет возможность дайте мыло для более тесного контакта.
Заранее благодарен.
Ok.madg

авторНа свой страх и риск моя аська
192909345

авторСпециально для Shuhard по поводу *.txt   

На товое мыло кину свою аську.
Если есть возможность очень хотся пообщаться.
Проблемы в тхт на импорте не совсем иссякают.

Соответствующие топики удалил
...
Рейтинг: 0 / 0
Помогите организовать импорт данных из *.txt со сложной структурой
    #32513301
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Geo, спасибо. :^)
...
Рейтинг: 0 / 0
Помогите организовать импорт данных из *.txt со сложной структурой
    #32513388
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
авторЕсть ли возможность удаления (или как там) мусора остающегося после импорта. файл как могли заметить дос, табличный.
И еще момент, как извлекать данные из таблицы, если у меня 4 юзверя соорудят импорт как машине объяснить что именно использовать?
А тот топик удален.
...
Рейтинг: 0 / 0
Помогите организовать импорт данных из *.txt со сложной структурой
    #32513408
madg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дельное посоветовать книть всетаки может или опять на умный форум нарвался?
...
Рейтинг: 0 / 0
Помогите организовать импорт данных из *.txt со сложной структурой
    #32513425
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
авторЕсть ли возможность удаления (или как там) мусора остающегося после импорта. файл как могли заметить дос, табличный.
Какого мусора? Откуда его удалять? Сам файл, что ли?

авторИ еще момент, как извлекать данные из таблицы, если у меня 4 юзверя соорудят импорт как машине объяснить что именно использовать?
А какова логика? Что должно произойти по-правильному?
...
Рейтинг: 0 / 0
Помогите организовать импорт данных из *.txt со сложной структурой
    #32513433
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
авторЯ уже полгода пытаюсь найти инфу по этому поводу, и ни ответа ни привета.
Все лезут в глужие дебри, а "простым" заниматься неохота никому.
И опять же в примере даны 4 точки а если их 20, 30, и наконец 500? как тут быть?
А тот удален.
...
Рейтинг: 0 / 0
Помогите организовать импорт данных из *.txt со сложной структурой
    #32513454
Фотография Daf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Блин, еще одна (один) ASTARTA появилась....


To madg:
Если по простому, то тогда ты и опиши проблему более понятно. Тебя народ спрашивает: какая структура текстового файла (т.е. какие поля, их количество, и т.д.), меняется ли количество полей в этом файле, и т.д.

Чтобы получить ответ на свой вопрос нужно уметь задать вопрос.

А не задавать вопрос и самому отвечать на него...
...
Рейтинг: 0 / 0
Помогите организовать импорт данных из *.txt со сложной структурой
    #32513458
madg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А по "правильному" это так :
1. уменя при создании связи, или просто при импорте получаются строки с разделителями таблицы - вот такие - "|" - захламляют и увеличивают размер базы.
2. в конце остаются теже мусорники от кончания таблицы.
3. Как организовать уникальный идентификатор (может дополнительно вводить?) именно для данных каждого файла? Чтоб потом организовать поиск и отбор для формы и отчета.

На сей момент хватит?
...
Рейтинг: 0 / 0
Помогите организовать импорт данных из *.txt со сложной структурой
    #32513469
Фотография Daf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А текстовый файл ты сам формируешь?
...
Рейтинг: 0 / 0
Помогите организовать импорт данных из *.txt со сложной структурой
    #32513474
Фотография Daf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В смысле, можешь ли ты изменить разделитель на ";"
...
Рейтинг: 0 / 0
Помогите организовать импорт данных из *.txt со сложной структурой
    #32513479
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Чего хватит? Спрашивай всё, авось и нам станет понятнее.

Кусок строки вырезать можно функцией mid, если известно, в каких позициях сидит каждое поле.
Лишние строки можно убирать по их содержимому, а можно по номеру строки - смотря что в этих файлах постоянно, а что меняется.
Про уникальный нумератор можно почитать вот тут - с той поправкой, что одинаковое значение нумератора надо будет ставить во все строки, относящиеся к данному файлу.
...
Рейтинг: 0 / 0
Помогите организовать импорт данных из *.txt со сложной структурой
    #32513493
N_A
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Связью или встроенным импортом я бы такой файл обрабатывать не стал, а прочитал бы его программным способом (написал бы функцию VBA) в котором, анализируя строку за строкой, выделял бы нужные данные и записывал их в соответствующие поля заранее созданной таблицы посредством recordset.
...
Рейтинг: 0 / 0
Помогите организовать импорт данных из *.txt со сложной структурой
    #32513495
madg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нет, формирует приложение, изменить параметры файла никак невозможно
( обращался к разработчику).
Файл формируется программой ObjectLand.
И еще что у меня ниразу не получилось!-возможно-ли используя в форме данные табл.№1 далее записать их же в таб.№2.
Это для того например для импорта использовать одну и туже таблицу, а после внесения дополнительных данных сохранить их в другой таблице с уникальными индексами.
Извините за путанность!
...
Рейтинг: 0 / 0
Помогите организовать импорт данных из *.txt со сложной структурой
    #32513521
madg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дорогому N_A и всем всем всем
RE:Связью или встроенным импортом я бы такой файл обрабатывать не стал, а прочитал бы его программным способом (написал бы функцию VBA) в котором, анализируя строку за строкой, выделял бы нужные данные и записывал их в соответствующие поля заранее созданной таблицы посредством recordset.

Уменя есть похожее мнение по поводу встроенных функций, но написать на VBA, а тем более функцию для динамических данных (помнишь 4-500) у меня тяму не хватит. А еще там (см.файл выше) есть поле градусы, минуты, секунды, разделенные помоему пробелами что с ними делать?
...
Рейтинг: 0 / 0
Помогите организовать импорт данных из *.txt со сложной структурой
    #32513636
N_A
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Уговорил, я тебе за тебя напишу. Жди, если на работе не отвлекут, сегодня выложу.
...
Рейтинг: 0 / 0
Помогите организовать импорт данных из *.txt со сложной структурой
    #32513713
marvan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в своё время написал прогу, которая брала файлы неопределённой структуры и преобразовывала их в плоские таблицы.
суть алгоритма в следующем:
1. Подцепить файл, как связанную таблицу (в дальнейсшем можно только менять имя связанного файла)
2. Прорходим строку за строкой/ колонку за колонкой, анализируя содержимое полей. Если содержимое поля отвечает условию --> выливаем в таблицу-приёмник.
...
Рейтинг: 0 / 0
Помогите организовать импорт данных из *.txt со сложной структурой
    #32513818
N_A
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мои предположение: твоя версия Access поддерживает фунцию Replace, иначе найди аналог или перепиши мой тупой алгоритм разбора углов.
Функция загоняет данные из файла с именем ttt.txt (каталога базы данных) в таблицу ttt (с текстовыми полями p1,p2...p7)(создай таблицу заранее)
Код: plaintext
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.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
Option Compare Database
Option Explicit

Public Declare Function OemToChar Lib "user32" Alias "OemToCharA" (ByVal lpszSrc As String, ByVal lpszDst As String) As Long
Public Declare Function CharToOem Lib "user32" Alias "CharToOemA" (ByVal lpszSrc As String, ByVal lpszDst As String) As Long
Public Function Convert()
Dim r As DAO.Recordset
Dim s As String
Dim s2 As String
Dim f As Boolean
Open CurrentProject.Path & "\ttt.txt" For Input As # 1   ' Open file for input.

f = False
'Цикл пропускает заголовок
While Not EOF( 1 ) And Not f
Line Input # 1 , s
s2 = String( 250 , " ") & Chr( 0 )
Call OemToChar(s, s2)
s2 = Trim(s2)
If Left(s2,  1 ) = "+" Then f = True
Debug.Print s2
Wend
Set r = CurrentDb.OpenRecordset("SELECT * FROM ttt", DAO.dbOpenDynaset, DAO.dbAppendOnly)
If f = False Then Exit Function
f = False
While Not EOF( 1 ) And Not f
Line Input # 1 , s
s2 = String( 250 , " ") & Chr( 0 )
Call OemToChar(s, s2)
s2 = Trim(s2)
r.AddNew
r("p1") = Trim(GetItemFromStr(s2,  2 , "¦"))
r("p2") = Trim(GetItemFromStr(s2,  3 , "¦"))
r("p3") = Trim(GetItemFromStr(s2,  4 , "¦"))
'Читаем следующую строку т.к. длина отрезка и угол почему-то в новой строке
'Но мы добавим её в туже запись
Line Input # 1 , s
s2 = String( 250 , " ") & Chr( 0 )
Call OemToChar(s, s2)
s2 = Trim(s2)
r("p4") = Trim(GetItemFromStr(s2,  5 , "¦"))
s = Trim(GetItemFromStr(s2,  6 , "¦"))
'Заменяем несколько пробелов на 1 пробел
s = Replace(s, "  ", " ")
s = Replace(s, "  ", " ")
r("p5") = Trim(GetItemFromStr(s, 1, " "))
r("p6") = Trim(GetItemFromStr(s, 2, " "))
r("p7") = Trim(GetItemFromStr(s, 3, " "))
'Завершаем создание записи
r.Update
If Left(s2,  1 ) = "L" Then f = True 'Найден символ нижней рамки
Debug.Print s2
Wend

r.Close
Close # 1 
Set r = Nothing
End Function


Public Function GetItemFromStr(s As String, iItem As Long, Optional sRazdel As String = ";") As String
Dim i As Long
Dim n1 As Long, n2 As Long, lenRazd As Long
Dim stemp As String
  n1 =  1 
  lenRazd = Len(sRazdel)
  For i =  1  To iItem -  1 
        n2 = Nz(InStr(n1, s, sRazdel),  0 )
        If n2 <>  0  Then
             n1 = n2 + lenRazd
        Else
             Exit For
        End If
  Next i
  stemp = ""
  n2 = Nz(InStr(n1, s, sRazdel),  0 )
  If n2 <>  0  Then
        stemp = Mid(s, n1, n2 - n1)
  Else
        If n1 >  1  Then
            If i = iItem Then stemp = Mid(s, n1, Len(s))
        Else
            If i = iItem Then stemp = s
        End If
  End If
  GetItemFromStr = stemp
End Function

Все очень уродливо, но должно работать, а если внести соответствующие поправки поменять названия и тип полей то будет еще удобней.
Скопируй код в модуль и запусти функцию Convert
Врубатся в это уродство с экрана нереально проще прогнать код по шагам.
...
Рейтинг: 0 / 0
Помогите организовать импорт данных из *.txt со сложной структурой
    #32513984
madg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем всем
особенно дорогому N_A
прогер на Access из меня еще тот, но!
буду разбирать твой код по нитке можа получится?
Есть для тебя просьба, основанная на моей малограмотности (а хочется многого)
Ну сооруди для меня *.mdb файлик с одной формой и одной таблицей по твоему примеру, если есть конечно время и желание учить чайников.
А я буду полностью импортировать твою базу к своей, и смотреть что из этого получится!
Заранее благодарен!
...
Рейтинг: 0 / 0
Помогите организовать импорт данных из *.txt со сложной структурой
    #32513989
madg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тут беда еще такая см. файлик в самом начале
Записи напротив порядковых номеров (координаты) существуют сами посебе
1. 11111 11111
2. 22222 22222
3. 33333 33333
и тд.
записи находящиеся между порядковых номеров (длина и угловые данные) относятся к обоим смежным данным
1-2 100м. 90гр. 56/ 45//
2-3 200м. 45гр. 30/25//
и т.д.
где м. - метры
гр. градусы
/ - минуты
// - секунды

а есть еще внутренние границы и как быть сними вообще представить не могу!!!!!!!!!!!!!!!!!
...
Рейтинг: 0 / 0
Помогите организовать импорт данных из *.txt со сложной структурой
    #32513997
Фотография Varan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если задача в том, что есть, к примеру, то файл
код Имя Город
1;Маша;Сочи
2;Лена;Киев
то
код Город Имя
1;Сочи;Маша
2;Киев;Лена
и надо всегда читать по смыслу имена девушек, то можно сделать через маски, как Саныч мне как-то подсказал
Где-то в таблице хранится маска структуры типа (string) "2;Name;"
Прога ее считывает в массив, а потом, когда читает, смотрит, ага, 2 столбец, значит это фимилия, значит ее надо импортнуть туда-то...
Столбец переехал - поменял маску.
...
Рейтинг: 0 / 0
Помогите организовать импорт данных из *.txt со сложной структурой
    #32514016
madg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Varan
Все горазда хуже!!!!
Никаких Лен и Маш
Все именно так как я описал выше
координаты, длины, угловые величины
Именно так и никак иначе, и самое главное, если напутает прога (ну там местами переставит) последствия................ непредсказуемые в плане последующего использования педатного документа.
Во как страшно а затея неплоха!
Но как она будет работать с числами?6 значными (по фиг?)
Я уже просил N_A об исхднике *.mdb и тебя прошу!!!!
И посмотри файл каталог в самом начале именно он причина всех проблем.
Необходимо сохранить согласованность и порядок записей и какой нить признак принадлежности именно к этому файлу или другой идентификатор(уникальный)
Заранее благодарен!
...
Рейтинг: 0 / 0
Помогите организовать импорт данных из *.txt со сложной структурой
    #32514020
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Varanкак Саныч мне как-то подсказал
А я уже и не помню... :^)
...
Рейтинг: 0 / 0
25 сообщений из 99, страница 1 из 4
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Помогите организовать импорт данных из *.txt со сложной структурой
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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