Acesse também o meu blog: http://evmachado.zip.net/

#Função para Verificar Campos Vazios Personalizada

Espero que gostem. Em vez de utilizar funções que apenas digam que existem campos vazios, por que não indicar quais seriam esses campos? Por exemplo, "AVISO: o campo Telefone está vazio !!!". Logicamente, você deverá sinalizar  somente os campos obrigatórios para preenchimento.

Veja a função na íntegra:

Public Function VerificarCampos()

'#Código de Eduardo Machado (Good Guy) - 2015
On Error Resume Next
Dim strMsg As String
Dim intRetVal As Integer
Dim ctl As control
Dim sCampoX As Variant


strMsg = "Verificar dados?"
intRetVal = MsgBox(strMsg, vbQuestion + vbYesNo, "Impressão de Relatório")
Select Case intRetVal
Case Is = vbYes

Const conVinculado = -1      'Colocar -1 na propriedade Marca da aba Outra de cada campo do formulário que deseja verificar

For Each ctl In Me.Controls
    If ctl.Tag = conVinculado Then
        Select Case ctl.ControlType
        Case acTextBox, acComboBox
        If ctl.Value = "" Or ctl.Value = Null Then
            
        sCampoX = ctl.Name
      
        MsgBox "O campo " & sCampoX & " está vazio. Verifique !!!", vbInformation, "Checa Campos"  'Ou, com vbCritical
        End If
        End Select
    End If
Next ctl
Case Is = vbNo
DoCmd.RunCommand acCmdSaveRecord
MsgBox "OK", vbExclamation, "Fim da Verificação"
End Select

End Function



#Trabalhando com Caixas de Listagem (Copiando duas colunas de uma ListBox para outra ListBox com duas colunas)

Código para copiar dados de uma caixa de listagem com uma ou mais colunas para outra com uma ou mais colunas

Public Function AdicionarItem()
'Código de Eduardo Machado (Good Guy) - Ano 2016
'Livre para ser usado desde que se respeite a sua autoria. Obrigado !!!

On Error Resume Next
Dim frm As Form, ctl As Control
Dim varItm As Variant
Dim sLista1, sLista2 As Variant

      Set frm = Forms!frmTransfListas
      Set ctl = frm!Lista1
  
  
     For Each varItm In ctl.ItemsSelected
        sLista1 = ctl.Column(0, varItm) '0 é a primeira coluna onde está o campo NomedaTabela na listbox (0,1,2,3)
        sLista2 = ctl.Column(1, varItm) '1 é a segunda coluna onde está o campo NomedaTabela na listbox (0,1,2,3)
    
        Lista2.ColumnCount = 1

        Lista2.AddItem Item:=sLista1
        Lista2.AddItem Item:=sLista2
        Lista2.ColumnCount = 2
     Next varItm
    
       Me.Lista2.ColumnCount = 2
       Lista2.RemoveItem Index:=sLista1 'Remove o item selecionado
      
  
    
End Function
CaixadeListagem












CaixadeListagem2













Arquivos para estudo:

Contador de Caracteres (Good Guy) - Crie um campo Memo com contador de caracteres em uma caixa de texto

Estudo de Funções (Good Guy) - Faça um estudo de diversas funções utilizadas em Access VBA

Gerador de Consultas SQL (Em parceria com Roger Carlson que desenvolveu o aplicativo . Fiz algumas alterações e também incluí 13(treze) consultas-aulas de SQL que criei para treinar futuros programadores. Ao clicar mantenha pressionada a tecla SHIFT.)

Constantes e Enumeradores (Good Guy) - Aprenda a diferença entre constantes e enumeradores no Access VBA.

Total: 7

#
Boas dicas de programação para programadores em Access VBA:

NÃO SE ESQUEÇA QUE PROGRAMAR É ENCONTRAR O CAMINHO MAIS CURTO PARA UMA SOLUÇÃO

1 Crie o formulário principal e outros formulários secundários. O primeiro deve ficar visível e os outros invisíveis cumprindo uma função específica de trabalhar um código com cálculo cujo resultado em caixa de texto(txtCampoX), será informado no formulário principal através de uma caixa de texto.

Coloque este código no evento Form_Open de cada formulário secundário:

DoCmd.OpenForm "formsecundario", , , , , acHidden

No formulário principal a caixa de texto com a informação do resultado do cálculo, ficará assim na fonte de controle:

= Forms!formsecundario!txtCampoX

2 Trabalhe com variáveis a maior parte do tempo, principalmente com variáveis que se referem a um campo de código. Isso se aplica principalmente com funções de domínio agregado ou de agregação SQL. Exemplo: DLookup, DMin, DMax, etc.

Você pode usar a função DLookup (na IDE do Access ficará assim mesmo) para especificar critérios na linha critérios de uma consulta(na consulta ficará como DPesquisa), dentro de uma expressão de campo calculado em uma consulta ou na linha Atualizar para um atualizar consulta.

Possível:
=DLookup("[ProductName]", "Products", "[ProductID] =" & Forms![Order Details]!ProductID)

Melhor:
Dim sID As Long
sID = Forms![Order Details]!ProductID

txtCampoX =DLookup("[ProductName]", "Products", "[ProductID] =" & sID)

