CRIAR CAMPO NA TABELA VIA CODIGO

EMANUEL 30/03/2005 12:56:03
#75765
Pessoal, boa tarde!
Alguem pode me ajudar? olha so?

Como fazer via codigo para checar se na tabela existe determinados campos, caso nao exista, criar/incluir ou alterar os campos necessários.

A ideia é, que sempre que precisar fazer uma alteração no programa e precise criar novos campos, o programa cheque isso na base do cliente e faça as modificações necessárias.

obrigado,
Emanuel
USUARIO.EXCLUIDOS 30/03/2005 13:17:58
#75773
verifica se tem o campo
http://www.vbmania.com.br/vbmforum.php?varMethod=Abrir&varID=70902&varSubPagina=1&varFiltro=filtro
cria o campo
http://www.vbmania.com.br/vbmforum.php?varMethod=Abrir&varID=39959&varSubPagina=1&varFiltro=filtro
http://www.vbmania.com.br/vbmforum.php?varMethod=Abrir&varID=59514&varSubPagina=2&varFiltro=filtro
http://www.vbmania.com.br/vbmforum.php?varMethod=Abrir&varID=56292&varSubPagina=3&varFiltro=filtro
USUARIO.EXCLUIDOS 30/03/2005 13:21:42
#75775
Qual o banco de dados???
EMANUEL 30/03/2005 13:31:39
#75778
Ola... realmente falotou eu concluir....
o banco de dados é ACCESS

obrigado,
sds
JB207 30/03/2005 13:45:05
#75781
Eu faço assim:

'' Variáveis de Alocação de Area
Public Area As Workspace
Public Arquivo As Database

Public Arqu_Veic As Database
Public Tabe_Veic As TableDef
Public Indi_Veic As Index

Public Sub Adiciona_Tabela_Veiculos()

Set Area = DBEngine.Workspaces(0)
Set Arquivo = Area.CreateDatabase(app.path & "\DbVeiculos", dbLangGeneral, dbVersion30)

'' Cria a Tabela dos Itens do Veiculos
Set Tabe_Veic = Arquivo.CreateTableDef("Veiculos")

'' Cria os Campos da Tabela
'' Dados Cadastrais
Set Codi_Loca = Tabe_Veic.CreateField("Codi_Loca", dbInteger, 2)
Set Codi_Veic = Tabe_Veic.CreateField("Codi_Veic", dbInteger, 2)
Set Marc_Veic = Tabe_Veic.CreateField("Marc_Veic", dbText, 20)
Set Mode_Veic = Tabe_Veic.CreateField("Mode_Veic", dbText, 20)
Set Anof_Veic = Tabe_Veic.CreateField("Anof_Veic", dbText, 4)
Set Comb_Veic = Tabe_Veic.CreateField("Comb_Veic", dbText, 20)
Set Plac_Veic = Tabe_Veic.CreateField("Plac_Veic", dbText, 8)

'' Adiciona os Campos na Tabela
Tabe_Veic.Fields.Append Codi_Loca
Tabe_Veic.Fields.Append Codi_Veic
Tabe_Veic.Fields.Append Marc_Veic
Tabe_Veic.Fields.Append Mode_Veic
Tabe_Veic.Fields.Append Anof_Veic
Tabe_Veic.Fields.Append Comb_Veic
Tabe_Veic.Fields.Append Plac_Veic
' Campos possíveis com tamanho zero
Codi_Loca.AllowZeroLength = False
Codi_Veic.AllowZeroLength = False
Marc_Veic.AllowZeroLength = True
Mode_Veic.AllowZeroLength = True
Anof_Veic.AllowZeroLength = True
Comb_Veic.AllowZeroLength = True
Plac_Veic.AllowZeroLength = True
'' Adiciona a Tabela no Arquivo
Arquivo.TableDefs.Append Tabe_Veic

Set Indi_Veic = Tabe_Veic.CreateIndex("Indice")

'' Cria o Indice da Tabela
With Indi_Veic
.Primary = True
.Unique = True
.Fields.Append .CreateField("Codi_Loca")
.Fields.Append .CreateField("Codi_Veic")
End With

'' Adiciona o Indice na Tabela
Tabe_Veic.Indexes.Append Indi_Veic

Arquivo.Close

End Sub
EMANUEL 30/03/2005 15:56:55
#75826
Como fazer utilizando ADO?

obrigado,
sds
Tópico encerrado , respostas não são mais permitidas