sábado, 21 de outubro de 2017
assinantes
   Assinatura Ativo Access


Não Assinantes
ConteÚdo
DOWNLOADS
Interação
dicas aleatórias
Dica #35
Critérios
Publicado: 11/12/2004

Dicas

FORMULÁRIOS SINCRONIZADOS
Autor:  Ananias L R Duarte (ananiasd@correios.com.br)
Publicado:  24/08/2004
Visitas: 7262
 
FORMULÁRIOS SINCRONIZADOS


Existem situações em que é conveniente ou necessário que uma determinada informação aponta para outras que a complementa. Casos típicos são as relações: fornecedores < > produtos; clientes < > pedidos; pedidos < > itens e clientes < > faturas.

Geralmente a estrutura mais cômoda é a criação de formulário-subformulário, na qual os dados gerais do cliente, por exemplo, são mostrados no form-principal e as faturas vencidas, vincendas ou pagas, são mostradas no subform.

Como desvantagens, se é que assim poderíamos dizer, dessa estrutura cita o fato de que o form fica "pesado" e, às vezes, o layout não fica tão bonito quanto gostaríamos.

Alternativamente, podemos sincronizar os forms ao invés de juntá-los. Para tanto, vamos utilizar o VBA para estruturar um código que nos permita fazer isso. Cabe ressaltar que o código que iremos apresentar é um dos inúmeros que podemos criar para mandar o computador fazer o que queremos que ele faça. Veja:

No Procedimento de Evento No Atual do frmClientes, desenvolva o seguinte código:

Private Sub frmClientes_Current()
If EstáCarregado("frmClientes_Faturas") Then
Forms![ frmClientes_Faturas].Filter = "id_Cliente = " & Me.idCliente
Forms![ frmClientes_Faturas].FilterOn = True
End If
End Sub

É certo que no Frm_Clientes haverá um botão para abrir o Frm_Clientes_Faturas, cujo código deverá ser semelhante a isto:

Private Sub btn_Faturas_Click()
Dim stDocName As String
Dim stLinkCriteria As String
stDocName = "frmClientes_Faturas"
stLinkCriteria = "[id_Cliente]=" & Me![idCliente]
DoCmd.OpenForm stDocName, , , stLinkCriteria
End Sub

Com esses códigos teremos os forms funcionando da seguinte maneira:

ao clicar no botão Faturas, existente no frmClientes, será aberto o frmClientes_Faturas contendo apenas as faturas do cliente apresentado no frmClientes;
sempre que mudar o cliente no frmClientes, invariavelmente, a relação das faturas, frmClientes_Faturas, também mudarão e deverão ser aquelas pertencentes ao cliente corrente.

*******Fim******

  « Voltar

 

Assine AtivoAccess
     CD Ativo Access = R$ 44,70

 

   Copyright © Ativo Access 2003 - 2017- Todos os direitos reservados   Política de Privacidade | Fale conosco