Вернуться   Форум программистов > Форум Базы данных > Форум Access

Access

Программирование MS Access

Ответ
 
Старый 27.07.2007, 17:25   #1
babken76
Местный
 
Регистрация: 03.08.2004
Сообщений: 363
babken76 пока не определено
По умолчанию пара вопросов

1 Как из модуля mdb выбрать данные из таблицы содержащейся в этой же БД? До этого работал с access только, как с внешним ИД, используя ADO, DAO.



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

Когда я импортирую вручную (через файл-внешние данные-импорт) точки опускаются, т.е. все ок. Когда я делаю это программно:

Код
1
2
3
4
5
 
 
DoCmd.TransferText acImportDelim, CurShbID, "tTab", Me.tb_path.Value & "" & a, -1
 
 
точки преобразуются в решетки (#). Как с этим бороться?



С уважением,
babken76 вне форума  
Старый 27.07.2007, 18:56   #2
babken76
Местный
 
Регистрация: 03.08.2004
Сообщений: 363
babken76 пока не определено
По умолчанию RE: пара вопросов

вопрос 1: по аналогии сделал так:

Код
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
 
 
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 остается пока открытым.



С уважением,
babken76 вне форума  
Старый 27.07.2007, 19:16   #3
Михайло
Местный
 
Регистрация: 04.03.2004
Сообщений: 862
Михайло пока не определено
По умолчанию RE: пара вопросов

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
Михайло вне форума  
Старый 27.07.2007, 20:55   #4
babken76
Местный
 
Регистрация: 03.08.2004
Сообщений: 363
babken76 пока не определено
По умолчанию RE: пара вопросов

Спасибо Михайло! Не думал, что переименование полей т.е. фактически alter, будет работать так быстро. Тем не менее, интересно что же не так с импортом.



С уважением,
babken76 вне форума  
Старый 27.07.2007, 21:01   #5
Михайло
Местный
 
Регистрация: 04.03.2004
Сообщений: 862
Михайло пока не определено
По умолчанию RE: пара вопросов

А я не думаю, что переименование поля и ALETR TABLE - одна и та же операция...
Михайло вне форума  
Ads
Ответ
Опции темы

Похожие темы
Тема Автор
Объявление переменных Access
Нужно для нескольких texboxoв на форме установить одну и ту же функцию на изменение данных можно ли как-нибудь объявить в переменных имена texboxoв Сейчас у меня получается, что для каждого...
w.s.
Access Экспорт прилинкованных таблиц
Неожиданно возникла проблема: Имеются файлы Архив.mdb (файл с архивными таблицами), Reestr.mdb ( интерфейсная часть) с прилинкованными таблицами, которые находятся в файле DB_Reestr.mdb. По нажатию...
Ann-14
Закрытие базы Access.
Как сделать, чтобы при закрытии Базы сначало выполнялись определённые действия? А то при применении ActiveX открытой форме выдаётся ошибка(просит использовать определённый метод ActiveX, а уж потом...
kiw
Access Помогите разобраться с сумой столбцов
Разъясните тем, кто тупенький...не писали не разу на аксессе. Ситуация такая: есть таблица и есть подиненная таблица. мне нужно на форме главной вывести сумму в одном поле из столбца цен который...
поля
Проблема с переходом из MS Access97 MS Access2003
Помогите, пожалуйста решить такую проблему. У меня есть приложение, разработанное в MS Access 97. Там все работает прекрасно. При попытке запуска этого приложения в MS Access 2003 появляется "Ошибка...
Yashustik
Сортировка по выражению Access
Здраствуйте. Строю отчет СпециальнаяДата ФИО ДатаРождения Должность СпециальнаяДата(СД) Поле СД вычисляется как =DateAdd("yyyy";Должность.Срок;). Как мне упорядочить и сгруппировать по...
vladdmit



Текущее время: 11:54. Часовой пояс GMT +4.


Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.

Рейтинг@Mail.ru