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

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

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

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

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

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


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

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

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

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

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

Уменя есть похожее мнение по поводу встроенных функций, но написать на VBA, а тем более функцию для динамических данных (помнишь 4-500) у меня тяму не хватит. А еще там (см.файл выше) есть поле градусы, минуты, секунды, разделенные помоему пробелами что с ними делать?
...
Рейтинг: 0 / 0
11.05.2004, 17:39
    #32513636
N_A
N_A
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите организовать импорт данных из *.txt со сложной структурой
Уговорил, я тебе за тебя напишу. Жди, если на работе не отвлекут, сегодня выложу.
...
Рейтинг: 0 / 0
11.05.2004, 18:02
    #32513713
marvan
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите организовать импорт данных из *.txt со сложной структурой
в своё время написал прогу, которая брала файлы неопределённой структуры и преобразовывала их в плоские таблицы.
суть алгоритма в следующем:
1. Подцепить файл, как связанную таблицу (в дальнейсшем можно только менять имя связанного файла)
2. Прорходим строку за строкой/ колонку за колонкой, анализируя содержимое полей. Если содержимое поля отвечает условию --> выливаем в таблицу-приёмник.
...
Рейтинг: 0 / 0
11.05.2004, 18:42
    #32513818
N_A
N_A
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите организовать импорт данных из *.txt со сложной структурой
Мои предположение: твоя версия 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
11.05.2004, 21:18
    #32513984
madg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите организовать импорт данных из *.txt со сложной структурой
Всем всем
особенно дорогому N_A
прогер на Access из меня еще тот, но!
буду разбирать твой код по нитке можа получится?
Есть для тебя просьба, основанная на моей малограмотности (а хочется многого)
Ну сооруди для меня *.mdb файлик с одной формой и одной таблицей по твоему примеру, если есть конечно время и желание учить чайников.
А я буду полностью импортировать твою базу к своей, и смотреть что из этого получится!
Заранее благодарен!
...
Рейтинг: 0 / 0
11.05.2004, 21:26
    #32513989
madg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите организовать импорт данных из *.txt со сложной структурой
Тут беда еще такая см. файлик в самом начале
Записи напротив порядковых номеров (координаты) существуют сами посебе
1. 11111 11111
2. 22222 22222
3. 33333 33333
и тд.
записи находящиеся между порядковых номеров (длина и угловые данные) относятся к обоим смежным данным
1-2 100м. 90гр. 56/ 45//
2-3 200м. 45гр. 30/25//
и т.д.
где м. - метры
гр. градусы
/ - минуты
// - секунды

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


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