GD Access    GD Access    Grupo de Discussão  Ir para Categorias  Grupos técnicos  Ir para Fóruns  Access    Como atualizar combo!!
Go
Novo
Procurar
Notificar
Ferramentas
Responder
  
-star Rating Vote!  Login/Cadastrar 
Programador Sênior

Figura de  VôVô
postado
Alguem poderia me ajudar na seguinte situacao:

tenho um formulario que possui uma combo com dados, porem algumas vezes o usuario precisa incluir outros dados e assim ficara gravado para sempre, dai fiz um pequeno formulario que fica a frente do formulario principal.

Ocorre que ao digitar neste pequeno formulario e voltar ao principal o combo nao atualiza aquilo que digitei no pequeno formulario, tem como atualizar este combo !! alguem saberia como.
para que atualize preciso fechar o principal e reabrir ele, ai sim ele atualiza...

Agradeco pela ajuda

Lourival


""" O que Voce fará hoje, poderá mudar o seu amanha, por isso pense bem !!! """"
 
Postagens: 329 | Localização: São José dos Pinhais PR | Registrado: 16 June 2005Reply With QuoteEditar ou Apagar MensagemReport This Post
Gerente

Figura de  OsmarJr
postado Hide Post
Como faço:

No form principal.
1) Na combo
a) Aba Dados -> Limitar a uma Lista -> Sim
b) Aba Evento -> Se não estiver na lista -> Procedimento de evento
c) Código do evento Not in List:
Private Sub CidadeCliente_NotInList(NewData As String, Response As Integer)
On Error GoTo CidadeCliente_NotInList_Err

    DoCmd.SetWarnings False ' Desativa avisos do Access
    If MsgBox("A cidade " & UCase(NewData) & " não existe. Cadastra?", vbQuestion + vbYesNo, "Cidades...") = vbNo Then
        Response = acDataErrContinue ' Volta ao controle 
        GoTo CidadeCliente_NotInList_End
    End If
    DoCmd.OpenForm "frmManutençãoDeCidades", acNormal, , , acFormAdd, acDialog, UCase(NewData) ' Abre o form para incluir
    Response = acDataErrAdded ' <<= Faz a inclusão na combo e atualiza

CidadeCliente_NotInList_End:
    DoCmd.SetWarnings True ' Ativa os avisos do Access
    Me!CidadeCliente.SetFocus ' Volta o foco
    Exit Sub

CidadeCliente_NotInList_Err:
    MsgErro Err.Number, vbExclamation + vbOKOnly, "CidadeCliente_NotInList", "Ocorreu um erro ao incluir a cidade..."
    Resume CidadeCliente_NotInList_End
End Sub


No form de cadastramento
1) Como posso chamar esse form isoladamente, testo o conteúdo de OpenArgs, se tiver alguma coisa, passo para o controle:
Private Sub Form_Load()
    If Not IsNull(Me.OpenArgs) Then Me!NomeCidade.Value = Me.OpenArgs
End Sub


2) Entro com os dados no formulário chamado.
3) Como estou incluindo a pedido de outro form, ao atualizar o formulário, passo as informações necessárias e fecho esse form:
Private Sub Form_AfterUpdate()
Dim Teste As Boolean
    If EstáCarregado("frmManutençãoDeClientes") Then
        Forms!frmManutençãoDeClientes.SetFocus
        Forms!frmManutençãoDeClientes!CidadeCliente = Me!IdCidade
        DoCmd.Close acForm, Me.Name, acSaveNo
        Exit Sub
    End If
End Sub


O importante de tudo isso é o acDataErrAdded e o acDataErrContinue.


========================================================
A culpa é minha e eu ponho ela em quem eu quiser! (Homer J Simpson)
 
Postagens: 3166 | Localização: Curitiba - PR | Registrado: 08 March 2001Reply With QuoteEditar ou Apagar MensagemReport This Post
Programador Sênior

Figura de  VôVô
postado Hide Post
obrigado osmar, vou tentar e depois volto e cofirmo, obrigado

vejo que gosta de Beer, veja como gelar a cerveja em apenas 03 minutos...