3 Elimine a possibilidade de surgirem uma mensagem de erro na depuração de seu código e tornar seu código vulnerável a modificações indesejadas com:

On Error Resume Next (No início do código) <=== 
Dim sID As Long
sID = Forms![Order Details]!ProductID

txtCampoX =DLookup("[ProductName]", "Products", "[ProductID] =" & sID)

E a função Nz para possibilitar trabalhar o código mesmo com campos nulos e evitar a abertura do código para
modificações indesejadas.

txtCampoX =Nz(DLookup("[ProductName]", "Products", "[ProductID] =" & sID))

FIM

Se você gostou de nosso site e de nossos produtos e deseja nos incentivar a continuar o nosso trabalho, clique em nossos anúncios como este abaixo, mesmo que não realize nenhuma compra. Obrigado !!!




Cursos 24 Horas

Cursos Online na Área de Informática

Cursos Online 24 Horas - Certificado Entregue em Casa 
Mais Dicas VBA:

Aprenda a trabalhar com loopings For... Next (Good Guy)
Aprenda a trabalhar com looping For...Next com o Gerador de Figuras (do Good Guy)
Tabela de cores RGB e VBA (Dilson Marcos)
Usando a Função CBool na Validação de Login (Dilson Marcos)
Popular ListBox Usando Critério em Front-End (Dilson Marcos)
Access e VBA Usando Os Itens do Recordset com Loop (Dilson Marcos)
Exportação da Tabela do Access para Arquivo(.txt) (Dilson Marcos)
Movimento de Caixa (em tree-view) (Harysohn Pina)
Dicas Importantes sobre Manipulação de Imagens (Harysohn Pina)
Constantes e Enumeradores (Good Guy)

Total: 13

Dicas Access VBA Bem Sucedidas em Fórums:

MaximoAccess:

Relacionar tabelas (Good Guy)
Verificando dados de um recordset (Good Guy)
Consulta de dados em controle de estoque (Good Guy)
Alterar Origem de Dados em um Relatório (Good Guy)
Concatenar Valor de ComboBox e de Caixa de Texto (Good Guy)
Consulta e Relatório de Estoque (Good Guy)
Filtros com SQL (Good Guy)
Devolve Todos os Registros com o Número 2 (Good Guy)
Ajuda para Recursos de Minha Planilha (Good Guy)
Inserir Dado Em Campo Utilizando Dados de Tabela (Good Guy)
Guardar Valores de Uma Combox Em Uma Tabela (Good Guy)
Avisar Se Não Cadastrado (Good Guy)
Sorteio Aleatorio de Registros Dependendo do Tipo (Good Guy e João Paulo)
Efetuar Uma Consulta E Exibir Em Caixa de Texto (Good Guy e Noob)
Verificar Se Há Dados com A Data Atual (Good Guy)
Erro Ao Calcular Saldo (Good Guy)
Erro Em Tempo de Execução 13 (Good Guy)
Erro 91: Problemas com o With (Good Guy)
Consulta e Relatório de Estoque (Good Guy)
Filtrar Essa List (Good Guy)
Preenchimento Em Japonês (Good Guy)
Como Colocar MsgBox Nesse Código (Good Guy)
Atualizar Formulário (Good Guy)
Mensagem Else Sem If ??? (Good Guy)
Concatenar Valor de ComboBox e Caixa de Texto (Good Guy)
Verificar se CPF Existe (Good Guy)
Alterar Origem de Dados Em Um Relatório (Good Guy)
Calculo Parcial em Competição de Pesca (Good Guy)
Somatório de Dados em ListBox (Good Guy)
Duvidas com Consultas Union (Good Guy)
Capturar Última Linha Gravada Através de Parâmetro (Good Guy)
Auto-Numeração Buscando Mais Duas Caixas de Texto (Good Guy)
Tipos Incompatíveis (Good Guy)
Função IIf Com Mais de Um Critério (Good Guy)
Relatório com Select e Sum (Good Guy)
Mala Direta Word X Access (ODBC) (Good Guy)
Verificar Se Banco Está Aberto na Hora de Gravar (Good Guy e Macoratti)
Registro Duplicado (Good Guy)
Dlookup com Campo Nulo (Good Guy) 
Mostrar Todos Os Items Relacionados (Good Guy)
Status de Vencimento (Good Guy)
Formulário com Filtro Entre Datas (Good Guy e Noobezinho)
Consulta Duas Tabelas(Entrada e Saída de Produtos) (Good Guy e Celso Roberto)
Relatório com Colunas na Mesma Linha (Good Guy)
Capturar Valor de Parâmetro de Consulta no Form (Good Guy, Leandro e AHTeixeira) 
Limitar Lançamentos
  (Good Guy)
Preencher campo automático relacionado (Good Guy)
SQL em Consulta Tem Limite?  (Good Guy)

Total: 52

ItLab:

Como Relacionar Um Formulário com Um Relatório (Good Guy)
Aplicativo em Rede (Good Guy e Ronaldo Ramires)

Total: 2




 visitantes.


PageRank  



 
 
O Temor do Senhor É o Princípio do Conhecimento !!! (Prov. 1.7)
  Site Map