Public Sub cria_basedados()
On Error GoTo cria_erro
'usa o metodo createdatabase do objeto workspace
para criar a base de dados
'dblanggeneral => define a base para os idiomas
: ingles,alemao,frances,portugues,italiano e espanhol
'dbversion30 => cria a base na versao 3.0 do
MsJet mas compativel com a versao 3.5 - só 32 bits
Set area = DBEngine.Workspaces(0)
Set db = area.CreateDatabase("c:\agenda\agenda.mdb", dbLangGeneral,
dbVersion30)
'bem agora vamos criar as tabelas
'tabela agendamentos
Set tbl = db.CreateTableDef("agendamentos") 'cria
tabela no banco de dados recem criado
'vamos criar os campos da tabela agendamentos
:
'campo codigoagenda : tipo numerico - inteiro
longo
Set cpo = tbl.CreateField("codigoagenda", dbLong) 'define
campo : nome e tipo de dados
tbl.Fields.Append cpo 'insere o novo objeto (campo/coluna)
a colecao
'campo hora : tipo date/time
Set cpo = tbl.CreateField("hora", dbDate) 'define campo : nome e tipo
de dados
tbl.Fields.Append cpo 'insere o novo objeto (campo/coluna) a colecao
'campo evento : tipo texto , 150 posições
Set cpo = tbl.CreateField("evento", dbText, 150) 'define campo : nome
e tipo de dados
tbl.Fields.Append cpo 'insere o novo objeto (campo/coluna)
a colecao
'campo data : tipo date/time
Set cpo = tbl.CreateField("data", dbDate) 'define campo : nome e tipo
de dados
tbl.Fields.Append cpo 'insere o novo objeto (campo/coluna)
a colecao
'campo detalhe : tipo texto , 200 posições
Set cpo = tbl.CreateField("detalhe", dbText, 200) 'define campo : nome
e tipo de dados
tbl.Fields.Append cpo 'insere o novo objeto (campo/coluna)
a colecao
'agora vamos inserir o objeto tabela a colecao
db.TableDefs.Append tbl
'Agora podemos criar os índices da nossa
tabela agendamentos
'ela possui o codigoagenda como chave primaria
Set tbl = db.TableDefs("agendamentos")
Set idx = tbl.CreateIndex("PrimaryKey") 'cria
indice com o nome primarykey
Set cpo = idx.CreateField("codigoagenda")
idx.Fields.Append cpo
idx.Primary = True 'define o indice como chave
primaria
tbl.Indexes.Append idx 'insere o indice criado
a colecao
'criacao do indice hora para o campo hora
Set tbl = db.TableDefs("agendamentos")
Set idx = tbl.CreateIndex("hora") 'cria indice
com o nome hora
Set cpo = idx.CreateField("hora")
idx.Fields.Append cpo
tbl.Indexes.Append idx 'insere o indice criado
a colecao
'criacao do indice data para o campo data
Set tbl = db.TableDefs("agendamentos")
Set idx = tbl.CreateIndex("data") 'cria indice
com o nome data
Set cpo = idx.CreateField("data")
idx.Fields.Append cpo
tbl.Indexes.Append idx 'insere o indice criado
a colecao
'================================================================
'vamos criar a tabela enderecos e os seus campos
Set tbl = db.CreateTableDef("enderecos") 'cria
tabela no banco de dados recem criado
Set cpo = tbl.CreateField("codigocadastro", dbLong) 'define
campo : nome e tipo de dados
tbl.Fields.Append cpo 'insere o novo objeto (campo/coluna)
a colecao
Set cpo = tbl.CreateField("sobrenome", dbText, 50) 'define
campo : nome e tipo de dados
tbl.Fields.Append cpo 'insere o novo objeto (campo/coluna)
a colecao
Set cpo = tbl.CreateField("nome", dbText, 50) 'define
campo : nome e tipo de dados
tbl.Fields.Append cpo 'insere o novo objeto (campo/coluna)
a colecao
Set cpo = tbl.CreateField("endereco", dbText, 50) 'define
campo : nome e tipo de dados
tbl.Fields.Append cpo'insere o novo objeto (campo/coluna)
a colecao
Set cpo = tbl.CreateField("cidade", dbText, 50) 'define
campo : nome e tipo de dados
tbl.Fields.Append cpo 'insere o novo objeto (campo/coluna)
a colecao
Set cpo = tbl.CreateField("estado", dbText, 2) 'define
campo : nome e tipo de dados
tbl.Fields.Append cpo ''insere o novo objeto
(campo/coluna) a colecao
Set cpo = tbl.CreateField("cep", dbText, 20) 'define
campo : nome e tipo de dados
tbl.Fields.Append cpo 'insere o novo objeto (campo/coluna)
a colecao
Set cpo = tbl.CreateField("telefone", dbText, 20) 'define
campo : nome e tipo de dados
tbl.Fields.Append cpo 'insere o novo objeto (campo/coluna)
a colecao
Set cpo = tbl.CreateField("celular", dbText, 20) 'define
campo : nome e tipo de dados
tbl.Fields.Append cpo 'insere o novo objeto (campo/coluna)
a colecao
Set cpo = tbl.CreateField("nascimento", dbDate) 'define
campo : nome e tipo de dados
tbl.Fields.Append cpo ' 'insere o novo objeto
(campo/coluna) a colecao
Set cpo = tbl.CreateField("observacao", dbText, 150) 'define
campo : nome e tipo de dados
tbl.Fields.Append cpo 'insere o novo objeto (campo/coluna)
a colecao
Set cpo = tbl.CreateField("email", dbText, 150) 'define
campo : nome e tipo de dados
tbl.Fields.Append cpo 'insere o novo objeto (campo/coluna)
a colecao
'vamos inserir a tabela enderecos na colecao
db.TableDefs.Append tbl
'e criar seus indices
Set tbl = db.TableDefs("enderecos")
Set idx = tbl.CreateIndex("PrimaryKey") 'cria
indice com o nome primarykey
Set cpo = idx.CreateField("codigocadastro")
idx.Fields.Append cpo
idx.Primary = True 'define o indice como chave primaria
tbl.Indexes.Append idx 'insere o indice criado a colecao
Set tbl = db.TableDefs("enderecos")
Set idx = tbl.CreateIndex("sobrenome") 'cria
indice com o nome sobrenome
Set cpo = idx.CreateField("sobrenome")
idx.Fields.Append cpo
tbl.Indexes.Append idx 'insere o indice criado
a colecao
Set tbl = db.TableDefs("enderecos")
Set idx = tbl.CreateIndex("nome") 'cria indice
com o nome nome
Set cpo = idx.CreateField("nome")
idx.Fields.Append cpo
tbl.Indexes.Append idx 'insere o indice criado
a colecao
Exit Sub
cria_erro:
MsgBox "Erro numero " & Err.Number & " -> " & Err.Description
End
End Sub |