-Coloque toda cerveja a ser gelada no recipiente.
-Adicione um saco de gelo pequeno (aqueles industrializados)
-Adicione 250g de sal de cozinha(1/4 do saquinho de 1kg)
-Adicione 1 litro de álcool em liquido.
-De uma leve misturada e aguarde os 3 minutos


""" O que Voce fará hoje, poderá mudar o seu amanha, por isso pense bem !!! """"
 
Postagens: 329 | Localização: São José dos Pinhais PR | Registrado: 16 June 2005Reply With QuoteEditar ou Apagar MensagemReport This Post
Programador Sênior

Figura de  VôVô
postado Hide Post
Ja testei, mas deu um problema...

No formulario principal (aliais, um subformulario) eu coloquei o codigo no subformulario na combo CARTEIRA o codigo abaixo,

Private Sub Carteira_NotInList(NewData As String, Response As Integer)
On Error GoTo carteira_NotInList_Err

DoCmd.SetWarnings False ' Desativa avisos do Access
If msgbox("A Carteira " & UCase(NewData) & " não existe. Cadastra?", vbQuestion + vbYesNo, "Carteira...") = vbNo Then
Response = acDataErrContinue ' Volta ao controle
GoTo CARTEIRA_NotInList_End
End If
DoCmd.OpenForm "Carteiras", acNormal, , , acFormAdd, acDialog, UCase(NewData) ' Abre o form para incluir
Response = acDataErrAdded ' <<= Faz a inclusão na combo e atualiza

CARTEIRA_NotInList_End:
DoCmd.SetWarnings True ' Ativa os avisos do Access
Me!CARTEIRA.SetFocus ' Volta o foco
Exit Sub

carteira_NotInList_Err:
MsgErro Err.Number, vbExclamation + vbOKOnly, "Carteira_NotInList", "Ocorreu um erro ao incluir a cidade..."
Resume CARTEIRA_NotInList_End
End Sub

porem ao colocar uma carteira que nao esta na lista ele da um erro no:

MsgErro Err.Number, vbExclamation + vbOKOnly, "Carteira_NotInList", "Ocorreu um erro ao incluir a cidade..."
Resume CARTEIRA_NotInList_End

aparece uma mensagem:

erro de compilacao
'sub' ou ' function' nao definida

poderia me ajudar, ainda!!!

Lourival

PS. o nome do combo é o mesmo nome da origem, tem alguma coisa a ver!!!


""" O que Voce fará hoje, poderá mudar o seu amanha, por isso pense bem !!! """"
 
Postagens: 329 | Localização: São José dos Pinhais PR | Registrado: 16 June 2005Reply With QuoteEditar ou Apagar MensagemReport This Post
Gerente

Figura de  OsmarJr
postado Hide Post
O problema está na MsgErro, que é uma função que uso para gerar um log de erros. Mude para

MsgBox Err.Description, vbExclamation+vbOkOnly, "Erro: " & CStr(Err.Number)


que deve funcionar.


========================================================
A culpa é minha e eu ponho ela em quem eu quiser! (Homer J Simpson)
 
Postagens: 3166 | Localização: Curitiba - PR | Registrado: 08 March 2001Reply With QuoteEditar ou Apagar MensagemReport This Post
Programador Sênior

Figura de  VôVô
postado Hide Post
quote:
MsgBox Err.Description, vbExclamation+vbOkOnly, "Erro: " & CStr(Err.Number)



Funcionou beleza, agradeco pela ajuda e pela lembrança em refazer o codigo para mim.

valeu

Lourival


""" O que Voce fará hoje, poderá mudar o seu amanha, por isso pense bem !!! """"
 
Postagens: 329 | Localização: São José dos Pinhais PR | Registrado: 16 June 2005Reply With QuoteEditar ou Apagar MensagemReport This Post
 Tópico Anterior | Próximo Tópico Powered by Eve For Enterprise  
 

GD Access    GD Access    Grupo de Discussão  Ir para Categorias  Grupos técnicos  Ir para Fóruns  Access    Como atualizar combo!!

©