MaximoAccess

Caro Usuário, não tire as suas duvidas nas Salas de Repositório, abra sempre um novo tópico relacionado, nas salas destinadas para o efeito, como Sala de Tabelas, Consultas, Formulários, Relatórios, Macros, Módulos e VBA.

Obrigado

Administração do MaximoAccess

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

    Comando LIKE com ADO

    Compartilhe

    Motar
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 143
    Registrado : 03/08/2010

    Comando LIKE com ADO

    Mensagem  Motar em Sex 29 Nov 2013, 14:35

    Viva
    Quando aplico o filtro em recordset ADO desta forma funciona:
    NomeCliente Like 'Di%'
    (Obter os registos que começam com Di)

    Desta não funciona:
    NomeCliente Like '%na'
    (Obter os registos que terminam em na)

    Porque será?


    criquio
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    Re: Comando LIKE com ADO

    Mensagem  criquio em Sex 29 Nov 2013, 14:41

    Já tentou trocar o sinal de porcentagem por asterisco?


    .................................................................................
    Meu novo site: [Você precisa estar registrado e conectado para ver este link.]

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.


    Motar
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 143
    Registrado : 03/08/2010

    Re: Comando LIKE com ADO

    Mensagem  Motar em Sex 29 Nov 2013, 15:28

    Com asterisco não funciona de nenhuma das formas

    criquio
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    Re: Comando LIKE com ADO

    Mensagem  criquio em Sex 29 Nov 2013, 15:31

    Está usando isso via VBA no Access? Poste a rotina completa se possível.


    .................................................................................
    Meu novo site: [Você precisa estar registrado e conectado para ver este link.]

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.


    Motar
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 143
    Registrado : 03/08/2010

    Re: Comando LIKE com ADO

    Mensagem  Motar em Sex 29 Nov 2013, 17:28

    Viva
    Sim é via VBA no Access.

    A rotina é a seguinte
    rsfc.Filter = "NomeCliente Like '%na'"

    criquio
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    Re: Comando LIKE com ADO

    Mensagem  criquio em Sab 30 Nov 2013, 12:49

    Quando falamos rotina completa, nos referimos a todo o código constante do evento. Todas as linhas.


    .................................................................................
    Meu novo site: [Você precisa estar registrado e conectado para ver este link.]

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.


    Motar
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 143
    Registrado : 03/08/2010

    Re: Comando LIKE com ADO

    Mensagem  Motar em Sab 30 Nov 2013, 20:53

    Viva, aí vai

    Call ConServer
    Dim rsfc As New ADODB.Recordset
    Set rsfc = New ADODB.Recordset
    Dim sql As String
    sql = "SELECT * FROM TblDados"
    rsfc.Open sql, CON, adOpenKeyset, adLockReadOnly, adCmdText
    rsfc.Filter = "NomeCliente Like '%na'"
    Set SelForm.Recordset = rsfc

    Pretendo aplicar e remover filtros no recordset sem fazer ligação ao servidor, daí não aplicar o filtro na instrução sql

    criquio
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    Re: Comando LIKE com ADO

    Mensagem  criquio em Sab 30 Nov 2013, 21:25

    Tente filtrar direto no sql:

    Código:
    sql = "SELECT * FROM TblDados WHERE NomeCliente Like '*na'"


    .................................................................................
    Meu novo site: [Você precisa estar registrado e conectado para ver este link.]

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.


    Motar
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 143
    Registrado : 03/08/2010

    Re: Comando LIKE com ADO

    Mensagem  Motar em Sab 30 Nov 2013, 22:14

    Viva
    Mas eu pretendo filtrar o recordset, que podem ser aplicados e removidos filtros sem ligar ao servidor aumentando a performance da aplicação

    Cláudio Más
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1097
    Registrado : 21/01/2012

    Re: Comando LIKE com ADO

    Mensagem  Cláudio Más em Dom 01 Dez 2013, 02:51

    Olá,

    Creio que o curinga deve ser obrigatoriamente o último caracter na string da propriedade Filter.

    Tente algo assim:

    rsfc.Filter = "Right(NomeCliente, 2) = 'na'"

    Avelino Sampaio
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3350
    Registrado : 04/04/2010

    Re: Comando LIKE com ADO

    Mensagem  Avelino Sampaio em Dom 01 Dez 2013, 09:42

    Claudio, muito louco isso!  Realmente não funciona com o curinga na frente.

    Rui, o que o Claudio te passou deve funcionar bem.  Existe uma nova propriedade do comando DOCMD que se chama SearchForRecord.  Experimente esta propriedade para filtragem

    Nota:  Vc aplica esta propriedade depois que o formulário estiver carregado com todos os registro.  Esta filtragem não exige ligação ao servidor.

    Exemplo:

    DoCmd.SearchForRecord acDataForm, "NomeDoFormulário", acFirst, "NomeCliente like '*" & Me!CampoFiltro & "'"
    Me!NomeCliente.SetFocus
    Me!NomeCliente.SelStart = Len(Me!NomeCliente & "")


    Creio que neste comando vc possa utilizar o curinga da SQL JET ("*").  Não tenho aqui o SQLServer para testar.

    Aguardamos


    .................................................................................
    ============ Quer aprender Access em alta velocidade ? ============

    || [Você precisa estar registrado e conectado para ver esta imagem.] Acesse o site UsandoAccess.com.br e veja um ótimo kit de ensino que tenho para você.

    ===========================================================

    Motar
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 143
    Registrado : 03/08/2010

    Re: Comando LIKE com ADO

    Mensagem  Motar em Seg 02 Dez 2013, 16:12

    Viva Cláudio
    Estive a tentar o seu método de várias formas mas dá erro, você já comprovou este método?

    Viva Avelino
    Experimentei seu método e não dá erro, só que não me filtra os dados, será necessário mais algum código?

    Um Abraço
    Rui

    Avelino Sampaio
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3350
    Registrado : 04/04/2010

    Re: Comando LIKE com ADO

    Mensagem  Avelino Sampaio em Seg 02 Dez 2013, 16:14

    Qual é versão do seu Access ?


    .................................................................................
    ============ Quer aprender Access em alta velocidade ? ============

    || [Você precisa estar registrado e conectado para ver esta imagem.] Acesse o site UsandoAccess.com.br e veja um ótimo kit de ensino que tenho para você.

    ===========================================================

    Motar
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 143
    Registrado : 03/08/2010

    Re: Comando LIKE com ADO

    Mensagem  Motar em Seg 02 Dez 2013, 16:16

    Num PC do trabalho utilizo 2010 em casa o 2007, mas está dando erro nos dois

    Avelino Sampaio
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3350
    Registrado : 04/04/2010

    Re: Comando LIKE com ADO

    Mensagem  Avelino Sampaio em Seg 02 Dez 2013, 17:05

    Desculpa, não tenho aqui o SQL para testar e poder te ajuda melhor.


    .................................................................................
    ============ Quer aprender Access em alta velocidade ? ============

    || [Você precisa estar registrado e conectado para ver esta imagem.] Acesse o site UsandoAccess.com.br e veja um ótimo kit de ensino que tenho para você.

    ===========================================================

    Motar
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 143
    Registrado : 03/08/2010

    Re: Comando LIKE com ADO

    Mensagem  Motar em Seg 02 Dez 2013, 22:26

    Viva
    O exemplo completo está neste link:
    [Você precisa estar registrado e conectado para ver este link.]

    Se poderem ajudar a resolver esta questão eu agradeço

      Data/hora atual: Dom 11 Dez 2016, 00:13