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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 28.07.2017, 19:33   #1
Consoled
Новичок
Джуниор
 
Регистрация: 28.07.2017
Сообщений: 10
По умолчанию Чтение папки и сортировка данных

У меня есть папка из множества файлов
и из каждого txt мне нужно вытянуть всю информацию которая находиться под ключевым словом вплоть до пустой строки
и внести в таблицу
Код:
Sub keyword()
    Dim s, s0, p, w, i, j, k, Path, f, qq
    Dim FSO As Object, File As Object, TextStream As Object
    Dim rst As DAO.Recordset
    Set rst = CurrentDb.OpenRecordset("select * from Òàáëèöà1")
    Path = "F:\Àâðîðà\text reestr\"
     qq = Dir(Path & "*.txt*")
    Do Until s = ""
    Set FSO = CreateObject("Scripting.FileSystemObject")
        Set File = FSO.GetFile(Path & qq)
        Set TextStream = File.OpenAsTextStream(1)
        f = TextStream.ReadAll()
    Do While Not EOF(1)
        s = s & "=" & s0
    Loop
    Close #1
    
    s = "=" & s
    w = Array("Состав", "Производитель")
    p = Split(s, "==")
    rst.AddNew
    For i = 0 To UBound(p)
        For j = 0 To UBound(w)
            If w(j) = Left(p(i), Len(w(j))) Then
                k = k + 1
                rst(k) = Replace(p(i), "=", vbCrLf)
            End If
        Next
    Next
    If k > 0 Then rst.Update
qq = Dir
Loop
End Sub
Ошибок не выбивает,но не работает
P.S.
Если кто-то сможет сюда еще запихнуть чтобы читало в каждом файле еще и 6-7 строку(Название иногда в 6 иногда в 7) и кидало в новое поле было бы чудесно ,а то ключевых слов нету,а я не силен в access
Заранее спасибо.
Consoled вне форума Ответить с цитированием
Старый 28.07.2017, 21:00   #2
shanemac51
Участник клуба
 
Аватар для shanemac51
 
Регистрация: 12.08.2010
Сообщений: 1,077
По умолчанию

ВЫ ВЗЯЛИ КОД С СОСЕДНЕГО ФОРУМА
но править пришлось почти каждую строчку
Код:
Option Compare Database
Option Explicit

Sub keyword72()
    Dim s, s0, p, w, i, j, k, Path, f, qq
    Dim FSO As Object, File As Object, TextStream As Object
    Dim rst As DAO.Recordset
    
    s = "select * from [" & Chr(210) & Chr(224) & Chr(225) & Chr(235) & Chr(232) & Chr(246) & Chr(224) & "1]"
    Debug.Print s
    Set rst = CurrentDb.OpenRecordset(s)
    ''Path = "F:\" & Chr(192) & Chr(226) & Chr(240) & Chr(238) & Chr(240) & Chr(224) & "\text reestr\"
    Path = "C:\TEMP\"
    
    Debug.Print Path
     qq = Dir(Path & "M0*.txt*")
    Do Until qq = ""
    Set FSO = CreateObject("Scripting.FileSystemObject")
        Set File = FSO.GetFile(Path & qq)
        Set TextStream = File.OpenAsTextStream
        f = TextStream.ReadAll()
    ''Do While Not EOF(1)
        s = Replace(f, vbCrLf, "=")
    ''Loop
    Close #1
    
    s = s & "="
    w = Array("Состав", "Производитель")
    p = Split(s, "==")
    rst.AddNew
    
    For i = 0 To UBound(p)
    Debug.Print i, Left(p(i), 50)
    k = 1
        For j = 0 To UBound(w)
        Debug.Print j, "===", w(j), Len(w(j))
        
            If w(j) = Left(p(i), Len(w(j))) Then
                k = k + 1
                rst(k) = Replace(p(i), "=", vbCrLf)
                rst(4) = qq
            End If
        Next
    Next
    If k > 0 Then rst.Update
qq = Dir
Loop
End Sub
Имя-Галина== почта shanemac51@yandex.ru скайп shanemac51 c 8-15мск будни
Сфера интересов--word-excel-access-распознавание
shanemac51 вне форума Ответить с цитированием
Старый 28.07.2017, 23:15   #3
Consoled
Новичок
Джуниор
 
Регистрация: 28.07.2017
Сообщений: 10
По умолчанию

Цитата:
Сообщение от shanemac51 Посмотреть сообщение
но править пришлось почти каждую строчку
Спасибо за ответ,но увы таблицу заполняет пустыми строками
Consoled вне форума Ответить с цитированием
Старый 29.07.2017, 11:30   #4
shanemac51
Участник клуба
 
Аватар для shanemac51
 
Регистрация: 12.08.2010
Сообщений: 1,077
По умолчанию

