vbstreets конференция - Виж темата - и Excel DBF файлове, да създавате, четете, редактирате

Помогнете ми да се научат да използват DBF файлове от Excel.

В този момент имате таблични данни, съхранявани в един ограничен текстов файл.
При достъп до този файл трябва да програмно извлича данни от текстов файл в списъка и да направи "Текст за Колони" и след това използвайте данните.

въпрос:
Как да създавате програмно на DBF файлове, таблици, полета, на нов ред?
Как да редактирате низ?
Как да изтрия един ред?
Как да се организира търсенето в желаната таблица за поле или полета (като Намери в Excel) и връщане на данни от областта Drugova намерен низ?

Нещо намерен
Научих се да се създаде база (например кожи, намерени в WWW)
, не само БДФ и MDB Тази база данни е подходящ.

конец, който знае как да се работи допълнително Oy?

Се включва в EXCEL DAO 3.6 библиотека
(Tools> Позоваването.> Mikrosoft DAO 3.6 Object Library)

Във формуляра постави на 5 Tb текстово поле и преименуване
TextBox1 в ТЕХ1 (имот - име), а също и с остатъците от протектора TextBox2 в ТЕХ2.
(ТОВА ДА ВИ КОД не копаят) примери са взети от VB6 и също работи добре в EXCEL

Невярно ТЕХ1 създадени за въвеждане на пътя и името
PR: C: \ Moya база

ТЕХ2 поле за въвеждане на името на таблицата

Полетата Tex3, ТЕХ2 и Tex3 - за да въведете имената на полетата

Сложете върху бутон форма command1 (преименуване totzhe CommandButton1)

Сега имаме много пълнеж!

Този код отнема много пространство, защото на описанията на съдържанието на стойностите на различни константи, че няма да е излишно и осигурява допълнителна яснота и да разберат, че това, което правим.

Поставете този код под формата на коментари там, всичко ще бъде ясно и разбираемо.

Частни Под Command1_Click ()

Дим db Както DAO.Database


Ако Право (Текст1, 4) <> ".mdb" Тогава Текст1 = Текст1 ".mdb"
File = Текст1

Задайте db = DAO.CreateDatabase (File, dbLangCyrillic) "" C: \ test.mdb "
"Ние сме създали една празна база данни

Дим TBD Както DAO.TableDef
Определете TBD = db.CreateTableDef (Текст2) "Таблица 1"
"Ние сме създали една празна маса

"Постоянно Стойност Описание
"DbBigInt 16 Big число.
"DbBinary 9 двоични данни.
"DbBoolean 1 логика. Тя може да бъде настроен да True / False.
"DbByte 2 Byte. Това е номер 0-255.
"DbChar 18 Текст фиксирана дължина. Дължината се определя от размера.
"DbCurrency 5 пари. Тя може да съдържа до 15 символа от ляво на десетичната точка и 4 по отношение на правото.
"DbDate 8 Дата и час.
"DbDecimal 20 десетични.
"DbDouble 7 Цифров тип двойна точност.
"DbFloat 21 плаваща запетая.
"DbGUID 15128 малко глобален универсален идентификатор.
"DbInteger 3 число.
"DbLong 4 Long число.
"DbLongBinary 11 Дълги двоични данни.
"DbMemo поле 12 от този тип може да съхранява данни.
"DbNumeric 19 Цифров.
"DbSingle 6 цифров вид единична точност.
"DbText 10 Текст. Дължината се определя от размера. Може да съдържа повече от 255 символа.
"DbTime 22 време.
"DbTimeStamp 23 дата и час.
"DbVarBinary 17 двоичен фиксирана дължина.


"Но с базите MSAccess на тези константи работят _
Само dbBoolean, dbByte, dbInteger, dbLong, _
dbCurrency, dbSingle, dbDouble, dbDate, dbText, _
dbLongBinary, dbGUID и dbMemo. _
Други константи в магазин за база данни _
в друг формат (за контрол ODBCDirect).

"Параметърът размер определя от големината на терена.

Дим Fld Както DAO.Field
Комплект Fld = tbd.CreateField (Текст3, dbText, 50)
tbd.Fields.Append Fld
Комплект Fld = tbd.CreateField (Text4, dbLong, 15)
tbd.Fields.Append Fld
Комплект Fld = tbd.CreateField (Text5, dbBoolean)
tbd.Fields.Append Fld
"Създаване на полеви маса" колони "

"Полетата са създадени. Остава да се създаде на индексите. _
метод се използва за създаване на индекс _
CreateIndex TableDef обект. _
Той създава инстанция на индекса и го връща. _
метод CreateIndex има само един параметър - име. _
Той задава името на новия индекс.

Дим INX Както DAO.Index
Задайте INX = tbd.CreateIndex ( "index1")

"Добави към индексните полета. _
Създаване на поле с помощта на метода на обекта _ CreateField
Index и добавяне на поле към колекцията си полета. _
Аргументът на името на метода CreateField _
Ние искаме името на съществуваща поле, което се добавя към индекса.

Комплект Fld = inx.CreateField ( "Field2")
inx.Fields.Append Fld

"Всичко е готово. _
Сега трябва да добавите таблицата със събирането TableDefs _
и този трик се прави!

db.TableDefs.Append предстои да се определи
db.TableDefs.Refresh

"Сега, когато е бил създаден на базата данни, _
близки обекти и безплатно паметта.

"rs.Close
db.Close
Задайте RS = Нищо
Задайте INX = Нищо
Комплект Fld = Нищо
Задайте TDF = Нищо
Set db = Нищо

Оставете ме
End Sub