Portuguese – MyDataCareer https://www.mydatacareer.com free sas training, free tableau training, free data science Tue, 16 Jan 2018 20:49:02 +0000 en-US hourly 1 https://wordpress.org/?v=5.3.2 https://www.mydatacareer.com/wp-content/uploads/2019/12/cropped-Logo_27-1-32x32.png Portuguese – MyDataCareer https://www.mydatacareer.com 32 32 163604612 Importar dados do excel para access VBA https://www.mydatacareer.com/como-importar-dados-do-excel-novbado-access/ https://www.mydatacareer.com/como-importar-dados-do-excel-novbado-access/#respond Wed, 03 Jan 2018 23:52:21 +0000 https://mydatacareer.com/?p=827 Importar dados do excel para access VBA importar excel para access via vba Neste artigo, explicaremos como importar dados do Excel no Access utilizando a linguagem VBA. Especificamente, estaremos utilizando o Modelo de Objetos do Excel. O leitor deve estar ciente de que esta não é a única abordagem para importar dados do Excel em […]

The post Importar dados do excel para access VBA appeared first on MyDataCareer.

]]>
Importar dados do excel para access VBA

importar excel para access via vba

Neste artigo, explicaremos como importar dados do Excel no Access utilizando a linguagem VBA. Especificamente, estaremos utilizando o Modelo de Objetos do Excel.

O leitor deve estar ciente de que esta não é a única abordagem para importar dados do Excel em uma tabela no Access. A escolha desta opção fornecerá alguns insights em relação ao Microsoft Access, à integração com o modelo de objetos do Microsoft Excel e, ao mesmo tempo, apresentará algumas ideias em relação a operações DML (linguagem de manipulação de dados) com tabelas do Access utilizando SQL.

Outras vantagens de utilizar o modelo de objetos do Excel são:

  1. Acesso total a cada linha / coluna, que permite validações complexas, a busca de processos e limpeza de dados
  2. Conversão do tipo de dados
  • Acesso a todas as funções de modelo de objetos do Excel se necessário

Para criar o resultado final, o leitor irá precisar de

  1. Um arquivo teste do Excel
  2. Uma base de dados no Microsoft Access com uma tabela e um único formulário com um botão

 

O primeiro passo será obter algumas amostras de dados no Excel para testar o processo. Uma vez que gerar várias linhas de dados de teste é um processo tedioso, uma forma mais fácil seria baixar alguns dados de teste. Por exemplo, eu encontrei este arquivo

http://www.sample-videos.com/xls/Sample-Spreadsheet-10000-rows.xls

Nesta mesma página, o leitor encontrará outros arquivos, menores e maiores. O layout do arquivo selecionado é o seguinte:

Existem dez colunas sem cabeçalhos.

Neste exemplo, importaremos as colunas A, B e G na tabela de dados de destino.

Vamos começar …

Após criar uma base de dados vazia no Microsoft Access, o usuário deve criar uma tabela vazia com o layout apresentado abaixo

O campo ItemId da tabela será mapeado ara a coluna A, o campo Descrição será mapeado para a coluna B e o campo Preço para a coluna G. O leitor deve prestar atenção ao campo de preço subjacente ao tipo de dados. Como os dados de origem podem ter números decimais, o campo de destino deve poder acomodá-los (lembre-se que quando se trabalha com SQL o separador decimal é um ponto). O primeiro campo é simplesmente uma sequência inteira e o segundo é uma série de textos de descrição (mais sobre isso mais tarde).

Uma vez que a tabela for criada, o próximo passo será a criação de um formulário simples com um botão para ativar o processo. Assumindo que o leitor já tem experiência em Microsoft Access, o formulário final deve ficar parecido com este

 

Mude a propriedade do botão para Importar Excel e o nome do botão para cmdImportExcel (como mencionamos no tutorial anterior, manter um padrão nos nomes é sempre uma boa prática). Clique no botão de salvar e nomeie o formulário como frmImportExcel.

Para fornecer alguns recursos intuitivos, o botão criado irá chamar uma caixa de diálogo com um seletor de arquivos, assim o usuário poderá selecionar o arquivo de origem do disco duro, escolhendo-o de qualquer localização.

