Criando Banco de Dados com Tabelas e Índices via VB - DAO
1º - A criação de um banco de dados via código é bastante simples:
Dim WRK As Workspace
Dim DB As Database
Set WRK = DBEngine.Workspaces(0)
'Cria o banco de dados:
Set DB = WRK.CreateDatabaseE("Banco.MDB", _
dbLangGeneral)
'Feche o banco de dados e o Workspace:
DB.Close
WRK.Close
set DB = Nothing
set WRK = Nothing
2º - Para se criar uma tabela você terá que criar seus campos, expecificando o valor de certas propriedades. Neste exemplo, criaremos uma tabela contendo 3 campos: Código, Nome e DataNasc. Veja o código a seguir:
Dim WRK As Workspace
Dim DB As Database
Dim TB As New TableDef
Dim Campo1 As New Field
Dim Campo2 As New Field
Dim Campo3 As New Field
Set WRK = DBEngine.Workspaces(0)
'Abre o banco de dados:
Set DB = WRK.OpenDatabase("Banco.MDB")
'Atribui nome e utras propriedades à tabela
'e aos campos:
TB.Name = "Tabela"
Campo1.Name = "Código"
Campo1.Type = dbInteger
Campo2.Name = "Nome"
Campo2.Type = dbText
Campo2.Size = 60
Campo3.Name = "DataNasc"
Campo3.Type = dbDate
'Cria os campos na tabela
TB.Fields.Append Campo1
TB.Fields.Append Campo2
TB.Fields.Append Campo3
'Cria a tabela:
DB.TableDefs.Append TB
'Feche o banco de dados, a tabela e o Workspace:
TB.Close
DB.Close
WRK.Close
Set TB = Nothing
set DB = Nothing
set WRK = Nothing
3º - Criando Índices:
Os índices são muito úteis em rotinas de procura de dados em tabelas, pois, além de serem mais rápidos, eles requerem menos código para realizar estas buscas. Veja como criar um índice em um campo de uma tabela já existente:
Dim WRK As Workspace
Dim DB as Database
Dim TB as Table
Dim Index1 as New Index
Dim Index2 as New Index
Set WRK = DBEngine.Workspaces(0)
'Abre o banco de dados e a tabela:
set DB = WRK.OpenDatabase("Banco.MDB")
Set TB = DB.OpenTable("Tabela")
'Atribui nome e utras propriedades aos
'índices:
Index1.Name = "Cód"
Index1.Fields = "Código"
Index1.Unique = True
Index1.Primary = True
Index1.Name = "Nom"
Index2.Fields = "Nome"
Index2.Unique = False
Index2.Primary = False
'Cria os indices na tabela:
TB.Indexes.Append Index1
TB.Indexes.Append Index2
'Feche o banco de dados, a tabela e o Workspace:
TB.Close
DB.Close
WRK.Close
Set TB = Nothing
set DB = Nothing
set WRK = Nothing