Цитата:
Сообщение от shanemac51 Посмотреть сообщение
qq = Dir(Path & "M0*.txt*")
может у вас таких файлов нет..я же настроилась на свои файлы и каталоги
РАСПАКУЙТЕ В КАТАЛОГ C:\TEMP\ZTXT\
Вложения
Тип файла: zip ztxt.zip (62.3 Кб, 12 просмотров)
Имя-Галина== почта shanemac51@yandex.ru скайп shanemac51 c 8-15мск будни
Сфера интересов--word-excel-access-распознавание
shanemac51 вне форума Ответить с цитированием
Старый 29.07.2017, 12:06   #5
Consoled
Новичок
Джуниор
 
Регистрация: 28.07.2017
Сообщений: 10
По умолчанию

Цитата:
Сообщение от shanemac51 Посмотреть сообщение
qq = Dir(Path & "M0*.txt*")
Путь я конечно менял,но и попробовал так как Вы сказали,но увы
Меняю файлы удаляет все поля в таблице и все
Менял только слова поиска,расположение файлов да ту самую строку ставил на считывание любых txt
Consoled вне форума Ответить с цитированием
Старый 29.07.2017, 12:13   #6
Consoled
Новичок
Джуниор
 
Регистрация: 28.07.2017
Сообщений: 10
По умолчанию

Вот все тут,извините что напрягаю и спасибо за помощь
Вложения
Тип файла: rar ztxt.rar (66.0 Кб, 11 просмотров)
Consoled вне форума Ответить с цитированием
Старый 29.07.2017, 13:07   #7
shanemac51
Участник клуба
 
Аватар для shanemac51
 
Регистрация: 12.08.2010
Сообщений: 1,077
По умолчанию

НАДО ВЫКЛАДЫВАТЬ БОЛЕЕ РЕАЛЬНЫЙ ФАЙЛ --ТОГДА И ОТВЕТ БУДЕТ БОЛЕЕ РЕАЛЬНЫЙ

в 00001 есть склад и виробник, но нет price
поэтому и нет записи

даже слово инструкция по разному написана
ІНСТРУКЦІЯ
ИНСТРУКЦИЯ

и у вас намного больше пустых строк, даже сразу после ключевых строк
Имя-Галина== почта shanemac51@yandex.ru скайп shanemac51 c 8-15мск будни
Сфера интересов--word-excel-access-распознавание
shanemac51 вне форума Ответить с цитированием
Старый 29.07.2017, 14:34   #8
Consoled
Новичок
Джуниор
 
Регистрация: 28.07.2017
Сообщений: 10
По умолчанию

Файлы разные,не все смог посмотреть
Часть такие как я дал Пример
Часть что приложил к таблице
Извините за неудобства ,файлов много все просмотреть не могу
Но суть такая же
Просто взять слово не состав как ключевое,а доп. вещества
А с производителем просто до конца файла это последний пункт во всех файлах
Consoled вне форума Ответить с цитированием
Старый 29.07.2017, 14:41   #9
Consoled
Новичок
Джуниор
 
Регистрация: 28.07.2017
Сообщений: 10
По умолчанию

Проверил оригиналы файлов,в них нету пустых строк после ключевых
Скорее всего это эффект после замены ваших файлов моими (пробовал убирать после запуска опять ставит строки)
Consoled вне форума Ответить с цитированием
Старый 29.07.2017, 15:22   #10
shanemac51
Участник клуба
 
Аватар для shanemac51
 
Регистрация: 12.08.2010
Сообщений: 1,077
По умолчанию

выложите или пришлите на почту парочку оригиналов
пока я вижу 2 варианта

--первая половина текстовика на украинском, вторая на русском
--в первый раз вы выкладывали чисто английские
--возможно есть чисто русский и/или другие языки, а значит и другие ключевые слова(когда файлов --тысячи, это неизбежно.....
--иногда значение параметра на одной строке с именем, иногда через пустую строку
Имя-Галина== почта shanemac51@yandex.ru скайп shanemac51 c 8-15мск будни
Сфера интересов--word-excel-access-распознавание

Последний раз редактировалось shanemac51; 29.07.2017 в 15:24.
shanemac51 вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Чтение структуры с файла и её сортировка на Си CortesGames Помощь студентам 7 25.12.2016 22:25
Задачи: Сортировка символьной информации в строке, заданной пользователем.; Чтение и запись данных в файл (Assembler,TASM) User22 Помощь студентам 2 01.12.2011 11:40
Чтение, запись, сортировка в таблице tresh PHP 1 30.04.2011 16:14
Чтение>сортировка>запись theFEAR Помощь студентам 1 22.04.2009 09:33
Чтение MP3 файлов из папки PAVEL315 Общие вопросы Delphi 1 03.03.2007 13:33