Чтение данных из таблиц MS Access при помощи VBA

Программирование на Visual Basic for Applications
Dark Fox
Начинающий
Начинающий
 
Сообщения: 1
Зарегистрирован: 28.05.2009 (Чт) 14:15

Чтение данных из таблиц MS Access при помощи VBA

Сообщение Dark Fox » 28.05.2009 (Чт) 14:26

Народ, помогите!
недавно начал работать с VBA, до этого работал с другими языками программирования.
Подскажите как считать данные из нескольких таблиц access для использования этих данных в одной форме при помощи цикла.
Не могу найти подходящих и удобных средств...
Кто может помогите.

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Re: Чтение данных из таблиц MS Access при помощи VBA

Сообщение alibek » 28.05.2009 (Чт) 16:56

Можно через DAO.TableDefs. Можно через ADOX.Tables. Можно через ADODB.Connection.OpenSchema. Можно читать из системных таблиц, но это нежелательно.
Lasciate ogni speranza, voi ch'entrate.

GDK
Обычный пользователь
Обычный пользователь
 
Сообщения: 80
Зарегистрирован: 23.10.2008 (Чт) 16:15

Re: Чтение данных из таблиц MS Access при помощи VBA

Сообщение GDK » 24.06.2009 (Ср) 13:59

А не знает кто где почитать про ADO чё-нить толковое? А то в поиске мало полезного (или я плохо искаю). DAO & RDO вроде как устаревшее всё. А хоцца научиться работать с БД (и не только с аксесс).

Roman Koff
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 495
Зарегистрирован: 17.09.2008 (Ср) 9:22
Откуда: От туда

Re: Чтение данных из таблиц MS Access при помощи VBA

Сообщение Roman Koff » 25.06.2009 (Чт) 9:05

Код: Выделить всё
Sub Work()
   Dim RS01 As DAO.Recordset
   Dim RC01 As Long
   Dim RP01 As Long
   Dim V01 As String
   RS01 = CurrentDb.OpenRecordset("Запрос")
   RS01.MoveLast()
   RS01.MoveFirst()
   RC01 = RS01.RecordCount   ' количество записей
   For RP01 = 1 To RC01
      V01 = RS01.Fields("Поле таблицы") ' чтение
      RS01.Edit()
      RS01.Fields("Поле таблицы") = V01 & now ' запись
      RS01.Update()
      RS01.MoveNext()
   Next
   RS01.MoveFirst()
   RS01.Close()
   MsgBox("Ok")
End Sub
Слава роботам! Убить всех человеков! Bite my shiny metal ass!


Вернуться в VBA

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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 8

    TopList