Внос и износ на данни от MDB (достъп), за да се отличи на VBA

Внос и износ на данни от MDB (достъп), за да се отличи на VBA

Например, ние имаме един вид компоненти на базата данни към списъка с PC цена, за да го кажем просто. Таблица, наречена "tbl_prays" и има следната структура:

  • ID - тип поле брояч;
  • Вижте - поле тип "Текст (String)" с дължина 50 символа. Той съдържа принадлежащи към формата на компоненти (CPU, дънната платка, RAM, и т.н.);
  • Производител - Въведете текст, дължина 50;
  • Модел - съдържа номера и кратко описание на модела. Невярно както и, текст, дължина 255;
  • Номер - поле от тип "Цифров" Размер - "Long Integer". Той съдържа номера на части на склад;
  • Тип на поле "Адрес" Размер - - цена ". реалност" Показва, единичната цена.

Можете да създадете и да попълните база данни MDB, и може да отнеме базата използвана в примерите по-долу тук.

По този начин, в основата е, например, че трябва да се чете цялата таблица на база данни ( "tbl_prays") и показва резултата в работния лист Excel. Създаване на нов модул и добавяне на процедурата, както следва:

Под ReadMDB ()
"Променливи съхранява резултатите от търсенето
Дим TBL Както Recordset
"SQL низ на заявката
Дим SQLr Както стринга
"Променливи магазини връзката към базата данни на свързания
Дим DBS като бази данни

"Свързване с MDB
Задайте DBS = DAO.OpenDatabase ( "E: \ price.mdb")

"Низ Compile SQL заявка
SQLr = "SELECT * ОТ tbl_prays"

"Изпрати запитване отворена база данни
"Резултат в таблица, се съхранява в TBL
Определете TBL = dbs.OpenRecordset (SQLr)

"Затваряне на временна таблица
tbl.Close

"Изчистване на паметта. Ако това не бъде направено, след това на масата
"Ще остане ли виси в RAM.
Задайте TBL = Нищо

Логиката на този и всички следващи процедури чете (запис) на данни в базата данни е проста. Първо, ние се отвори базата данни, и след това да изпратите SQL заявка за, да получите резултатите от заявката във вид на таблица, в близост до базата данни, освобождава памет.

Задайте DBS = DAO.OpenDatabase ( "E: \ price.mdb")

SQLr = "SELECT * ОТ tbl_prays"
Определете TBL = dbs.OpenRecordset (SQLr)
I = 1

"Повтаряйте до края TBL
Направя, докато не tbl.EOF
"Възложено на всяка клетка, стойността на полетата на таблицата
Клетките (I, 1) = tbl.Fields ( "ID")
Клетките (I, 2) = tbl.Fields ( "Преглед")
Клетките (I, 3) = tbl.Fields ( "Производител")
Клетките (I, 4) = tbl.Fields ( "модел")
Клетките (I, 5) = tbl.Fields ( "номер")
Клетките (I, 6) = tbl.Fields ( "цена")
"Например, ние се получи сума (цена * количество)
Клетките (I, 7) = tbl.Fields ( "Брой") * tbl.Fields ( "цена")

I = I + 1
преход tbl.MoveNext "към следващия запис

Имайте предвид, че втората опция визуализира резултата върху лист забележимо по-бавно от първи! Ето защо, ние ви препоръчваме да използвате първата опция.

метод OpenRecordset само ви позволява да четете данни от таблиците в базата данни с използване на запитвания. За да се направи заявка за промяна, допълнение или изтриване на записи в таблиците, използвани по метода на Execute. Вижте един пример, който ви позволява да добавите запис в таблицата (с подходящ SQL заявка, можете да променяте, изтривате записи):

Задайте DBS = DAO.OpenDatabase ( "E: \ price.mdb")

Задайте TBL = dbs.OpenRecordset ( "tbl_prays")
"Метод RecordCount предоставя редица рекорди
"Кол съхранява ID за нов рекорд
кол = tbl.RecordCount + 1

SQLr = "INSERT INTO tbl_prays (ID, тип, производител, номер на модела, цена)" _
"Ценности (" кол "" RAM "," Hyndai "," DDR3 ', 123, 600) "

Тези примери показват основните аспекти на работата с MDB база данни, която ще ви помогне да се организира обмен на данни между Excel и Access, но тези методи не са единствените верни и правилни. Това е всичко. Докато се срещнем отново!