Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / вставка строки в таблицу аксесе / 11 сообщений из 11, страница 1 из 1
28.10.2004, 19:40:00
    #32760122
Mr Oizo
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вставка строки в таблицу аксесе
Товарищи программисты помогите бедному студенту. Нужно сделать так чтобы
фунцкия VBA вставляла данные из текстового файла в таблицу аксеса.
Считывание данных из этого файла я сделал, все работает. Осталось как это вставить
каждую строку в таблицу. Таблица имеет соотвествующую структуру, т.е
столбцы: tel(номер телефона), date(дата, вместе с временем), c(стоимость переговоров)
и еще два столбца. Как это сделать?
Вот часть функции, в которой реализовано считывание файла, т.е каждой строки:

If InStr(1, ft, "Ведомость. Телефон") > 0 Then
Tel = Trim(Mid(ft, InStr(1, ft, "Ведомость. Телефон") + 10, 5))
End If
If Mid(Trim(ft), 3, 1) = "." And Mid(Trim(ft), 6, 1) = "." Then
End if

а вот сам файл (вернее его часть):
12.09.04 12:55 79034334333 1 1 1.2
12.09.04 12:55 79034333233 1 1 1.2
13.09.04 12:55 79034323333 1 1 1.2
...
Рейтинг: 0 / 0
28.10.2004, 19:47:53
    #32760127
Serge Gavrilov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вставка строки в таблицу аксесе
А чем метод TransferText не подходит?
...
Рейтинг: 0 / 0
28.10.2004, 20:00:06
    #32760137
Mr Oizo
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вставка строки в таблицу аксесе
можно поподробнее?
...
Рейтинг: 0 / 0
28.10.2004, 20:08:23
    #32760142
Serge Gavrilov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вставка строки в таблицу аксесе
Извините за занудство, но я считаю, что полезнее сначала посмотреть Help
...
Рейтинг: 0 / 0
28.10.2004, 20:15:12
    #32760149
alef120
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вставка строки в таблицу аксесе
Public Sub Вставка Текста()
On Error GoTo label1
Dim Условие As String 'условие для отбора из таблицы "ИМЯ"
Dim Текст As String
Dim Текст2 As String
Dim cnn As ADODB.Connection
Dim rst As ADODB.Recordset
Dim rst As ADODB.Recordset
Dim rst As ADODB.Recordset

Set cnn = CurrentProject.Connection
Set rst = New ADODB.Recordset

rst.ActiveConnection = CurrentProject.Connection
rst.Properties("jet OLEDB:Inconsistent") = True
rst.CursorType = adOpenKeyset
rst.LockType = adLockOptimistic

Условие= ("SELECT * FROM tblИмя WHERE Поле1= """ & что-то & """ ")

rst.Open Условие



With rst
.AddNew
.Fields("Имя1") = Текст
.Fields("Имя2") = текст2

.Update
End With
...
Рейтинг: 0 / 0
28.10.2004, 20:20:50
    #32760156
Iskander68
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вставка строки в таблицу аксесе
Попробовал DoCmd.TransferText. Выяснилось, что
1) с по умолчанию стоящим acImportDelim сначала нужно поставить запятые в
текстовом файле - точка с запятой не сработали
2) поля в целевой таблице должны называться f1, f2 etc. По крайней мере не
нашел, как в функции обозначить целевые поля таблицы.

А там - прекрасно работает.

--
Regards
Alexander Artamonov

Posted via ActualForum NNTP Server 1.1
...
Рейтинг: 0 / 0
28.10.2004, 20:22:06
    #32760157
Iskander68
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вставка строки в таблицу аксесе
Да, забыл добавить. И без запятой данные вставлялись, но в одно поле f1.

--
Regards
Alexander Artamonov

Posted via ActualForum NNTP Server 1.1
...
Рейтинг: 0 / 0
28.10.2004, 20:28:44
    #32760162
Iskander68
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вставка строки в таблицу аксесе
с полями тоже разобрался. Нужно аргументу HasFields присвоить 1, в текстовом
файле написать первой строчку через запятую такие же имена полей, как в
целевой таблице (или наоборот :-)
и все будет красиво

--
Regards
Alexander Artamonov

Posted via ActualForum NNTP Server 1.1
...
Рейтинг: 0 / 0
28.10.2004, 20:46:08
    #32760171
GUESТ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вставка строки в таблицу аксесе
Serge GavrilovИзвините за занудство, но я считаю, что полезнее сначала посмотреть Help

известный зануда
...
Рейтинг: 0 / 0
28.10.2004, 20:47:50
    #32760173
GUESТ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вставка строки в таблицу аксесе
а просто прилинковать файл нет желания попробовать?
...
Рейтинг: 0 / 0
28.10.2004, 23:08:10
    #32760240
Serge Gavrilov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вставка строки в таблицу аксесе
Iskander68
Да, забыл добавить. И без запятой данные вставлялись, но в одно поле f1.


Вторым параметром (насколько я помню) методу TransferText можно указать сохраненную спецификацию, настроенную на конкретный текстовый файл.
Вызвать настройку спецификации можно выбрав меню Файл-Внешние данные-Импорт и далее выбрать текстовые файлы.
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / вставка строки в таблицу аксесе / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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