Clique com o botão direito no botão de inserir, escolhe “construir evento” e então o construtor de código. O editor do Visual Basic deve abrir.

Uma observação: não vamos forçar declarações variáveis explícitas no código, para que cada variável seja declarada utilizando seu tipo de dado correto, e nenhum recurso da máquina seja alocado em vão. Em cima do código (embaixo da opção Comparar Base de Dados) simplesmente adicione

Option Explicit

Agora, todas as variáveis exigirão uma declaração.

Antes de implementar o código, vamos explicar a lógica da sequência:

  1. O usuário verá uma janela para selecionar o arquivo
  2. O usuário poderá escolher o arquivo Excel
  • Se um arquivo Excel for escolhido, seu endereço será designado a uma variável
  1. O endereço armazenado naquela variável será utilizado para abrir o Excel no plano de fundo e carregar todas as linhas na tabela do Access

Implementando a caixa de diálogo

Para utilizar a caixa de diálogo, devemos fornecer uma referência à Biblioteca de Objetos do Microsoft Office XX (dependerá da versão do Office que está instalada). Para fazer isto, acesse Ferramentas -> Referências no editor VBA.

Vá para baixo utilizando a barra de rolagem e escolha a biblioteca de objetos do Office instalado.

Agora, todos os objetos e métodos fornecidos por ele estarão disponíveis.

Vamos adicionar o código do selecionador de arquivos…

No editor VBA, dentro do evento cmdImportExcel_Click() coloque o seguinte código. O código é altamente recomendado, para que o leitor entenda o que cada linha está fazendo.

Private Sub cmdImportExcel_Click()

On Error GoTo cmdImportExcel_Click_err:

Dim fdObj As Office.FileDialog ‘declara a variável fdObj

Dim varfile As Variant ‘variável de tipo variante que armazenará o endereço do arquivo selecionado

Set fdObj = Application.FileDialog(msoFileDialogFilePicker) ‘instancia a variable criando um objeto filepicker utilizando o método late binding

 

With fdObj ‘utilizando a declaração “with”, estaremos trabalhando com o fdObj como padrão

‘não permite selecionar mais que um arquivo

.allowmultiselect = False

‘Limpa os filtros existentes no arquivo

.Filters.Clear

‘este arquivo irá apenas permitir a seleção de arquivos xlsx

.Filters.Add “Excel 2007+”, “*.xlsx”

 

‘opcional, configurar o título do arquivo

.Title = “Por favor selecione o arquivo do Excel a ser importado…”

.Show

 

If .SelectedItems.Count = 1 Then ‘um arquivo foi selecionado

Call MsgBox(“O arquivo selecionado foi: ” & .SelectedItems(1)) ‘por enquanto testaremos a escolha de arquivos ao enviar o endereço do arquivo para uma caixa de mensagem que aparecerá na tela

Else ‘nenhum arquivo foi selecionado

Call MsgBox(“Nenhum arquivo foi selecionado.”)

End If

End With

 

Exit Sub

 

cmdImportExcel_Click_err:

Select Case Err.Number

Case Else

Call MsgBox(Err.Number & ” – ” & Err.Description, vbCritical + vbOKOnly, “System Error …”)

End Select

End Sub

Agora vamos testar o código e ver como funciona. Primeiro, vamos visualizar o formulário ao clicar na Visualização de Formulário, como na imagem abaixo

Então o formulário será apresentado

O leitor agora deve pressionar no botão Importar Excel e uma caixa de seleção de arquivos será apresentada

A seguir, por favor, selecione o arquivo que você baixou, clique no botão abrir, e o resultado deve ser parecido ao da imagem abaixo, mostrando o endereço do arquivo.

Se este for o resultado, tudo está funcionando como esperado e o componente de escolha de arquivos já está funcionando. A seguir, veremos como incluir o modelo de objetos do Excel na solução do Microsoft Access. O leitor terá que incluir a referência correta ao objeto de modelos do Excel. Novamente, acesse Ferramentas -> Refereências no editor VBA.

E marque a Caixa referência à aplicação do Excel

