пара вопросов
Релиб
Форумы       Участники    Календарь    Кто он-лайн?
Добро пожаловать, гость ( Вход | Регистрация )
        



пара вопросов Expand / Collapse
Автор
Сообщение
27.07.2007 12:25
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

участник
Last Login: 16.04.2008 11:44
Сообщ.: 366, Visits: 2 473
1 Как из модуля mdb выбрать данные из таблицы содержащейся в этой же БД? До этого работал с access только, как с внешним ИД, используя ADO, DAO.

2 Необходимо импортировать данные из текстового файла с разделителями в таблицу БД. Первая строка-заголовок, в именах полей содержит точки.
Когда я импортирую вручную (через файл-внешние данные-импорт) точки опускаются, т.е. все ок. Когда я делаю это программно:

DoCmd.TransferText acImportDelim, CurShbID, "tTab", Me.tb_path.Value & "\" & a, -1

точки преобразуются в решетки (#). Как с этим бороться?

С уважением,
Сообщ. #914994
27.07.2007 13:56
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

участник
Last Login: 16.04.2008 11:44
Сообщ.: 366, Visits: 2 473
вопрос 1: по аналогии сделал так:

Sub hgfd()
Set dbs = CurrentDb
Set rst = dbs.OpenRecordset("select * from spr")
OpenRecordsetOutput (rst)
End Sub
Sub OpenRecordsetOutput(ByVal rstOutput As Recordset)

' Enumerate the specified Recordset object.
With rstOutput
Do While Not .EOF
Debug.Print , .Fields(0), .Fields(1)
.MoveNext
Loop
End With

End Sub

Странно, когда в отладчике просматриваю fields.item1.fieldsize = <Ошибочный тип данных поля>. К чему бы это?
вопрос 2 остается пока открытым.

С уважением,
Сообщ. #914996
27.07.2007 14:16
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

участник
Last Login: 13.03.2008 11:35
Сообщ.: 839, Visits: 8 738
1. Например, создайте запрос и откройте его посредством объекта RecordSet:

Dim table As RecordSet
Set table=CurrentDB.OpenRecordSet("имя_запроса или имя_таблицы или команда_SQL")

Словом, точно так же, как и с ADO/DAO...
2. После преобразования откройте таблицу и попереименовывайте названия полей. Для MS Access 2000 и выше:

Dim bd As Database
Dim table As TableDef
Dim pole As Field
Set bd = CurrentDb
Set table = bd.TableDefs!FILC_DB
For Each pole In table.Fields
pole.Name=Replace(pole.Name,"#","")
Next pole
Сообщ. #914997
27.07.2007 15:55
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

участник
Last Login: 16.04.2008 11:44
Сообщ.: 366, Visits: 2 473
Спасибо Михайло! Не думал, что переименование полей т.е. фактически alter, будет работать так быстро. Тем не менее, интересно что же не так с импортом.

С уважением,
Сообщ. #915004
27.07.2007 16:01
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

участник
Last Login: 13.03.2008 11:35
Сообщ.: 839, Visits: 8 738
А я не думаю, что переименование поля и ALETR TABLE - одна и та же операция...
Сообщ. #915005
« пред. тема | след. тема »


Эту тему читают Expand / Collapse
Посетители: 0 (0 гостей, 0 участников, 0 скрыт.участников)
Сейчас нет участников, просматривающих тему.
Модераторы: Alexey, boombastik, bazile, pl

Время GMT +3:00, Сейчас 5:24