Olá amigos;
Comecei um projeto no início do ano e acabei-o agora.
Tem registos de clientes, utilizadores, produtos etc…
Tem movimentos de compras, encomendas, vendas, devoluções etc…
O que é que eu queria?
Criei um formulário com um botão para zerar todas as tabelas. Funciona a 100 % e a numeração automática vai a zero.
Como é um programa para venda, eu queria disponibilizar esse formulário no sistema, mas com uma senha no botão, para que só quem tivesse a senha, pudesse eliminar todos os registos, se o desejasse.
O meu pedido era para que me ajudassem no código VBA do botão para criar a função de utilizar a palavra passe.
Estou a utilizar o Office 2019.
Deixo abaixo o código do botão e do módulo.
Código do botão:
Private Sub Comando2_Click()
CurrentDb.Execute "DELETE FROM tblAuditoria;"
CurrentDb.Execute "DELETE FROM tblCad_Autores;"
CurrentDb.Execute "DELETE FROM tblCad_Categorias;"
CurrentDb.Execute "DELETE FROM tblCad_CategoriasSub;"
CurrentDb.Execute "DELETE FROM tblCad_Clientes;"
CurrentDb.Execute "DELETE FROM tblCad_DadosIgreja;"
CurrentDb.Execute "DELETE FROM tblCad_FormaPagto;"
CurrentDb.Execute "DELETE FROM tblCad_Fornecedores;"
CurrentDb.Execute "DELETE FROM tblCad_NomeDaIgreja;"
CurrentDb.Execute "DELETE FROM tblCad_Produtos;"
CurrentDb.Execute "DELETE FROM tblCad_Tesouraria;"
CurrentDb.Execute "DELETE FROM tblCad_UtilizadorAtivo;"
CurrentDb.Execute "DELETE FROM tblCad_Utilizadores;"
CurrentDb.Execute "DELETE FROM tblMov_Compras;"
CurrentDb.Execute "DELETE FROM tblMovComprasdet;"
CurrentDb.Execute "DELETE FROM tblMov_DevolucoesDeClientes;"
CurrentDb.Execute "DELETE FROM tblMov_DevolucoesDeClientesDet;"
CurrentDb.Execute "DELETE FROM tblMov_DevolucoesdeFornecedores;"
CurrentDb.Execute "DELETE FROM tblMov_DevolucoesFornecedoresdet;"
CurrentDb.Execute "DELETE FROM tblMov_EncomendasClientesDet;"
CurrentDb.Execute "DELETE FROM tblMov_EncomendasdeClientes;"
CurrentDb.Execute "DELETE FROM tblMov_EncomendasdeFornecedores;"
CurrentDb.Execute "DELETE FROM tblMov_EncomendasFornecedoresDet;"
CurrentDb.Execute "DELETE FROM tblMov_PagtoClientes;"
CurrentDb.Execute "DELETE FROM tblMov_PagtoFornecedores;"
CurrentDb.Execute "DELETE FROM tblMov_Tesouraria;"
CurrentDb.Execute "DELETE FROM tblMov_Vendas;"
CurrentDb.Execute "DELETE FROM tblMovComprasdet;"
CurrentDb.Execute "DELETE FROM tblMovVendasdet;"
MsgBox "As tabelas foram limpas e zerada a sua numeração automática"
Call RepararCompactar
Código do módulo( RepararCompactar):
Public Function RepararCompactar()
Dim P As String
P = Access.DBEngine.IniPath
If P = "Software\Microsoft\Office\16.0\Access\Access Connectivity Engine" Then
'MsgBox "Office 2016"
SendKeys "%(Tm)", False
ElseIf P = "Software\Microsoft\Office\15.0\Access\Access Connectivity Engine" Then
'MsgBox "Office 2019"
SendKeys "%(Tm)", False
ElseIf P = "Software\Microsoft\Office\14.0\Access\Access Connectivity Engine" Then
'MsgBox "Office 2010"
SendKeys "%(Tc)", False
ElseIf P = "Software\Microsoft\Office\14.0\Access\Access Connectivity Engine" Then
'MsgBox "Office 2013"
SendKeys "%(Tc)", False
ElseIf P = "Software\Microsoft\Office\12.0\Access\Access Connectivity Engine" Then
'MsgBox "Office 2007"
SendKeys "%(AgO)", False
Else
MsgBox "Adicione este caminho no código " & P
End If
End Function
Vou fazer um tutorial do programa no Youtube e depois vou disponibilizá-lo aqui. No ecrã principal do programa, coloquei os meus agradecimentos ao conhecimento que adquiri no vosso fórum e com o nome dos utilizadores que me ajudaram.
Obrigado pela vossa ajuda.
Joaquim
Comecei um projeto no início do ano e acabei-o agora.
Tem registos de clientes, utilizadores, produtos etc…
Tem movimentos de compras, encomendas, vendas, devoluções etc…
O que é que eu queria?
Criei um formulário com um botão para zerar todas as tabelas. Funciona a 100 % e a numeração automática vai a zero.
Como é um programa para venda, eu queria disponibilizar esse formulário no sistema, mas com uma senha no botão, para que só quem tivesse a senha, pudesse eliminar todos os registos, se o desejasse.
O meu pedido era para que me ajudassem no código VBA do botão para criar a função de utilizar a palavra passe.
Estou a utilizar o Office 2019.
Deixo abaixo o código do botão e do módulo.
Código do botão:
Private Sub Comando2_Click()
CurrentDb.Execute "DELETE FROM tblAuditoria;"
CurrentDb.Execute "DELETE FROM tblCad_Autores;"
CurrentDb.Execute "DELETE FROM tblCad_Categorias;"
CurrentDb.Execute "DELETE FROM tblCad_CategoriasSub;"
CurrentDb.Execute "DELETE FROM tblCad_Clientes;"
CurrentDb.Execute "DELETE FROM tblCad_DadosIgreja;"
CurrentDb.Execute "DELETE FROM tblCad_FormaPagto;"
CurrentDb.Execute "DELETE FROM tblCad_Fornecedores;"
CurrentDb.Execute "DELETE FROM tblCad_NomeDaIgreja;"
CurrentDb.Execute "DELETE FROM tblCad_Produtos;"
CurrentDb.Execute "DELETE FROM tblCad_Tesouraria;"
CurrentDb.Execute "DELETE FROM tblCad_UtilizadorAtivo;"
CurrentDb.Execute "DELETE FROM tblCad_Utilizadores;"
CurrentDb.Execute "DELETE FROM tblMov_Compras;"
CurrentDb.Execute "DELETE FROM tblMovComprasdet;"
CurrentDb.Execute "DELETE FROM tblMov_DevolucoesDeClientes;"
CurrentDb.Execute "DELETE FROM tblMov_DevolucoesDeClientesDet;"
CurrentDb.Execute "DELETE FROM tblMov_DevolucoesdeFornecedores;"
CurrentDb.Execute "DELETE FROM tblMov_DevolucoesFornecedoresdet;"
CurrentDb.Execute "DELETE FROM tblMov_EncomendasClientesDet;"
CurrentDb.Execute "DELETE FROM tblMov_EncomendasdeClientes;"
CurrentDb.Execute "DELETE FROM tblMov_EncomendasdeFornecedores;"
CurrentDb.Execute "DELETE FROM tblMov_EncomendasFornecedoresDet;"
CurrentDb.Execute "DELETE FROM tblMov_PagtoClientes;"
CurrentDb.Execute "DELETE FROM tblMov_PagtoFornecedores;"
CurrentDb.Execute "DELETE FROM tblMov_Tesouraria;"
CurrentDb.Execute "DELETE FROM tblMov_Vendas;"
CurrentDb.Execute "DELETE FROM tblMovComprasdet;"
CurrentDb.Execute "DELETE FROM tblMovVendasdet;"
MsgBox "As tabelas foram limpas e zerada a sua numeração automática"
Call RepararCompactar
Código do módulo( RepararCompactar):
Public Function RepararCompactar()
Dim P As String
P = Access.DBEngine.IniPath
If P = "Software\Microsoft\Office\16.0\Access\Access Connectivity Engine" Then
'MsgBox "Office 2016"
SendKeys "%(Tm)", False
ElseIf P = "Software\Microsoft\Office\15.0\Access\Access Connectivity Engine" Then
'MsgBox "Office 2019"
SendKeys "%(Tm)", False
ElseIf P = "Software\Microsoft\Office\14.0\Access\Access Connectivity Engine" Then
'MsgBox "Office 2010"
SendKeys "%(Tc)", False
ElseIf P = "Software\Microsoft\Office\14.0\Access\Access Connectivity Engine" Then
'MsgBox "Office 2013"
SendKeys "%(Tc)", False
ElseIf P = "Software\Microsoft\Office\12.0\Access\Access Connectivity Engine" Then
'MsgBox "Office 2007"
SendKeys "%(AgO)", False
Else
MsgBox "Adicione este caminho no código " & P
End If
End Function
Vou fazer um tutorial do programa no Youtube e depois vou disponibilizá-lo aqui. No ecrã principal do programa, coloquei os meus agradecimentos ao conhecimento que adquiri no vosso fórum e com o nome dos utilizadores que me ajudaram.
Obrigado pela vossa ajuda.
Joaquim