De agora em diante, todos os métodos de objetos e propriedades do Excel estarão disponíveis uma vez que uma variável do Excel for criada dentro do código VBA no Microsoft Access. Esta técnica é chamada early binding, em que se sabe os tipos de dados com antecedência, mas não é obrigatório verificar estas referências. Se estas referências não forem configuradas, a ténica de late binding pode ser utilizada, mas o desenvolvimento será mais difícil, já que o editor de códigos não mostrará as propriedades e métodos, e você precisará fazer uma leitura dos documentos. Uma abordagem comum é utilizar a referência enquanto desenvolve e removê-la ao terminar, e então as constantes desconhecidas podem ser substituídas pelos seus valores inteiros correspondentes. Não entraremos em detalhes aqui, mas é importante estar ciente de que estas referências não são obrigatórias, mas facilitam sua vida.

Uma vez que a referência para o Excel for criada, podemos declarar os tipos de variáveis definidos aqui. Precisaremos declarer três variáveis

  1. xlApp – será uma referência a uma aplicação Excel escondida
  2. xlWb – será uma referência ao workbook aberto como resultado da abertura do arquivo para ser importado
  • xlWs – será uma referência à planilha com os dados a serem importados

Os passos envolvidos no processo de carregamento podem ser descritos como a seguir

  1. Delete os dados existentes na tabela de destino
  2. Faça um loop por todas as linhas do Excel, executando uma declaração de inserir por linha até chegar na última linha
  • O processo de loop irá parar quando ele não encontrar mais dados na coluna A

O código requerido para o processo é o seguinte. Adicionaremos comentários em todas as linhas, por favor, verifique-os abaixo em verde

Private Sub cmdImportExcel_Click()

On Error GoTo cmdImportExcel_Click_err:

 

Dim fdObj As Office.FileDialog ‘declara a variável fdObj

Dim varfile As Variant ‘variável de tipo variante que irá armazenas o caminho selecionado do arquivo

 

Set fdObj = Application.FileDialog(msoFileDialogFilePicker) ‘instancia a variável criando um objeto filepicker utilizando o método early binding

 

With fdObj ‘utilizando a declaração “with” estaremos trabalhando com o fdObj como padrão

‘não permite selecionar mais de um arquivo

.allowmultiselect = False

‘limpa os filtros existentes no arquivo

.Filters.Clear

‘esta caixa de diálogo só permitirá a seleção de arquivos Excel, e isto pode ser feito ao lidar com a coleção de Filtros

.Filters.Add “Excel 2003”, “*.xls”

.Filters.Add “Excel 2007+”, “*.xlsx”

 

‘opcional para configurar o título da caixa de diálogo

.Title = “Por favor selecione o arquivo Excel para importar …”

.Show

 

If .SelectedItems.Count = 1 Then ‘um arquivo foi selecionado para que os dados possam ser importado do Excel, a partir deste ponto o processo de loop para importação será executado

‘declaração das variáveis

Dim xlApp As Excel.Application ‘a aplicação Excel

Dim xlWb As Excel.Workbook ‘a referência do workbook do Excel que levará ao workbook aberto

Dim xlWs As Excel.Worksheet ‘a planilha do excel com os dados

Dim intLine As Long ‘o contador de linhas

Dim strSqlDml As String ‘série de variáveis que armazena as declarações SQL executadas

Dim strColumnBcleaned As String ‘série de variáveis que armazena valores da coluna B após substituir aspas únicas por quatro aspas únidas

‘lembre-se que as aspas são as delimitadoras de série no SQL, então ela precisa ser inserida

Dim strColumnGcleaned As String ‘série de variáveis que armazena valores da coluna G que foi limpa, o passo limpo substitui vírgulas por pontos

‘o separador decimal no SQL é o ponto

varfile = .SelectedItems(1) ‘selecione o caminho do arquivo selecionado

limpe a tabela existente

CurrentDb.Execute “DELETE * FROM tblExcelImport”, dbFailOnError

 

‘instancie a aplicação Excel, criando a aplicação Excel na memória, então ela estará visível para que o usuário possa ver o loop operando pelas linhas do Excel. Mas geralmente, este processo é escondido, sendo visível apenas se for necessário

Set xlApp = New Excel.Application

xlApp.Visible = True

‘ao abrir o arquivo escolhido ao utilizar o método de abertura pela coleção de workbooks do Excel, ele recebe a localização do arquivo como um parâmetro e devolve uma referência para o arquivo aberto

