Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Access
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.11.2012, 15:02   #1
Vladymyrus
 
Регистрация: 15.11.2012
Сообщений: 5
По умолчанию Управление текстовым файлом

Добрый день, дорогие форумчане !
Как можно с помощью Access изменить структуру текстового файла.
Сначала есть текстовый файл: "#01IZFBE.GE1". В нем есть числовые строки в разрезе областей. Например:
#1=1 (код области после "=")
1010026431=35910789000
1010027561=498105700412
#1=10
1010026431=16872982456456
#1=11
1010026431=9483497374643
1010027561=32672364634536

Как можно с помощью VBA Access преобразовать структуру данного файла, чтобы она стала такой:
1 (удаляем "#1=")
011010026431=35910789000 (проставляем код обл."01" в начале строки)
011010027561=498105700412 (проставляем код обл."01" в начале строки)
10 (удаляем "#1=")
101010026431=16872982456456 (проставл. код обл."10" в начале строки)
11 (удаляем "#1=")
111010026431=9483497374643 (проставляем код обл."11" в начале строки)
111010027561=32672364634536 (проставл. код обл."11" в начале строки)
Пример конечного файла: "#01IZFBE+.GE1".
Спасибо за помощь.
Вложения
Тип файла: txt #01IZFBE.txt (2.3 Кб, 129 просмотров)
Тип файла: txt #01IZFBE+.txt (2.2 Кб, 129 просмотров)
Vladymyrus вне форума Ответить с цитированием
Старый 15.11.2012, 15:31   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

сразу вопрос - а почему на Access/VBA, другие программные средства не рассматриваются?
Serge_Bliznykov вне форума Ответить с цитированием
Старый 15.11.2012, 15:34   #3
Vladymyrus
 
Регистрация: 15.11.2012
Сообщений: 5
По умолчанию Управление текстовым файлом

Прежде всего, потому, что дальнейшая работа с этими файлами происходит в среде Access. Хотелось чтобы все было в одной среде.
Vladymyrus вне форума Ответить с цитированием
Старый 15.11.2012, 16:09   #4
Step_UA
Форумчанин
 
Аватар для Step_UA
 
Регистрация: 09.06.2011
Сообщений: 388
По умолчанию

Доброго.
Код:
Sub delRegion(Fname As String)
  Dim TXT As String, i As Long, O As Object
    Set O = CreateObject("scripting.filesystemobject")
    With O.OpenTextFile(Fname, 1)
        TXT = .ReadAll: .Close
      End With
    i = InStrRev(Fname, ".")
    With O.CreateTextFile(Left(Fname, i - 1) & "+" & Mid(Fname, i))
        i = InStr(1, TXT, "#1=")
        .WriteLine vbNewLine & vbNewLine & Replace(Mid(TXT, i + 3), "#1=", "")
        .Close
      End With
    Set O = Nothing
End Sub
на неконкретные вопросы даю неконкретные ответы ...

Последний раз редактировалось Step_UA; 15.11.2012 в 16:12.
Step_UA вне форума Ответить с цитированием
Старый 15.11.2012, 16:33   #5
Vladymyrus
 
Регистрация: 15.11.2012
Сообщений: 5
По умолчанию Управление текстовым файлом

Подскажите, как выполнить код?
У меня не получается.
Vladymyrus вне форума Ответить с цитированием
Старый 15.11.2012, 23:37   #6
R Dmitry
Форумчанин
 
Регистрация: 07.03.2010
Сообщений: 796
По умолчанию

Добрый вечер
Если вы работаете с этим файлом в access, то можно его импортировать обычным запросом без VBA.
Код:
SELECT Replace([f1],"#1=","") INTO TBL
FROM [01IZFBE.txt] IN 'C:\'[Text;IMEX=2;HDR=No]
where Len(f1) >0
------------
Единственный нюанс, это название файла, оно должно быть без #
------------
В данном примере будет создана таблица TBL c уже преобразованными данными.
============================

Пардон не дочитал условие, что необходимо добавлять код в строку, тогда только через VBA
Логика?!.... она где то рядом... E_mail: dg_rusak@mail.ru Если спасибо мало: Яндекс . Деньги - 41001731366021 WM R269866874234

Последний раз редактировалось R Dmitry; 16.11.2012 в 00:30. Причина: недоглядел :)
R Dmitry вне форума Ответить с цитированием
Старый 16.11.2012, 17:20   #7
Vladymyrus
 
Регистрация: 15.11.2012
Сообщений: 5
По умолчанию

Цитата:
Сообщение от Step_UA Посмотреть сообщение
Доброго.
Код:
Sub delRegion(Fname As String)
  Dim TXT As String, i As Long, O As Object
    Set O = CreateObject("scripting.filesystemobject")
    With O.OpenTextFile(Fname, 1)
        TXT = .ReadAll: .Close
      End With
    i = InStrRev(Fname, ".")
    With O.CreateTextFile(Left(Fname, i - 1) & "+" & Mid(Fname, i))
        i = InStr(1, TXT, "#1=")
        .WriteLine vbNewLine & vbNewLine & Replace(Mid(TXT, i + 3), "#1=", "")
        .Close
      End With
    Set O = Nothing
End Sub
Пожалуйста, подскажите как выполнить этот код?
В Access не получается.
Vladymyrus вне форума Ответить с цитированием
Старый 16.11.2012, 19:16   #8
R Dmitry
Форумчанин
 
Регистрация: 07.03.2010
Сообщений: 796
По умолчанию

Тынц и от корки до корки
Логика?!.... она где то рядом... E_mail: dg_rusak@mail.ru Если спасибо мало: Яндекс . Деньги - 41001731366021 WM R269866874234
R Dmitry вне форума Ответить с цитированием
Старый 11.04.2013, 11:14   #9
Vladymyr17
 
Регистрация: 28.09.2009
Сообщений: 3
По умолчанию Код для редактирования текстового файла

Текстовый файл лежит в отдельной папке на рабочем столе.
Помогите, пожалуйста решить задачу с преобразованием ТХТ.
Спасибо.
Vladymyr17 вне форума Ответить с цитированием
Старый 12.04.2013, 03:14   #10
alvk
Форумчанин
 
Регистрация: 22.05.2012
Сообщений: 136
По умолчанию

-Вы что и есть за меня будете?
-Ага.
(с)
alvk вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с текстовым файлом Сеня2 Visual C++ 0 20.05.2012 11:12
Работа с текстовым файлом. tae1980 Microsoft Office Excel 10 29.06.2010 19:16
Работа с текстовым файлом Vixess12 Помощь студентам 0 08.06.2010 21:24
Работа с текстовым файлом simka007 Помощь студентам 7 06.02.2009 14:21
Работа с текстовым файлом! Edimus Общие вопросы C/C++ 10 19.11.2007 10:31