Форум программистов, компьютерный форум, киберфорум
Microsoft Access
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.77/22: Рейтинг темы: голосов - 22, средняя оценка - 4.77
609 / 388 / 8
Регистрация: 14.04.2011
Сообщений: 1,324

Выбрать слова из тексового файла и поместить их в поля таблицы access

17.09.2012, 16:48. Показов 4701. Ответов 46
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
как выбрать определенные строки в текстовом файле и сделать их значением полей таблицы ms access.
файл во вложении.
Вложения
Тип файла: txt 1.txt (10.9 Кб, 30 просмотров)
1
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
17.09.2012, 16:48
Ответы с готовыми решениями:

Поместить результат запроса в созданные поля таблицы
Здравствуйте!)) Я не знаю есть ли такие темы я не нашла) У меня есть Datatable в ней созданы 6 столбцов и запрос по 6 полям к бд DataSet...

Поместить значение поля таблицы ADO в диалог MessageBox
Есть база данных Access, мне необходимо удалить одно из значений одной таблицы нажав на кнопку, но перед удалением удостоверится что...

Как поместить значения строки из базы данных Access в поля Edit
Возникла следующая проблема: к примеру, программа содержит базу данных из Access, которая содержит 3 столбика 1. Фамилия 2. Имя 3....

46
Эксперт MS Access
26826 / 14506 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
17.09.2012, 17:01
sekonya, открыть файл - инструкция Open, прочитать текстовый файл - Input. Можно весь считать в переменную, потом делить на строки, а можно читать построчно.

"Выбрать определенные строки" - это как? По номеру строки? Или по реперным словам?
1
609 / 388 / 8
Регистрация: 14.04.2011
Сообщений: 1,324
17.09.2012, 17:05  [ТС]
лучше по номеру строки...
1
Эксперт MS Access
26826 / 14506 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
17.09.2012, 17:31
Цитата Сообщение от sekonya Посмотреть сообщение
лучше по номеру строки...
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Sub InputTxtFile()
    Dim stroka As String, strs, ff, nStrok(), i, k, rst As DAO.Recordset
    strs = "c:\temp\1.txt"
    ff = FreeFile
    nStrok = Array(11, 18) 'Массив номеров строк. 
    
    With CurrentDb.OpenRecordset("select * from МояТаблица")
    Open strs For Input As #ff
    Do While Not EOF(ff)
        k = k + 1
        Input #ff, stroka
        For i = LBound(nStrok) To UBound(nStrok)
            If nStrok(i) = k Then
                .AddNew
                !ПолеКудаПишем = stroka
                .Update
            End If
        Next
    Loop
    End With
 
    Close #ff
End Sub
2
609 / 388 / 8
Регистрация: 14.04.2011
Сообщений: 1,324
17.09.2012, 17:39  [ТС]
mobile, у вас полеКудаПишем одно?
а надо чтобы в разные поля вводилась информация.
1
Эксперт MS Access
26826 / 14506 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
17.09.2012, 17:41
Цитата Сообщение от sekonya Посмотреть сообщение
mobile, у вас полеКудаПишем одно?
а надо чтобы в разные поля вводилась информация.
Но этого же не было в первональном ТЗ :-)

Уточняйте.
1
609 / 388 / 8
Регистрация: 14.04.2011
Сообщений: 1,324
17.09.2012, 17:43  [ТС]
в общем, строка №1 в поле1
строка №2 в пол2 и т.д.
0
Эксперт MS Access
26826 / 14506 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
17.09.2012, 17:51
Цитата Сообщение от sekonya Посмотреть сообщение
в общем, строка №1 в поле1
строка №2 в пол2 и т.д.
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
Sub InputTxtFile()
    Dim stroka As String, strs, ff, nStrok(), i, k, j, rst As DAO.Recordset
    strs = "c:\temp\1.txt"
    ff = FreeFile
    nStrok = Array(11, 18) 'Массив номеров строк. 
    
    With CurrentDb.OpenRecordset("select * from МояТаблица")
    Open strs For Input As #ff
    .AddNew
    Do While Not EOF(ff)
        k = k + 1
        Input #ff, stroka
        For i = LBound(nStrok) To UBound(nStrok)
            If nStrok(i) = k Then
                j = j +1
                .Fields(j) = stroka
            End If
        Next
    Loop
    .Update
    End With
 
    Close #ff
End Sub
1
609 / 388 / 8
Регистрация: 14.04.2011
Сообщений: 1,324
17.09.2012, 18:01  [ТС]
mobile, подскажите массив строк, это как понять?
первая цифра это №, а вторая это длинна?
1
Эксперт MS Access
26826 / 14506 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
17.09.2012, 18:31
Цитата Сообщение от sekonya Посмотреть сообщение
mobile, подскажите массив строк, это как понять?
первая цифра это №, а вторая это длинна?
Нет, это именно номера строк. Вы же сами писали, что надо выбирать по номерам строк. Я посмотрел, что в вашем файле две первые непустые строки с номерами 11 и 18 и записал эти числа в массив, ну как бы для примера.. Следующей непустой строкой будет 23 и тогда массив был бы (11, 18, 23)