Set xlWb = xlApp.Workbooks.Open(varfile)

‘configurar a planilha como a primeira entre as disponíveis, já que ela é a que tem os dados a serem importados

Set xlWs = xlWb.Worksheets(1)

‘valor/linha inicial padrão do Contador, o que significa que começamos a operação na linha um intLine = 1

Do

‘nas próximas duas linhas, substitua as aspas únicas no valor da coluna b e as vírgulas por pontos como separadores decimais na coluna G

strColumnBcleaned = Replace(xlWs.Cells(intLine, 2).Value2, “‘”, “”””)

strColumnGcleaned = Replace(xlWs.Cells(intLine, 7).Value2, “‘”, “”””)

‘a próxima linha cria uma declaração SQL inserir utilizando as variáveis obtidas anteriormente e o valor para a coluna A

A declaração inserir deve ter a sequência presente na tabela de destino e é obtida ao concatenar valores para cada linha apresentada no arquivo Excel enquanto itera

strSqlDml = “INSERT INTO tblExcelImport VALUES(” & xlWs.Cells(intLine, 1).Value2 & “, ‘” & strColumnBcleaned & “‘, ” & strColumnGcleaned & “)”

‘executa a declaração inserir na base de dados, o dbFailOnError é um valor opcional que fará o processo de Execução mostrar um erro se o SQL não for executado corretamente

CurrentDb.Execute strSqlDml, dbFailOnError

‘a próxima linha apenas coloca a célula selecionada no Excel na posição da linha, e isto não é obrigatório e até mesmo deixará o processo mais lento, só foi colocado aqui para que o leitor possa ver o processo sendo executado

xlWs.Cells(intLine, 1).Select

intLine = intLine + 1

Loop Until IsEmpty(xlWs.Cells(intLine, 1)) ‘critério de parade, quando os valores na coluna A pararem, o loop irá parar. Por favor, note na coleção das células que o primeiro índice é a linha e o Segundo é a coluna, então estamos mudando de linhas. Uma vez que o loop parar, feche o workbook aberto, sais do Excel e limpe as referências para os objetos criados

xlWb.Close False

xlApp.Quit

Set xlApp = Nothing

Set xlWb = Nothing

Set xlWs = Nothing

‘o próximo passo abre a tabela carregada para que o usuário possa ver os dados importados

DoCmd.OpenTable “tblExcelImport”, acViewNormal, acEdit

‘este parte só acontece se nenhum arquivo foi selecionado

Else ‘nenhum arquivo foi selecionado

Call MsgBox(“Nenhum arquivo foi selecionado.”)

End If

End With

 

Exit Sub

 

cmdImportExcel_Click_err:

Select Case Err.Number

Case Else

Call MsgBox(Err.Number & ” – ” & Err.Description, vbCritical + vbOKOnly, “System Error …”)

End Select

End Sub

Como mencionado anteriormente, esta não é a única abordagem para importar dados do Excel. É possível criar tabelas conectadas e importar os dados no Microsoft Access. O leitor também deve considerar o método DoCmd.TransferDatabase. As tabelas conectadas podem ser feitas com drivers de conexão, para que possam não só mostrar bases de dados, mas também é possível criar uma tabela ligada a um arquivo de texto.

Alguns exemplos relevantes relacionados à cláusula IN podem ser encontrados aqui

https://msdn.microsoft.com/en-us/library/bb177907(v=office.12).aspx

Para executar uma consulta no Access, obtendo dados de um arquivo Excel, uma solução parecida pode ser utilizada

SELECT CustomerID, CompanyName

FROM [Customers$]

IN “c:\documents\xldata.xls” “EXCEL 5.0;”

WHERE CustomerID Like “A*”

ORDER BY CustomerID;

 

Além disso, quando lidamos com declarações SQL construídas dinamicamente, é muito importante lidar com possíveis valores nulos, substituindo-os por valores padrão ou até mesmo forçando a inserção do valor nulo.

Se um valor pode ser nulo, então a variável precisa ser to tipo Variante, para armazená-lo e então utilizá-lo na declaração de inserir construída.

 

 

