Atualizar Tabela e Consultas Programa Instalado

Moderador: Avelino Sampaio

WEDER FRANÇA
Mensagens: 2
Registrado em: 27 Set 2016, 16:44

Atualizar Tabela e Consultas Programa Instalado

Mensagempor WEDER FRANÇA » 28 Set 2016, 17:09

Olá Senhores,

boa tarde!

Qual a melhor forma de atualizar o arquivo de banco de dados ACCESS de programa já instalado em um cliente por exemplo?
Apos a instalação, o cliente já salvou dados em seu banco e agora preciso criar uma nova tabela e uma nova consulta no seu arquivo.
Existe uma forma de fazer isto sem ser diretamente no arquivo ACCESS do Cliente? Alguma coisa via programação por exemplo?

No aguardo,

Att

Weder

Disable adblock

Precisamos do seu apoio. Faca uma doacao para o site atraves do Paypal.


Avatar do usuário
Avelino Sampaio
Mensagens: 1870
Registrado em: 04 Jun 2015, 18:27
Contato:

Re: Atualizar Tabela e Consultas Programa Instalado

Mensagempor Avelino Sampaio » 28 Set 2016, 18:23

Olá, Weder!

Tem sim. Leia com atenção as dias 62 e 67 :

http://www.usandoaccess.com.br/dicas/dicas-praticas-de-access-parte-7.asp?id=1&idlista=223#inicio

Para facilitar a manutenção, geralmente dividimos o aplicativo em duas partes. O Back-end (somente tabelas) e front-end (o restante dos objetos).

Aguardamos
==================================================
Clique no link abaixo e veja um ótimo kit de ensino que tenho para você.
http://www.usandoaccess.com.br
==================================================

WEDER FRANÇA
Mensagens: 2
Registrado em: 27 Set 2016, 16:44

Re: Atualizar Tabela e Consultas Programa Instalado

Mensagempor WEDER FRANÇA » 29 Set 2016, 02:00

Olá Avelino, obrigado pela resposta, estarei analisando suas sugestões.

Criei um método para adicionar um campo em uma tabela, funcionou perfeitamente, veja com código abaixo:

Código: Selecionar todos

public void AtualizarRelacaoServicos() //adicionando campos a tabela "RelaçãoServicos"
        {
            try
            {
                string AlterarTabelaServicos = "ALTER TABLE RelacaoServicos ADD COLUMN PercentualDesconto TEXT(10), DescontoServico Money, TotalLiquidoServico Money, PercentualComissao Money, Comissao Money, OutrosCusto Money, CustoTotal Money, LucroServico Money, CheckServico YesNo";
                conn.Open(); //abrindo a conexão
                OleDbCommand cmd = new OleDbCommand(AlterarTabelaServicos, conn); //passando como paramentro o comando e o caminho do banco
                cmd.ExecuteNonQuery(); //executando a instrução
            }
            catch
            {
               
            }
            finally
            {
                conn.Close(); //fechando a conexão
            }
        }


Avelino, seguindo este raciocínio do método que criei é possível fazer isto com uma consulta?
Como seria a instrução SQL usando o SELECT e depois o CREATER para criar a consulta e gravar no banco?

Espero que tenha sido claro e mais uma vez parabenizo pelo site e agradeço a presteza que tem com quem precisa de seus conhecimentos.

No aguardo,

Weder França

Avatar do usuário
Avelino Sampaio
Mensagens: 1870
Registrado em: 04 Jun 2015, 18:27
Contato:

Re: Atualizar Tabela e Consultas Programa Instalado

Mensagempor Avelino Sampaio » 29 Set 2016, 07:11

Weder,

a criação de uma consulta pelo VBA:

Código:
Dim bd As DAO.Database
Dim strSql As String
Dim qry As DAO.QueryDef

'Abra o BD que deseja alterar
Set bd = OpenDatabase("e:\redeaccess\avelino\MeuBD.accdb", False, False)
'Monta a SQL da nova consulta
strSql = "SELECT idCliente,NomeCliente,Celular FROM tblClientes ORDER BY NomeCliente;"
'Cria a nova consulta no BD aberto
Set qry = bd.CreateQueryDef("qryTeste", strSql)
MsgBox "Consulta criada...", vbInformation, "Aviso"
'limpa a memória
Set qry = Nothing
Set bd = Nothing


Supondo que eu queira acrescentar o campo DataNascimento na consulta criada acima:

Código:
Dim bd As DAO.Database
Dim strSql As String
Dim qry As DAO.QueryDef

'Abra o BD que deseja alterar
Set bd = OpenDatabase("e:\redeaccess\avelino\MeuBd.accdb", False, False)
'Monta a SQL, acrescentando o campo DataNascimento
strSql = "SELECT idCliente,NomeCliente,Celular,DataNascimento FROM tblClientes ORDER BY NomeCliente;"
'Passa a consulta para variável qry
Set qry = bd.QueryDefs("qryTeste")
'Altera a consulta com a nova escrita SQL
qry.SQL = strSql

MsgBox "Consulta atualizada...", vbInformation, "Aviso"
'Limpa a memoria
Set qry = Nothing
Set bd = Nothing


Pelo Visual Studio, creio que vc possa utilizar o ADO:

Código:
Dim cmd As New ADODB.Command
Dim cat As New ADOX.Catalog
'Abre o catálogo
cat.ActiveConnection = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=e:\avelino\MeuBd.mdb;Persist Security Info=False;"
'Monta a escrita SQL
cmd.CommandText = "Select * From tblClientes"
'Cria a consulta
cat.Views.Append "qryTeste", cmd
'limpa a memoria
Set cat.ActiveConnection = Nothing
Set cat = Nothing
Set cmd = Nothing


Aguardamos
==================================================
Clique no link abaixo e veja um ótimo kit de ensino que tenho para você.
http://www.usandoaccess.com.br
==================================================

Disable adblock

Precisamos do seu apoio. Faca uma doacao para o site atraves do Paypal.



Voltar para “Tabelas”

Quem está online

Usuários neste fórum: Nenhum usuário registrado e 1 visitante