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]Caixa de Listagem

    clynton
    clynton
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 309
    Registrado : 08/07/2013

    [Resolvido]Caixa de Listagem Empty Caixa de Listagem

    Mensagem  clynton 21/10/2013, 16:29

    Amigos,

    Mais uma vez passando por aqui para pedir um Help à vocês.
    Em uma tela de cadastro, num determinado campo ao receber o foco abre uma tela secundária com uma caixa de listagem que se baseia numa consulta, nesta mesma tela tenho um campo de pesquisa, pois a lista é consideravelmente grande, criei uma funcionalidade na tela que me abre a tela de cadastro em qualquer momento.
    Tudo funcionando perfeitamente, mas eu gostaria de uma ajuda de vocês para que fosse exibida uma mensagem quando após digitar um valor no campo de pesquisa não retornasse nenhum valor.
    Tentei colocar no campo de pesquisa que após atualizar se o campo da listagem tivesse valor nulo retornasse uma mensagem, mas não funcionou.
    A mensagem que me refiro é personalizada, são Forms criados por mim e neste caso teria dois botões, SIM e NÃO.
    Seria uma mensagem dizendo que não foi encontrado resultado com o critério da pesquisa e perguntando se eu queria cadastrar.
    Clicando em não o foco volta para o campo de pesquisa e clicando em sim ele fecha essa tela e abre a de cadastro.
    Grato pela atenção.

    Abraço...
    Leandro
    Leandro
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1601
    Registrado : 12/11/2009

    [Resolvido]Caixa de Listagem Empty Re: [Resolvido]Caixa de Listagem

    Mensagem  Leandro 21/10/2013, 16:52

    Boa tarde.

    Você pode usar o Recordset para consultar a contar quantos registros retornam nesse recordset, caso seja igual zero, exibe uma MsgBox tipo Yes/No e você define nela o que você quer que seja feito.
    Caso nunca tenha trabalhado com Recordset, poste o SQL da caixa de listagem que eu te dou uma força.

    Até mais.

    clynton
    clynton
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 309
    Registrado : 08/07/2013

    [Resolvido]Caixa de Listagem Empty Re: [Resolvido]Caixa de Listagem

    Mensagem  clynton 21/10/2013, 19:28

    Boa tarde Leandro,

    Grato pelo retorno.
    Explicando melhor a situação.
    Estou criando um sistema para catalogar minha coleção de latas de bebidas, optei pela tela secundária por um questão de estética.
    Então imaginando que eu tenha que catalogar 200 latas diferentes de Antarctica, para não digitar 200 vezes País de Origem = Brasil, Marca = Antarctica, Produto = Cerveja, Tipo do Produto = Pilsen, Conteúdo = 350 ml e Código de Barra = 7 891991 000796, criei essa tela que busca por esses valores e clicando no resultado as informações são reportadas para a tela de cadastro.
    A Caixa de Listagem se baseia numa consulta e no campo Código de Barra no critério da Consulta coloquei: Como "*" & [Forms]![Frm_Informações_Cadastro]![Localizar] & "*"
    A origem da linha na caixa de listagem está o nome da consulta, mas em SQL ficaria = SELECT [Loc_BarCode_Cadastro].[País], [Loc_BarCode_Cadastro].[Marca], [Loc_BarCode_Cadastro].[Produto], [Loc_BarCode_Cadastro].[Tipo], [Loc_BarCode_Cadastro].[Conteúdo], [Loc_BarCode_Cadastro].[Código de Barra] FROM [Loc_BarCode_Cadastro]

    Respondendo sua pergunta, ainda não trabalhei com Recordset.

    Abraço...
    Leandro
    Leandro
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1601
    Registrado : 12/11/2009

    [Resolvido]Caixa de Listagem Empty Re: [Resolvido]Caixa de Listagem

    Mensagem  Leandro 21/10/2013, 19:45

    Será melhor adicionar tudo diretamente na caixa de listagem, não ser mais oriunda da consulta entende?

    Dessa forma peço que me envie a SQL da consulta, por favor.

    clynton
    clynton
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 309
    Registrado : 08/07/2013

    [Resolvido]Caixa de Listagem Empty Re: [Resolvido]Caixa de Listagem

    Mensagem  clynton 21/10/2013, 19:59

    Na Caixa de Listagem são exibidas todas as informações, mas eu procuro pelo campo do código de barra, já que é uma informação mais específica!
    Segue o SQL da Consulta:
    SELECT Tab_BarCode.País, Tab_BarCode.Marca, Tab_BarCode.Produto, Tab_BarCode.Tipo, Tab_BarCode.Conteúdo, Tab_BarCode.[Código de Barra]
    FROM Tab_BarCode
    WHERE (((Tab_BarCode.[Código de Barra]) Like "*" & [Forms]![Frm_Informações_Cadastro]![Localizar] & "*"))
    ORDER BY Tab_BarCode.País;
    Leandro
    Leandro
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1601
    Registrado : 12/11/2009

    [Resolvido]Caixa de Listagem Empty Re: [Resolvido]Caixa de Listagem

    Mensagem  Leandro 21/10/2013, 20:23

    Esse é o começo.

    Dim rs As Dao.Recordset
    Dim db As Dao.Database
    Dim str As String

    str = "SELECT País, Marca, Produto, Tipo, Conteúdo, [Código de Barra] FROM Tab_BarCode WHERE [Código de Barra] Like '*" & Forms!Frm_Informações_Cadastro!Localizar & "*' ORDER BY País;"

    Set db = CurrentDb()
    Set rs = db.OpenRecordset(str)

    If rs.Recordcount = 0 Then
    If MsgBox ("Não há resultado para sua busca!" & vbcrlf & "Deseja cadastrar?", vbYesNo) = vbYes Then
    >>>Aqui você insere o comando para abrir o form para cadastro
    Else
    Exit Sub

    db.Close
    Set db = Nothing
    rs.Close
    Set rs = Nothing
    End If
    End If

    clynton
    clynton
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 309
    Registrado : 08/07/2013

    [Resolvido]Caixa de Listagem Empty Re: [Resolvido]Caixa de Listagem

    Mensagem  clynton 21/10/2013, 20:46

    Sensacional!
    O resultado ficou diferente do que eu imaginava que ficaria, mas era exatamente o que eu queria!
    Grato pela atenção e pela explicação.

    Abraço...
    Leandro
    Leandro
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1601
    Registrado : 12/11/2009

    [Resolvido]Caixa de Listagem Empty Re: [Resolvido]Caixa de Listagem

    Mensagem  Leandro 22/10/2013, 00:47

    Que bom que deu certo, e ainda mais de primeira!!Very Happy 
    Obrigado pelo retorno.


    Conteúdo patrocinado


    [Resolvido]Caixa de Listagem Empty Re: [Resolvido]Caixa de Listagem

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 23/11/2024, 00:31