The post Importar dados do excel para access VBA appeared first on MyDataCareer.

]]>
https://www.mydatacareer.com/como-importar-dados-do-excel-novbado-access/feed/ 0 827
Como Criar Menu Personalizado No Access https://www.mydatacareer.com/como-criar-menu-personalizado-no-access/ https://www.mydatacareer.com/como-criar-menu-personalizado-no-access/#respond Wed, 03 Jan 2018 17:15:07 +0000 https://mydatacareer.com/?p=816 Como Criar um Menu Customizado no Vba do Access como criar menu personalizado no access Curso Access Online Access – Sistema Financeiro Curso de Access 2016 – Básico e Avançado Curso Microsoft Access 2016 Básico| Para Iniciantes Neste tutorial, mostraremos como criar um menu de acesso personalizado usando o VBA. Se você quiser um curso […]

The post Como Criar Menu Personalizado No Access appeared first on MyDataCareer.

]]>
Como Criar um Menu Customizado no Vba do Access

como criar menu personalizado no access

Curso Access Online

Access – Sistema Financeiro

Curso de Access 2016 – Básico e Avançado

Curso Microsoft Access 2016 Básico| Para Iniciantes

Neste tutorial, mostraremos como criar um menu de acesso personalizado usando o VBA. 
Se você quiser um curso access online, confira nossos links acima deste 
artigo.

Neste artigo, vamos explicar como construir um menu simples utilizando o Microsoft Access e seus formulários. Um menu de navegação apropriado é essencial para qualquer solução de software para desktops. Os usuários finais devem ter um ponto central que eles podem utilizar para se direcionarem para a janela de trabalho desejada. Existem várias abordagens possíveis, utilizando a Faixa de Opções do Microsoft Office, ou se estiver desenvolvendo com o Visual Studio, criando uma solução MDI apropriada. Saber utilizar a programação VBA é essencial. Iremos apresentar uma série de formulários que irão interagir umas com as outras e uma forma de menu principal para ser seu evento de abertura. Iremos passo a passo, mostrando como criar um menu customizado no VBA do Access.

Para criar um menu simples de acesso utilizando o VBA, vamos começar criando três formulários e as seguintes tabelas:

  1. i) frmMainMenu
  2. ii) frmClient

iii) frmSupplier

  1. iv) tblClient
  2. v) tblSupplier

Uma observação: por favor, prestar atenção à padronização dos nomes. Todos utilizam os sufixos frm e tbl. As padronizações dos nomes são importantes quando estiver desenvolvendo qualquer linguagem de programação. Não há um dogma aqui, apenas defina um nome e continue com ele durante todo o desenvolvimento. Se você não tiver imaginação, procure exemplos no Google.

Estes três formulários irão requerer duas tabelas, para que possamos ter controles de formulários condicionados a dados. Estamos assumindo que os leitores já possuem um conhecimento básico de Microsoft Access. As tabelas de exemplo podem ser parecidas com aquelas apresentadas nas imagens seguintes (não são necessários muitos campos para a amostra deste tutorial, então apresentamos apenas alguns mais básicos).

O próximo passo será a criação do formulário. A abordagem mais fácil e rápida é o assistente do Microsoft Access. Então o usuário deve apertar no botão do assistente de criação de formulários, como mostra a figura seguinte.

Depois, o usuário deve selecionar a tabela desejada (nexte exemplo, a tblClient) e pressionar no botão ‘próximo’. Depois, selecione o layout justificado.

Pressione o botão ‘próximo”, mude o prefixo do formulário para frm e selecione finalizar. O formulário de usuário desejado será apresentado com os padrões do Microsoft Access.

O leitor deve repetir os passos anteriores e criar um segundo formulário para gerenciar os dados dos Fornecedores. O layout final do formulário deve ser parecido com o que está sendo mostrado abaixo.

Cada um dos formulários anteriores possui seu próprio botão, para que o usuário possa navegar pela janela do menu de distribuição principal. O objetivo, no fim das contas, é criar um menu customizado de acesso com vba para organizar nossa base de dados.

Vamos adicionar um botão no formulário frmClient: Para este

tutorial acadêmico, qualquer posição funciona, mas se o leitor estiver procurando por layouts de aspecto mais profissional, a posição, dimensão, nomes e layouts são detalhes importantes a serem considerados.

