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


2 participantes

    [Resolvido]Consulta através de caixa de texto contendo 2 parâmetros

    avatar
    bklanfer
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11
    Registrado : 08/05/2012

    [Resolvido]Consulta através de caixa de texto contendo 2 parâmetros Empty Consulta através de caixa de texto contendo 2 parâmetros

    Mensagem  bklanfer 17/8/2012, 17:52

    Boas Pessoal,

    Estou com a seguinte dúvida, tenho um campo "memo" com uma descrição bem completa de um material e quero fazer uma busca neste para este registro.

    Esta busca é feita através de uma caixa de texto. Caso seja uma busca simples, eu coloco o seguinte código:


    Código:
    Me.filter = "[Pesq_Mestre].[Fabricante] Like '*" & Forms!busca_Mestre.Text0 & "*'"
    Me.FilterOn = True

    Assim, quando quero fazer uma busca tenho que dizer exatamente o que quero procurar.

    Mas preciso que essa busca seja feita de forma desconexa, ou seja, posso escrever partes do meu "desejo" e ele busca.

    Exemplos

    Forma Atual - tijolo de cerâmica tipo "Baiano" com 6 furos

    Como quero procurar - tijolo baiano 6

    É possível fazer isso? pois acho que é exatamente como se procura em sites na web.

    Pf, conto com a ajuda de vcs!

    Vlew!!!
    avatar
    Convidado
    Convidado


    [Resolvido]Consulta através de caixa de texto contendo 2 parâmetros Empty Re: [Resolvido]Consulta através de caixa de texto contendo 2 parâmetros

    Mensagem  Convidado 17/8/2012, 20:17

    Este critério era para fazer isto...

    Like '*" & Forms!busca_Mestre.Text0 & "*'"


    Talvez seja em como está aplicando.

    Se puder disponibilize o bd para que vejamos.


    Cumprimentos.
    avatar
    bklanfer
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11
    Registrado : 08/05/2012

    [Resolvido]Consulta através de caixa de texto contendo 2 parâmetros Empty Re: [Resolvido]Consulta através de caixa de texto contendo 2 parâmetros

    Mensagem  bklanfer 20/8/2012, 18:23

    Segue o arquivo.

    Como disse, gostaria que as buscas fossem desconexas!

    Obrigado desde já
    Anexos
    [Resolvido]Consulta através de caixa de texto contendo 2 parâmetros AttachmentSistema de Busca.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (165 Kb) Baixado 20 vez(es)
    avatar
    Convidado
    Convidado


    [Resolvido]Consulta através de caixa de texto contendo 2 parâmetros Empty Re: [Resolvido]Consulta através de caixa de texto contendo 2 parâmetros

    Mensagem  Convidado 20/8/2012, 19:05

    Você quer buscar em um relatório?

    Pelo que vi.. voce quer digitar um texto e abir o relatorio baseado nessa busca?


    O correto é um form com uma listBox, fazer a busca, ai sim se quiser gerar o relatório.

    Cumprimentos.
    avatar
    Convidado
    Convidado


    [Resolvido]Consulta através de caixa de texto contendo 2 parâmetros Empty Re: [Resolvido]Consulta através de caixa de texto contendo 2 parâmetros

    Mensagem  Convidado 20/8/2012, 19:17

    Mas veja se lhe serve:

    Na fonte de registro do relatório:

    SELECT Equipamentos.Tipo, Equipamentos.Modelo, Equipamentos.Fabricante, Equipamentos.Projeto, Equipamentos.Padrão, Equipamentos.Observações FROM Equipamentos WHERE (((Equipamentos.Tipo) Like "*" & Forms!busca.txtBusca & "*")) Or (((Equipamentos.Modelo) Like "*" & Forms!busca.txtBusca & "*") And ((Equipamentos.Fabricante) Like "*" & Forms!busca.txtBusca & "*") And ((Equipamentos.Projeto) Like "*" & Forms!busca.txtBusca & "*") And ((Equipamentos.Padrão) Like "*" & Forms!busca.txtBusca & "*") And ((Equipamentos.Observações) Like "*" & Forms!busca.txtBusca & "*"));



    o filtro será executado em todos os campos: Tipo, Modelo, Fabricante, Projeto, Padrão e Observações.

    Nãó é necessário o uso da combo no form busca.

    Digite qualquer palavra e clique no botão.


    https://dl.dropbox.com/u/26441349/Bklanfer.rar


    Cumprimentos.
    avatar
    bklanfer
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11
    Registrado : 08/05/2012

    [Resolvido]Consulta através de caixa de texto contendo 2 parâmetros Empty Re: [Resolvido]Consulta através de caixa de texto contendo 2 parâmetros

    Mensagem  bklanfer 21/8/2012, 19:50

    Quase isso...

    Eu gostaria de realizar, numa mesma busca, várias palavras-chave. Ou seja, se eu tenho cadastrado o texto "o rato roeu a roupa do rei de roma", quero encontrá-lo buscando por "rato roma"

    Acho que agora dá pra entender o que realmente quero!

    Obrigado de novo!
    toyebom
    toyebom
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 1128
    Registrado : 18/07/2012

    [Resolvido]Consulta através de caixa de texto contendo 2 parâmetros Empty Consulta através de caixa de texto contendo 2 parâmetros

    Mensagem  toyebom 21/8/2012, 20:29

    Tens aqui um exemplo de JPaulo, pode ser que seja o que queres

    Private Sub cmdEncontrar_Click()
    On Error Resume Next
    If IsNull(Me!CampoMemo) Or IsNull(Me!txtProcura) Then Exit Sub
    Dim strSelecao As Integer
    strSelecao = Len(Me!txtProcura)
    If strPosicao = 0 Then strPosicao = 1
    strPosicao = InStr(strPosicao, Me!CampoMemo, Me!txtProcura)
    If strPosicao > 0 Then
    Me!CampoMemo.SetFocus
    Me!CampoMemo.SelStart = strPosicao - 1
    Me!CampoMemo.SelLength = strSelecao
    strPosicao = strPosicao + 1
    Else
    MsgBox "Não foram encontradas mais palavras com " & "'" & Me!txtProcura & "'" & "", vbExclamation, "Erro"
    strPosicao = 1
    Dim rs As Recordset
    Set rs = Me.RecordsetClone
    rs.Bookmark = Me.Bookmark '
    rs.MoveNext
    If rs.EOF Then
    If MsgBox("Procura terminada." & vbCrLf & "", vbDefaultButton2 + vbYesNo + vbQuestion, "Erro") = vbYes Then
    rs.MoveFirst
    Me.Bookmark = rs.Bookmark
    Me!txtProcura = Null
    Me!txtProcura.SetFocus
    strContagem = 0
    Else
    End If
    Else
    Me.Bookmark = rs.Bookmark
    End If
    End If
    Set rs = Nothing
    End Sub


    ve o exemplo, com permisão de JPaulo
    avatar
    Convidado
    Convidado


    [Resolvido]Consulta através de caixa de texto contendo 2 parâmetros Empty Re: [Resolvido]Consulta através de caixa de texto contendo 2 parâmetros

    Mensagem  Convidado 21/8/2012, 21:54

    Boas Amigos.. se obsevarem o colega quer a pesquisa por mais de uma palavra, portanto o Excelente exemplo do Mestre JP ainda não lhe serviria.

    Porém com uma boa observação do Código é possível a adaptação para o que pretende, vejamos pois o código do Mestre JP com essas modificações:

    >>>>> Aqui é necessário digitar as palavras separadas por uma "," (Vírgula) <<<<<<

    Private Sub cmdEncontrar_Click()
    On Error Resume Next
    Dim StrBusca As String 'Variável do tipo String
    Dim StrBuscaArray 'Variável do tipo Array
    'Carrego a variável com o texto da caixa texto no form
    StrBusca = Me.txtProcura
    'Carrego a variável com o conteúdo da Variável StrBusca, separando-as pela vírgula, colocando cada palavra em uma posição da Array. Inicia na posição 0
    StrBuscaArray = Split(StrBusca, ",")

    'Utilizo o For para executar N Loops de acordo com a quantidade de posições dentro da Matriz, sendo a maior posição estraída pelo comando Ubound. Aqui a cada laço o valor de X é incrementado de acordo com a posição da informação na Matriz
    For x = 0 To UBound(StrBuscaArray)

    If IsNull(Me!CampoMemo) Or IsNull(Me!txtProcura) Then Exit Sub
    Dim StrSelecao As Integer]
    'Aqui a modificação para carregar a variável StrSeleção com o texto contido na Matriz na posição X (que será modificada a cada Volta)
    StrSelecao = Len(StrBuscaArray(x))
    If strPosicao = 0 Then strPosicao = 1
    'Substituido conforme a busca. A ser executada na Matriz
    strPosicao = InStr(strPosicao, Me!CampoMemo, StrBuscaArray(x))
    If strPosicao > 0 Then
    Me!CampoMemo.SetFocus
    Me!CampoMemo.SelStart = strPosicao - 1
    Me!CampoMemo.SelLength = StrSelecao
    strPosicao = strPosicao + 1
    Else
    'Emite a menssagem para a palavra não encontrada
    MsgBox "Não foi encontrada a seguinte palavra" & "'" & StrBuscaArray(x) & "'" & "", vbExclamation, "Erro"
    'Vai para a o rótulo onde se inicia a busca pela próxima palavra
    GoTo Continuar
    strPosicao = 1
    Dim rs As Recordset
    Set rs = Me.RecordsetClone
    rs.Bookmark = Me.Bookmark '
    rs.MoveNext
    If rs.EOF Then
    If MsgBox("Procura terminada." & vbCrLf & "", vbDefaultButton2 + vbYesNo + vbQuestion, "Erro") = vbYes Then
    rs.MoveFirst
    Me.Bookmark = rs.Bookmark
    Me!txtProcura = Null
    Me!txtProcura.SetFocus
    strContagem = 0
    Else
    End If
    Else
    Me.Bookmark = rs.Bookmark
    End If
    End If
    'Vai para o proximo valor de X
    Continuar: 'Não encontrada a palavra vai para este rotulo e por consequencia a proxima palavra
    Next x
    Set rs = Nothing
    End Sub


    Resumindo... Se digitarmos 2 palavras (Nome, Access)
    A variável assumira a seguinte forma e posição:

    StrBuscaArray(0) = Nome
    StrBuscaArray(0) = Access

    Assim se buscará todas as palavras.



    Cumprimentos.
    avatar
    bklanfer
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11
    Registrado : 08/05/2012

    [Resolvido]Consulta através de caixa de texto contendo 2 parâmetros Empty Re: [Resolvido]Consulta através de caixa de texto contendo 2 parâmetros

    Mensagem  bklanfer 22/8/2012, 12:50

    Boas,

    A princípio acho que esse servirá! Ao menos faz o que eu estou querendo!

    Vou adequar ao meu projeto depois coloco aqui como ficou!

    Obrigado à todos! Obrigado mesmo!

    Abçs e fiquem bem!
    avatar
    Convidado
    Convidado


    [Resolvido]Consulta através de caixa de texto contendo 2 parâmetros Empty Re: [Resolvido]Consulta através de caixa de texto contendo 2 parâmetros

    Mensagem  Convidado 22/8/2012, 12:58

    O Fórum agradece o retorno.

    Conteúdo patrocinado


    [Resolvido]Consulta através de caixa de texto contendo 2 parâmetros Empty Re: [Resolvido]Consulta através de caixa de texto contendo 2 parâmetros

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 22/11/2024, 09:00