criar campos em tabelas como?? via codigo?? vou te ensinar a Criar um BD via código, esse exemplo deve servir pra vc, é so fazer as modificações que quiser:
Public Sub Cria_BaseDados()
'É necessário incluir a referência: Microsoft DAO 3.6 Object Library
'define a variavel objeto do tipo querydef
Dim qrydef As QueryDef
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(caminho, 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
'agora vamos criar as consultas e armazená-las no banco de dados
With db
'deletar registros da agenda
SQL = "DELETE agendamentos.codigoagenda From agendamentos"
SQL = SQL & " WHERE (((agendamentos.codigoagenda)=[pcodigoagenda]))"
Set qrydef = .CreateQueryDef("qry_agd_del", SQL)
'incluir registros na agenda
SQL = "INSERT INTO AGENDAMENTOS ( codigoagenda, data, hora, evento, detalhe )"
SQL = SQL & " SELECT pcodigoagenda AS Expr1, pdata AS Expr2, phora AS Expr3, pevento AS Expr4, pdetalhe AS Expr5"
Set qrydef = .CreateQueryDef("qry_agd_inc", SQL)
'Atualizar registros da agenda
SQL = "UPDATE AGENDAMENTOS SET AGENDAMENTOS.codigoagenda = pcodigoagenda, AGENDAMENTOS.data = pdata, AGENDAMENTOS.hora = phora, AGENDAMENTOS.evento = pevento, AGENDAMENTOS.detalhe = pdetalhe;"
Set qrydef = .CreateQueryDef("qry_agd_upd", SQL)
'deletar registros de enderecos
SQL = "DELETE enderecos.codigocadastro From enderecos WHERE (((enderecos.codigocadastro)=[pcodigocadastro]))"
Set qrydef = .CreateQueryDef("qry_ende_del", SQL)
'incluir registros em enderecos
SQL = "INSERT INTO ENDERECOS ( codigocadastro, sobrenome, nome, endereco, cidade, estado, cep, telefone, celular, nascimento, email, observacao )"
SQL = SQL & " SELECT pcodigocadastro AS Expr1, psobrenome AS Expr2, pnome AS Expr3, pendereco AS Expr4, pcidade AS Expr5, pestado AS Expr6, pcep AS Expr7, ptelefone AS Expr8, pcelular AS Expr9, pnascimento AS Expr10, pemail AS Expr11, pobservacao AS Expr12"
Set qrydef = .CreateQueryDef("qry_ende_inc", SQL)
'atualizar registros de enderecos
SQL = "UPDATE ENDERECOS SET ENDERECOS.codigocadastro = pcodigocadastro, ENDERECOS.sobrenome = psobrenome, ENDERECOS.nome = pnome, ENDERECOS.endereco = pendereco, ENDERECOS.cidade = pcidade, ENDERECOS.estado = pestado, ENDERECOS.cep = pcep, ENDERECOS.telefone = ptelefone, ENDERECOS.celular = pcelular, ENDERECOS.nascimento = pnascimento, ENDERECOS.email = pemail, ENDERECOS.observacao = pobservacao"
Set qrydef = .CreateQueryDef("qry_ende_upd", SQL)
End With
Exit Sub
'tratamento de erros
cria_erro:
If trata_erros(Err.Number) = vbRetry Then
Resume
Else
Exit Sub
End If
End Sub