Para adicionar um botão, o leitor deve colocar o formulário no modo de design (clique nele com o botão direito e selecione “design” no menu).

Quando estiver no modo de design, na faixa de opções superior, clique no botão “control” e então clique na posição desejada (neste caso, vamos colocar no cabeçalho do formulário).

Uma vez que o assistente de botões iniciar, clique no botão cancelar. A partir deste ponto, as propriedades serão definidas manualmente. Em relação ao botão criado, por favor, defina suas propriedades como mostrado a seguir. Primeiro, configure o nome do botão para cmdBack.

O layout final deve ficar como a seguir

O leitor pode executar uma sequência parecida para o formulário de Fornecedores. Os passos são: coloque o formulário no modo de design, selecione o botão “control”, clique no cabeçalho do formulário para posicioná-lo, cancele o assistente e configure manualmente as propriedades de Nome e Legenda. Depois, os eventos de clique dos botões serão ajustados apropriadamente.

O formulário do Fornecedor deve ficar assim

Agora, vamos criar o menu de início. Para criar um novo formulário em branco, vá em “criar menu” e selecione “formulário em branco”.

A seguir, coloque o formulário no modo de design e adicione três botões, Clientes, Fornecedores e Sair.

Ao adicionar cada botão, cancele o assistente de botões e configure manualmente os nomes e legendas dos botões. Você deve ter um botão chamado cmdClient com a legenda Clientes, um botão chamado cmdSupplier com a legenda Fornecedores e um botão chamado cmdExit com a legenda Sair.

Clique no botão de salvar e nomeie o formulário como frmMenu.

Nos próximos passos, estaremos lidando com os eventos necessários para os botões e formulários que criamos. Vamos começar pelo formulário frmMenu. A lógica será: quando o usuário clicar no botão Clientes, o formulário frmMenu será escondido e a janela dos clientes será mostrada. Uma lógica parecida será aplicada à janela dos Fornecedores. Isto significa que não será possível visualizar duas janelas ao mesmo tempo. Para navegar entre os Fornecedores e Clientes, o usuário terá que passar pela janela principal.

Vamos definir o evento de clique para o botão dos Clientes. O leitor deve pressionar os três pontos na área de eventos e acessar o editor Visual Basic após selecionar o edito de código na janela de comando.

Para o evento de clique relacionado ao botão cmdClient, o seguinte código VBA deve ser inserido.

Private Sub cmdClient_Click()

On Error GoTo cmdClient_Click_err: ‘Identificação de Erro

Me.Visible = False‘Esconde o formulário do menu ao configurar a propriedade visível para falsa

DoCmd.OpenForm “frmClient”‘Abre o formulário associado ao botão clicado

Exit Sub

cmdClient_Click_err: ‘Código de erro, caso um erro aconteça, se não, a sequência terminará no Exit Sub

Select Case Err.Number

Case Else‘Erro genérico que onde é mostrado o número do erro e uma mensagem

MsgBox Err.Number & ” – ” & Err.Description, vbCritical + vbOKOnly, “System Error …”

End Select

End Sub

O código do leitor deve ser parecido com este.

Preste atenção ao código de erro apresentado. Este tutorial não entrará em detalhes sobre eles, mas lidar com os erros de forma correta é algo que todo programador deve fazer. Isto se aplica a qualquer linguagem de programação. A sequência do código é simplesmente: esconder o formulário do menu e abrir o formulário de Clientes.

Para mostrar o formulário do menu novamente, o usuário deve pressionar no botão “voltar” no formulário dos clientes. Vamos criar o evento para o botão de “voltar” dos Clientes. Outra opção para construir o evento de clique padrão é clicar com o botão direito no controle e selecionar “construir opção de evento” no menu. Por favor, veja a imagem abaixo.

Após selecionar a opção apontada, insira o seguinte código no evento de clique no botão voltar

Private Sub cmdBack_Click()

On Error GoTo cmdBack_Click_err:

DoCmd.Close //Close Method

Form_frmMenu.Visible = True

Exit Sub

cmdBack_Click_err:

Select Case Err.Number

Case Else

MsgBox Err.Number & ” – ” & Err.Description, vbCritical + vbOKOnly, “System Error …”

