Гость
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Перестал работать код / 4 сообщений из 4, страница 1 из 1
03.04.2018, 17:55
    #39625138
Ммихалыч
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перестал работать код
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
Sub import()

Dim MyChar
Open "C:\test.txt" For Input As #1    ' Open file.
Do While Not EOF(1)    ' Loop until end of file.
    MyChar = Input(1, #1)    ' Get one character.
    Debug.Print MyChar    ' Print to the Immediate window.
Loop
Close #1    ' Close file.

End Sub




Ругается на Input.


Код: vbnet
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.
Sub openTable2()
Dim txt As String
Dim strsql As String
Dim lngCount As Long
Dim db As DAO.Database
Dim rst As DAO.Recordset

Dim i As Integer
Dim j As Integer
Dim rows() As String
Dim cols() As String


Set db = CurrentDb()

Set rst = db.OpenRecordset("Òàáëèöà1")

Open "C:\c.txt" For Binary As #1
txt = Space(LOF(1))
Get #1, , txt
Close #1

rows = Split(txt, vbCrLf + vbCrLf)

For i = 1 To UBound(rows)
 If i = 1 Then rst.AddNew Else rst.AddNew
rst("ïîëå2").Value = rows(i)
            rst.Update
        Next i
        rst.MoveNext
 
rst.Close
db.Close
Set RS = Nothing
Set db = Nothing


End Sub




А здесь на Space.


До этого все работало, Access 2010.
...
Рейтинг: 0 / 0
03.04.2018, 21:38
    #39625247
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перестал работать код
Референс на VBA улетел, походу.
...
Рейтинг: 0 / 0
04.04.2018, 09:36
    #39625350
klen_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перестал работать код
МмихалычДо этого все работало, Access 2010.ещё как вариант
возможно ограничили Вам права (если у Вас windows 10)
запустите Вашу программу от имени администратора или от имени того кто имеет такие права
...
Рейтинг: 0 / 0
04.04.2018, 12:22
    #39625438
Перестал работать код
Ммихалыч MyChar = Input(1, #1) ' Get one character.
Ругается на Input.

txt = Space(LOF(1))
А здесь на Space. Вероятно не на Space, а на LOF(1). Похоже, что неправильно отрабатывает метод Open. Файл не открывается, хотя и ошибки нет. Надежнее получить значение указателя с помощью FreeFile

Какая у вас сейчас версия/разрядность Акса и Винды?
Версию klen_ проверяли?

А вообще, все эти методы VB для работы с файлами очень древние. Лучше осваивайте механизм ADODB.Stream

И еще вопросы по коду:
1. Какая необходимость открывать файл как Binary? Получить весь текст из файла можно с помощью тех же Input() и LOF().
2. rows = Split(txt, vbCrLf + vbCrLf) - у вас в файле действительно строки с данными идут через строку?
3. If i = 1 Then rst.AddNew Else rst.AddNew Какой тайный смысл в этой строке?
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Перестал работать код / 4 сообщений из 4, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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