Boa tarde
Pesquisando aqui no fórum encontrei um tópico interessante para a criação de campos em tabelas vinculadas através do VBA, conforme segue:
Uso o Access 2010, o código funcionou perfeitamente, mas estou com duas dúvidas:
1 - O instalador de meu software permite a instalação em qualquer lugar, há como adaptar o código para buscar o local do banco;
2 - Preciso criar um campo do tipo numero decimal mas a declaração a seguir não cria o campo: strAltera = "ALTER TABLE tblMateriais alter COLUMN ValorMaterial dbDecimal;"
Se alguém tiver alguma dica, agradeço
Att. Vinicius
Pesquisando aqui no fórum encontrei um tópico interessante para a criação de campos em tabelas vinculadas através do VBA, conforme segue:
- Código:
Public Function AdicionaCampoValor()
'Créditos: http://maximoaccess.forumeiros.com - J Paulo
On Error Resume Next
Dim strAltera As String, strPass
Dim strBancoExterno As Access.Application
Dim strCaminho As String
'Caminho do Back end
strCaminho = "c:\InserirCamposViaVBA_be.accdb"
'Senha do BackEnd
strPass = "123"
Set strBancoExterno = CreateObject("Access.Application")
strBancoExterno.OpenCurrentDatabase strCaminho, , strPass
'Adiciona o campo como texto
strAltera = "ALTER TABLE tblMateriais ADD COLUMN ValorMaterial text(100);"
strBancoExterno.DoCmd.RunSQL strAltera
'Aqui exemplo para alterar o campo para moeda (Poderia ser adicionado já como moeda)
'strAltera = "ALTER TABLE tblMateriais alter COLUMN ValorMaterial CURRENCY;"
'strBancoExterno.DoCmd.RunSQL strAltera
strBancoExterno.CloseCurrentDatabase
Set strBancoExterno = Nothing
End Function
Uso o Access 2010, o código funcionou perfeitamente, mas estou com duas dúvidas:
1 - O instalador de meu software permite a instalação em qualquer lugar, há como adaptar o código para buscar o local do banco;
2 - Preciso criar um campo do tipo numero decimal mas a declaração a seguir não cria o campo: strAltera = "ALTER TABLE tblMateriais alter COLUMN ValorMaterial dbDecimal;"
Se alguém tiver alguma dica, agradeço
Att. Vinicius