End Select

End Sub

O código final deve ficar parecido com este.

Este evento de clique fechará a janela dos Clientes e mostrará o formulário de Menu novamente.

Então agora temos o código VBA que abre a janela dos Clientes na janela do Menu e criamos o código VBA que fecha a janela dos Clientes e abre a janela do menu novamente. A mesma lógica deve ser aplicada ao botão dos Fornecedores na janela do menu, e para o botão de voltar na janela dos Fornecedores. O código para o botão dos Fornecedores na janela do menu é

Private Sub cmdSupplier_Click()

On Error GoTo cmdSupplier_Click_err:

Me.Visible = False

DoCmd.OpenForm “frmSupplier”

Exit Sub

cmdSupplier_Click_err:

Select Case Err.Number

Case Else

MsgBox Err.Number & ” – ” & Err.Description, vbCritical + vbOKOnly, “System Error …”

End Select

End Sub

O código para o botão de voltar no formulário dos Fornecedores é

Private Sub cmdBack_Click()

On Error GoTo cmdBack_Click_err:

DoCmd.Close

Form_frmMenu.Visible = True

Exit Sub

cmdBack_Click_err:

Select Case Err.Number

Case Else

MsgBox Err.Number & ” – ” & Err.Description, vbCritical + vbOKOnly, “System Error …”

End Select

End Sub

O código é quase o mesmo, a única mudança é o nome do formulário e do método.

A lógica é exatamente a mesma, e pode ser facilmente utilizada em mais formulários.

Para testar o fluxo da janela, o leitor deve fechar todos os formulários e abrir o formulário do menu.

Clicar no botão Clientes fechará o formulário do menu e mostrará a janela dos Clientes.

 

Pressionar o botão voltar fechará a janela dos Clientes e levará o usuário à janela do menu principal novamente.

Ao clicar no botão dos Fornecedores, isto funcionará de maneira parecida, mas abrirá a janela dos Fornecedores.

 

 

Para finalizer a lógica de navegação, vamos configurar o botão Sair do menu principal. Este botão permitirá que o usuário saia da base de dados do Access, questionando o usuário se ele realmente quer sair.

Para implementar este evento, clique com o botão direito no botão Sair localizado no frmMainMenu e selecione a opção de construção de evento -> construtor de código para acessar o editor de VBA. Você deve ver o seguinte evento.

 

O código VBA para produzir o resultado desejado é o seguinte.

Private Sub cmdExit_Click()

On Error GoTo cmdExit_Click_err:

If MsgBox(“Do you really want to quit the application?”, vbYesNo + vbQuestion, “System question …”) = vbYes Then

DoCmd.Quit

End If

Exit Sub

cmdExit_Click_err:

Select Case Err.Number

Case Else

MsgBox Err.Number & ” – ” & Err.Description, vbCritical + vbOKOnly, “System Error …”

End Select

End Sub

O código apresentado acima perguntará ao usuário se a aplicação deve mesmo ser encerrada. A amostra utiliza o método nativo MsgBox do VBA, que permite uma grande combinação de configurações e layouts, dependendo dos parâmetros.

Uma vez que o formulário do menu principal não tem controles em nenhuma das tabelas, não faz sentido ter o selecionador de registros ativo. Para desativá-lo, apenas coloque o formulário do Menu no modo de design e mude a propriedade Selecionador de Registros para Não. Assim, a seta esquerda no formulário do menu não aparecerá.

 

Por último, o formulário do menu deve abrir quando a base de dados Access for executada. Para definir o formulário de início, por favor, vá à aba de arquivos

Então clique em Opções

Na Base de Dados atual, selecione como Mostrar Formulário no formulário frmMenu e ele iniciará quando a aplicação for aberta.

Esperamos que este tutorial ajude os leitores a entenderem o Microsoft Access, já que esta é apenas uma pequena amostra do que ele pode fazer. Nós criamos um menu customizado no VBA do access! O Microsoft Access pode produzir soluções de software com aparência realmente profissional.

The post Como Criar Menu Personalizado No Access appeared first on MyDataCareer.

]]>
https://www.mydatacareer.com/como-criar-menu-personalizado-no-access/feed/ 0 816