Конвертация в mdb

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
claymen
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 159
Зарегистрирован: 14.04.2006 (Пт) 16:07
Откуда: КЫРГЫЗСТАН г.Бишкек

Конвертация в mdb

Сообщение claymen » 19.07.2008 (Сб) 17:39

Вот необходимо переконвертировать текстовый файл в Access mdb. Можно ли это сделать? Пробовал таким способом:
Код: Выделить всё
Close: Open "c:\source.txt" For Input As #1
Do While Not EOF(1)
Data1.Recordset.AddNew
Line Input #1, ReadData
Text1.Text = left$(ReadData, 1,  5)
Text2 = Mid(ReadData, 6, 5)
Text3.Text = Mid(ReadData, 12, Len(ReadData))
Loop: Close

На форме имеются 3 текстовых поля и один Data.
ВБ говорит о ошибке 3426. Искал по форуму, но не смог найти вразумительного ответа.

Можно ли обойтись без текстовых полей и напрямую указывать, что надо записывать? Если нет, то как исправить ошибку 3426?
Когда просто добавляю свои данные в эти поля (не из файла), то все идет, а данные из файла не хочет добавлять, почему?
и начинали мы все чайниками, но потом...

BasiС
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 64
Зарегистрирован: 16.02.2006 (Чт) 23:34
Откуда: Koenigsberg

Re: Конвертация в mdb

Сообщение BasiС » 19.07.2008 (Сб) 21:40

claymen писал(а):Вот необходимо переконвертировать текстовый файл в Access mdb. Можно ли это сделать? Пробовал таким способом:
Код: Выделить всё
Close: Open "c:\source.txt" For Input As #1
Do While Not EOF(1)
Data1.Recordset.AddNew
Line Input #1, ReadData
Text1.Text = left$(ReadData, 1,  5)
Text2 = Mid(ReadData, 6, 5)
Text3.Text = Mid(ReadData, 12, Len(ReadData))
Loop: Close

На форме имеются 3 текстовых поля и один Data.
ВБ говорит о ошибке 3426. Искал по форуму, но не смог найти вразумительного ответа.

Можно ли обойтись без текстовых полей и напрямую указывать, что надо записывать? Если нет, то как исправить ошибку 3426?
Когда просто добавляю свои данные в эти поля (не из файла), то все идет, а данные из файла не хочет добавлять, почему?


Не вдаваясь в тонкости того что не получается, могу по сабжу порекомендовать подключиться к *.txt файлу через ADO и дальше SQL запросом SELECT * INTO... перекинуть все данные в *.mdb Это будет гораздо быстрее чем читать файл построчно.

Как подключиться к *.txt читаем здесь: http://www.connectionstrings.com/

claymen
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 159
Зарегистрирован: 14.04.2006 (Пт) 16:07
Откуда: КЫРГЫЗСТАН г.Бишкек

Сообщение claymen » 20.07.2008 (Вс) 6:24

Ошибку нашел. Из-за не совпадения длины полей
Код: Выделить всё
LEN(Text1.Text) NOT = LEN(Соответсвующее поле в БД)

И потому, что небыло первой записи в БД.
И все равно, читать текстовый файл построчно очень долго. Можно ли это обойти. Пробовал экспортировать текстовый файл в БД через VisData (Import/Export), но выходит ошибка 3051
и начинали мы все чайниками, но потом...

Денис
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2734
Зарегистрирован: 07.11.2006 (Вт) 13:55
Откуда: Ейск, Краснодарский край

Сообщение Денис » 21.07.2008 (Пн) 8:38

Это будет гораздо быстрее чем читать файл построчно.

И все равно, читать текстовый файл построчно очень долго.

claymen
Ты не читаешь, что тебе пишут, да?
Программирование — богоизбранная дисциплина! Если бог и есть, то вселенную он скомпилировал, не иначе.

claymen
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 159
Зарегистрирован: 14.04.2006 (Пт) 16:07
Откуда: КЫРГЫЗСТАН г.Бишкек

Сообщение claymen » 21.07.2008 (Пн) 8:43

Денис
Ты не читаешь, что тебе пишут, да?

Очень даже хорошо читаю, этот способ мне не приемлемен.
и начинали мы все чайниками, но потом...


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: AhrefsBot, Google-бот, SemrushBot, Yandex-бот и гости: 60

    TopList