Но если нужно выбирать именно не пустые строки, то можно обойтись и без массива, достаточно проверки самих строк на длину.
1
609 / 388 / 8
Регистрация: 14.04.2011
Сообщений: 1,324
17.09.2012, 18:53  [ТС]
а вы не знаете как удалить некоторые строки, а так же пустые строки программно?
0
Эксперт MS Access
26826 / 14506 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
17.09.2012, 18:55
Цитата Сообщение от sekonya Посмотреть сообщение
а вы не знаете как удалить некоторые строки, а так же пустые строки программно?
Самый простой способ, он же наиболее часто употребимый - это записать только нужные строки в новый текстовый файл.
1
609 / 388 / 8
Регистрация: 14.04.2011
Сообщений: 1,324
17.09.2012, 18:59  [ТС]
а как с пустыми строками быть?
0
Эксперт MS Access
26826 / 14506 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
17.09.2012, 19:33
Цитата Сообщение от sekonya Посмотреть сообщение
а как с пустыми строками быть?
Вопрос несколько неопределенный. Но могу предположить, что касается пустых строк во входном файле. Если так, то ответ я уже давал - проверять длину строки и если пустые строки не нужны - не писать их в таблицу
Visual Basic
1
2
3
4
if len(stroka)>0 Then
    j = j +1
    .Fields(j) = stroka
end if
1
609 / 388 / 8
Регистрация: 14.04.2011
Сообщений: 1,324
17.09.2012, 19:50  [ТС]
Цитата Сообщение от mobile Посмотреть сообщение
Самый простой способ, он же наиболее часто употребимый - это записать только нужные строки в новый текстовый файл
а вот это как реализовать?
и можно не создавать новый текстовый файл, а вставить в этот же, предворительно его очистив?
0
Эксперт MS Access
26826 / 14506 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
17.09.2012, 20:16
Вариант - чтение файла и запись в текстовый файл только не пустых строк. Старый файл удаляется.
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Sub InputWriteTxtFile()
    Dim stroka As String, strs, strs2, ff, ff2, pstroka, i, k
    strs = "c:\temp\1.txt"
    strs2 = "c:\temp\1-1.txt"
    ff = FreeFile
    Open strs For Input As #ff
    ff2 = FreeFile
    Open strs2 For Output As #ff2
    
    Do While Not EOF(ff)
        k = k + 1
        Line Input #ff, stroka
        If Len(Replace(Replace(stroka, " ", ""), Chr(9), "")) > 2 Then
            pstroka = pstroka & stroka & vbCrLf
        End If
    Loop
    Print #ff2, pstroka
    Close #ff
    Close #ff2
 
    Kill strs
 
End Sub
1
609 / 388 / 8
Регистрация: 14.04.2011
Сообщений: 1,324
17.09.2012, 20:20  [ТС]
спасибо огромное!

может вы знаете как найти в тексте "определенный фрагмент" а все что после него удалить?
0
Эксперт MS Access
26826 / 14506 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
17.09.2012, 20:26
Цитата Сообщение от sekonya Посмотреть сообщение
спасибо огромное!

может вы знаете как найти в тексте "определенный фрагмент" а все что после него удалить?
Если знать в чем этот фрагмент уникален, то проблем нет. Или функцией Instr находим его границы, или сплитом. Но нужно точное определение этого "фрагмента"
1
609 / 388 / 8
Регистрация: 14.04.2011
Сообщений: 1,324
17.09.2012, 20:34  [ТС]
в файле есть словосочетание "электронно-цифровая подпись" мне нужно удолить все что после этой строки идет
0
Эксперт MS Access
26826 / 14506 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
17.09.2012, 20:47
Цитата Сообщение от sekonya Посмотреть сообщение
в файле есть словосочетание "электронно-цифровая подпись" мне нужно удолить все что после этой строки идет
Visual Basic
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
Sub InputWriteTxtFile()
    Dim stroka As String, strs, strs2, ff, ff2, pstroka, i, k, p
    strs = "c:\temp\1.txt"
    strs2 = "c:\temp\1-1.txt"
    ff = FreeFile
    Open strs For Input As #ff
    ff2 = FreeFile
    Open strs2 For Output As #ff2
    
    Do While Not EOF(ff)
        k = k + 1
        Line Input #ff, stroka
        If Len(Replace(Replace(stroka, " ", ""), Chr(9), "")) > 2 Then
            pstroka = pstroka & stroka & vbCrLf
        End If
    Loop
    
    p = Split(pstroka, "электронно-цифровая подпись") '
    pstroka = p(0) & "электронно-цифровая подпись" '
    
    Print #ff2, pstroka
    Close #ff
    Close #ff2
 
    Kill strs
End Sub
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
17.09.2012, 20:47
Помогаю со студенческими работами здесь

Сложить поля в связной таблице и поместить в поле другой таблицы
Доброе время суток. Как с помощью запроса сделать следующее Нужно получить данные по связи, сложить их и засунуть в поле другой...

Перевод тексового файла в бинарный формат
Добрый день! Необходимо открыть текстовый файл, содержание которого не известно, и перезаписать его в новый файл, но данные записывать...

Сохранение файла Word при экспорте из Access в нужном месте и с именем из поля Access
Добавлено через 5 минут Нужна помощь знатоков. Имеется вот такой код для слияния данных из Access в Word. Хотелось бы его доработать,...

Слова из файла поместить в 2 списка
Доброго времени суток. Помогите решить проблему. Каждая строка текстового файла f2 (вложение №1) состоит из пары слов. Все первые слова...

Выбрать из таблицы все поля с кодами
Выбрать из таблицы tab1 все поля с кодами 1,2,3,4,5,6,7.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11680&d=1772460536 Одним из. . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru