MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração


Participe do fórum, é rápido e fácil

MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração

MaximoAccess

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access


    [Resolvido]Busca e depois Excuir

    avatar
    flecha
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 304
    Registrado : 11/01/2012

    [Resolvido]Busca  e depois Excuir Empty Busca e depois Excuir

    Mensagem  flecha 22/10/2012, 14:39

    Olá,

    Tenho uma rotina de Pesquisa retirada em outro forum a qual coloquei no meu Form.

    A pesquisa funciona normal, só que se eu resolver excluir o que pesquisei, a exclusão acontece, mas abre o form logo após sem campo nenhum e sem os controles, como posso contornar essa situação, Poderia abrir o form normalmente após exclusão com todos registros e no Primeiro registro.

    tentei um requery mas não deu certo pois parece que esta filtrado em um unico registro.

    A Rotina de Pesquisa é essa e no form tem um Botão para excluir.

    Private Sub CmdPesquisa_Click()
    '**************************************************************
    'Elaborado por: José Martins
    'Site: www.accessexemplos.com
    'Data: 22-09-2011
    'NOTA: Não remover este cabeçalho. Respeite o autor do código.
    '***************************************************************
    On Error GoTo Err_Comando6_Click
    Dim palavras() As String
    Dim x As Integer
    Dim strSql As String
    Dim strWhere As String
    palavras = Split(Me.TxtPesquisa, " ")
    For x = 0 To UBound(palavras)
    strWhere = strWhere & "numano Like '*" & palavras(x) & "*' or "
    Next x
    strWhere = Left$(strWhere, Len(strWhere) - 3)
    strSql = "SELECT * FROM tab_entrevista where " & strWhere & " ORDER BY [numano] "
    Me.RecordSource = strSql
    Exit_Comando6_Click:
    Exit Sub
    Err_Comando6_Click:
    MsgBox Err.Description
    Resume Exit_Comando6_Click
    End Sub


    Obrigado
    avatar
    Convidado
    Convidado


    [Resolvido]Busca  e depois Excuir Empty Re: [Resolvido]Busca e depois Excuir

    Mensagem  Convidado 22/10/2012, 15:05

    Boas Flecha, poste o seu Bd para que possamos ver...

    Mas a principio creio que como o form está filtrado, ao excluir a pesquisa... este fica sem registro válido, portanto esconde os objetos...


    Cumprimentos.
    avatar
    flecha
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 304
    Registrado : 11/01/2012

    [Resolvido]Busca  e depois Excuir Empty Re: [Resolvido]Busca e depois Excuir

    Mensagem  flecha 22/10/2012, 15:50

    Piloto,

    Acho que pode usar o mesmo desse Tópico na 4ª mensagem.

    http://maximoaccess.forumeiros.com/t9958-resolvidopegar-dados-do-campo-estado-na-tabela-so-que-esta-armazenado-o-codigo-26-e-nao-o-nome-sp

    Entre no Bd e abra o FormGeral, Busque uma entrevista e exclua.

    Se não der eu coloco novamente aqui.
    avatar
    Convidado
    Convidado


    [Resolvido]Busca  e depois Excuir Empty Re: [Resolvido]Busca e depois Excuir

    Mensagem  Convidado 22/10/2012, 18:30

    Vamos la....

    Está ocorrendo o seguinte:

    Ao filtrar o form com a entrevista você carrega o recordsource form com um SQL filtrado, portanto ele fica com um registro apenas, o registro filtrado.

    Em seguida você o exclui e o form não tendo nenhum registro esconde todos os objetos.


    A solução:

    Nas declarações do módulo do form, defina uma variável to tipo boolean (Falso/Verdadeiro)
    Essa variável será utilizada (será definida como verdadeira) ao filtrar o form com a entrevista

    Código:
    Option Compare Database
    Dim Excluir As Boolean


    No botão que executa a consulta:

    [code]Private Sub CmdPesquisa_Click()
    '**************************************************************
    'Elaborado por: José Martins
    'Site: www.accessexemplos.com
    'Data: 22-09-2011
    'NOTA: Não remover este cabeçalho. Respeite o autor do código.
    '***************************************************************
    On Error GoTo Err_Comando6_Click
    Dim palavras() As String
    Dim x As Integer
    Dim strSql As String
    Dim strWhere As String
    palavras = Split(Me.TxtPesquisa, " ")
    For x = 0 To UBound(palavras)
    strWhere = strWhere & "numano Like '*" & palavras(x) & "*' or "
    Next x
    strWhere = Left$(strWhere, Len(strWhere) - 3)
    strSql = "SELECT * FROM tab_entrevista where " & strWhere & " ORDER BY [numano] "
    Me.RecordSource = strSql
    Excluir = True

    Exit_Comando6_Click:
    Exit Sub
    Err_Comando6_Click:
    MsgBox Err.Description
    Resume Exit_Comando6_Click
    End Sub


    >>>> Observe que acrescentei a variável e defini a mesma como true (isso significa que foi utilizado o botão de pesquisa)


    No botão excluir:

    Private Sub CmdExcluir_Click()
    On Error GoTo Err_CmdExcluir_Click
    Dim strSql As String

    If Excluir = True Then

    strSql = "SELECT * FROM tab_entrevista ORDER BY [numano] "
    Me.RecordSource = strSql

    If MsgBox("Deseja excluir a Entrevista selecionada?", vbQuestion + vbYesNo, "Exclusão de Entrevista") = vbYes Then

    DoCmd.DoMenuItem acFormBar, acEditMenu, 8, , acMenuVer70
    DoCmd.DoMenuItem acFormBar, acEditMenu, 6, , acMenuVer70
    Excluir = False
    End If

    Else
    If MsgBox("Deseja excluir a Entrevista selecionada?", vbQuestion + vbYesNo, "Exclusão de Entrevista") = vbYes Then

    DoCmd.DoMenuItem acFormBar, acEditMenu, 8, , acMenuVer70
    DoCmd.DoMenuItem acFormBar, acEditMenu, 6, , acMenuVer70

    End If
    End If
    Exit_CmdExcluir_Click:
    Exit Sub

    Err_CmdExcluir_Click:
    MsgBox Err.Description
    Resume Exit_CmdExcluir_Click

    End Sub

    >>>> Observe que utilizo a variável para executar condicionalmente a exclusão.
    Caso a variável esteja definida como true, recarrega totalmente o form com os registro da tabela e executa a exclusão, em seguida define novamente a variável como false.

    Caso a variávl esteja definida como false, executa somente a exclusão




    Cumprimentos.
    avatar
    flecha
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 304
    Registrado : 11/01/2012

    [Resolvido]Busca  e depois Excuir Empty Re: [Resolvido]Busca e depois Excuir

    Mensagem  flecha 22/10/2012, 20:11

    Perfeito!

    Nunca eu iria conseguir resolver essa parada!

    Vou sempre adaptando daqui e dali e quando não consigo vou mudando tudo.

    Parabéns e obrigado mais uma vez.

    Forum e pessoal de Parabéns. cheers
    avatar
    Convidado
    Convidado


    [Resolvido]Busca  e depois Excuir Empty Re: [Resolvido]Busca e depois Excuir

    Mensagem  Convidado 23/10/2012, 04:01

    Não se esqueça de clicar no Joinha da menssagem que o auxiliou!!!!


    O Fórum agradece o retorno.
    avatar
    flecha
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 304
    Registrado : 11/01/2012

    [Resolvido]Busca  e depois Excuir Empty Re: [Resolvido]Busca e depois Excuir

    Mensagem  flecha 23/10/2012, 23:14

    Estou postando novamente, pois em teste deparei com uma falha na pesquisa:

    Quando não localiza ou não existe o registro, não tem um tratamento e a tela esta ficando como antes nada filtrado e some tudo.

    Andei olhando exemplos que tenho mas não consegui acertar.

    Portanto estou recorrendo aos mestres.

    Procurei no forum nos exemplos mas não achei uma rotina de busca "padrão" para
    localizar registros.
    avatar
    Convidado
    Convidado


    [Resolvido]Busca  e depois Excuir Empty Re: [Resolvido]Busca e depois Excuir

    Mensagem  Convidado 24/10/2012, 00:55

    Substitua:


    Private Sub CmdPesquisa_Click()
    '**************************************************************
    'Elaborado por: José Martins
    'Site: www.accessexemplos.com
    'Data: 22-09-2011
    'NOTA: Não remover este cabeçalho. Respeite o autor do código.
    '***************************************************************
    On Error GoTo Err_Comando6_Click
    Dim palavras() As String
    Dim x As Integer
    Dim strSql As String
    Dim strWhere As String


    If DCount("*", "tab_Entrevista", "NumAno = '" & Me.TxtPesquisa & "'") = 0 Then
    MsgBox "Registro Não Encontrado", vbCritical, "ATENÇÃO"
    Exit Sub
    Else
    palavras = Split(Me.TxtPesquisa, " ")
    For x = 0 To UBound(palavras)
    strWhere = strWhere & "numano Like '*" & palavras(x) & "*' or "
    Next x
    strWhere = Left$(strWhere, Len(strWhere) - 3)
    strSql = "SELECT * FROM tab_entrevista where " & strWhere & " ORDER BY [numano] "
    Me.RecordSource = strSql
    Excluir = True
    End If

    Exit_Comando6_Click:
    Exit Sub
    Err_Comando6_Click:
    MsgBox Err.Description
    Resume Exit_Comando6_Click
    End Sub



    Cumprimentos.
    avatar
    flecha
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 304
    Registrado : 11/01/2012

    [Resolvido]Busca  e depois Excuir Empty Re: [Resolvido]Busca e depois Excuir

    Mensagem  flecha 24/10/2012, 14:15

    Valeu Piloto,

    Coloquei uma linha para limpar o campo txtpesquisa após consulta e Testando !
    avatar
    Convidado
    Convidado


    [Resolvido]Busca  e depois Excuir Empty Re: [Resolvido]Busca e depois Excuir

    Mensagem  Convidado 24/10/2012, 14:16

    O Fórum agradece o Retorno.
    avatar
    flecha
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 304
    Registrado : 11/01/2012

    [Resolvido]Busca  e depois Excuir Empty Re: [Resolvido]Busca e depois Excuir

    Mensagem  flecha 25/10/2012, 02:48

    Voltei,

    Tem mais uma detalhe! Depois de consultar a pessoa pode: só ler ou se
    for o caso alterar ou excluir.

    Acontece que depois de ler ou editar tem que fechar o form, pois não sai do registro buscado, só fechando e abrindo
    para mostrar todos.
    avatar
    Convidado
    Convidado


    [Resolvido]Busca  e depois Excuir Empty Re: [Resolvido]Busca e depois Excuir

    Mensagem  Convidado 25/10/2012, 13:50

    É claro amigão... pois o form está carregado apenas com um único registro...

    Crie um Botão, coloque o nome de: Limpar Filtro e no código:

    Private Sub Comando51_Click()
    On Error GoTo Err_Comando51_Click
    Dim strSql As String



    strSql = "SELECT * FROM tab_entrevista ORDER BY [numano] "
    Me.RecordSource = strSql
    Me.Requery

    Exit_Comando51_Click:
    Exit Sub

    Err_Comando51_Click:
    MsgBox Err.Description
    Resume Exit_Comando51_Click

    End Sub


    Cumprimentos.
    avatar
    flecha
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 304
    Registrado : 11/01/2012

    [Resolvido]Busca  e depois Excuir Empty Re: [Resolvido]Busca e depois Excuir

    Mensagem  flecha 25/10/2012, 15:08

    Mais uma vez, valeu Piloto.

    Eu até tentei com o Requery e o Select * mas não tive
    sucesso, mas com os erros vai se aprendendo.

    Fazendo mais testes!

    avatar
    Convidado
    Convidado


    [Resolvido]Busca  e depois Excuir Empty Re: [Resolvido]Busca e depois Excuir

    Mensagem  Convidado 25/10/2012, 15:37

    Agradecemos o Retorno.
    avatar
    flecha
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 304
    Registrado : 11/01/2012

    [Resolvido]Busca  e depois Excuir Empty Esta dando problema no excluir quando filtrado pela pesquisa.

    Mensagem  flecha 18/2/2013, 13:59

    Olá,

    Reabri o tópico, pois quando pesquiso uma Entrevista ela aparece Filtrada no Form (só ela).
    Se eu escolher Excluir, vem a seguinte sequência:
    Aparece a Mensagem se para confirmar e se vê que o registro pulou para o Início, portanto quando excluo
    deleta o Primeiro e não o que foi filtrado.
    Parece que quando clicar em Excluir "desfaz" o filtro.

    Se eu percorrer os registros e parar em um qualquer, deleta normal.
    O problema esta quando pesquisa e quer deletar em seguida!

    As funções estão como nos posts anteriores.

    Obrigado.
    avatar
    flecha
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 304
    Registrado : 11/01/2012

    [Resolvido]Busca  e depois Excuir Empty Re: [Resolvido]Busca e depois Excuir

    Mensagem  flecha 19/2/2013, 17:50

    Olá,

    Andei fazendo tentativas e mudei a primeira parte do código para:

    On Error GoTo Err_CmdExcluir_Click
    Dim strSql As String

    If Excluir = True Then



    If MsgBox("Deseja excluir a Entrevista selecionada?", vbQuestion + vbYesNo, "Exclusão de Entrevista") = vbYes Then

    DoCmd.DoMenuItem acFormBar, acEditMenu, 8, , acMenuVer70
    DoCmd.DoMenuItem acFormBar, acEditMenu, 6, , acMenuVer70
    Excluir = False

    strSql = "SELECT * FROM tab_entrevista ORDER BY [numano] "
    Me.RecordSource = strSql

    End If

    Else

    Notei que quando clicava no excluir após localizar, antes de excluir ele estava
    abrindo o arquivo no primeiro registro para depois excluir o que estava na tela
    e estava errado.

    Assim ele esta excluindo o que esta filtrado de depois ele abre novamente o form
    pela strSql e não fica vazia a tela.

    Se tiverem saída mais profissional coloquem para mim.

    Obrigado
    avatar
    flecha
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 304
    Registrado : 11/01/2012

    [Resolvido]Busca  e depois Excuir Empty Re: [Resolvido]Busca e depois Excuir

    Mensagem  flecha 22/2/2013, 13:54

    Olá,

    Aparentemente, cumpriu o propósito e
    ainda não deu erro.

    Vou colocar como resolvido.

    Obrigado a todos.

    Conteúdo patrocinado


    [Resolvido]Busca  e depois Excuir Empty Re: [Resolvido]Busca e depois Excuir

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 22/11/2024, 12:57