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


4 participantes

    Comando LIKE com ADO

    avatar
    Motar
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

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

    Comando LIKE com ADO Empty Comando LIKE com ADO

    Mensagem  Motar 29/11/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
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

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

    Comando LIKE com ADO Empty Re: Comando LIKE com ADO

    Mensagem  criquio 29/11/2013, 14:41

    Já tentou trocar o sinal de porcentagem por asterisco?


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    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.

    avatar
    Motar
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

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

    Comando LIKE com ADO Empty Re: Comando LIKE com ADO

    Mensagem  Motar 29/11/2013, 15:28

    Com asterisco não funciona de nenhuma das formas
    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

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

    Comando LIKE com ADO Empty Re: Comando LIKE com ADO

    Mensagem  criquio 29/11/2013, 15:31

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


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    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.

    avatar
    Motar
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

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

    Comando LIKE com ADO Empty Re: Comando LIKE com ADO

    Mensagem  Motar 29/11/2013, 17:28

    Viva
    Sim é via VBA no Access.

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


    Respeito às regras : Respeito às Regras 100%

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

    Comando LIKE com ADO Empty Re: Comando LIKE com ADO

    Mensagem  criquio 30/11/2013, 12:49

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


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    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.

    avatar
    Motar
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

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

    Comando LIKE com ADO Empty Re: Comando LIKE com ADO

    Mensagem  Motar 30/11/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
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

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

    Comando LIKE com ADO Empty Re: Comando LIKE com ADO

    Mensagem  criquio 30/11/2013, 21:25

    Tente filtrar direto no sql:

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


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    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.

    avatar
    Motar
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

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

    Comando LIKE com ADO Empty Re: Comando LIKE com ADO

    Mensagem  Motar 30/11/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
    Cláudio Más
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

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

    Comando LIKE com ADO Empty Re: Comando LIKE com ADO

    Mensagem  Cláudio Más 1/12/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
    Avelino Sampaio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

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

    Comando LIKE com ADO Empty Re: Comando LIKE com ADO

    Mensagem  Avelino Sampaio 1/12/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


    .................................................................................
    Vídeos, livros, kit MontaRibbons e acesso vitalício ao site UsandoAcces  
    Clique AQUI e analise o custo beneficio do material oferecido.
    avatar
    Motar
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

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

    Comando LIKE com ADO Empty Re: Comando LIKE com ADO

    Mensagem  Motar 2/12/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
    Avelino Sampaio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

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

    Comando LIKE com ADO Empty Re: Comando LIKE com ADO

    Mensagem  Avelino Sampaio 2/12/2013, 16:14

    Qual é versão do seu Access ?


    .................................................................................
    Vídeos, livros, kit MontaRibbons e acesso vitalício ao site UsandoAcces  
    Clique AQUI e analise o custo beneficio do material oferecido.
    avatar
    Motar
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

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

    Comando LIKE com ADO Empty Re: Comando LIKE com ADO

    Mensagem  Motar 2/12/2013, 16:16

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


    Respeito às regras : Respeito às Regras 100%

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

    Comando LIKE com ADO Empty Re: Comando LIKE com ADO

    Mensagem  Avelino Sampaio 2/12/2013, 17:05

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


    .................................................................................
    Vídeos, livros, kit MontaRibbons e acesso vitalício ao site UsandoAcces  
    Clique AQUI e analise o custo beneficio do material oferecido.
    avatar
    Motar
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

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

    Comando LIKE com ADO Empty Re: Comando LIKE com ADO

    Mensagem  Motar 2/12/2013, 22:26

    Viva
    O exemplo completo está neste link:
    http://maximoaccess.forumeiros.com/t11484-formulario-continuo-desvinculado-com-recordset-ado#124321

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

    Conteúdo patrocinado


    Comando LIKE com ADO Empty Re: Comando LIKE com ADO

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 9/11/2024, 01:32