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


3 participantes

    Sem retorno na SQL

    avatar
    betocac
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 21
    Registrado : 23/10/2016

    Sem retorno na SQL Empty Sem retorno na SQL

    Mensagem  betocac 1/11/2017, 15:55

    Boa tarde pessoal,

    volto a solicitar ajuda dos colegas para uma situação que parece simples mas, não consegui solução.
    Estou fazendo uma consulta em uma tabela onde o campo que faço a busca é do tipo TEXTO, apesar de armazenar números. O problema é que no meu código, uso um IF para verificar se o código existe e ao testar com qualquer valor que NÃO existe, não consigo seguir em frente.
    Postei o código abaixo para os colegas avaliarem e se possível me ajudarem.

    Código:

    Dim rsUsuario As Recordset 'cria um recordsSet para usuários
    Dim db As Database 'cria uma variável para o banco de dados
    Dim strSql As String
    Dim strMsg As String
    Dim opcao As VbMsgBoxResult

        If Not IsNull(Me.id_usuario) Or Me.id_usuario <> "" Then
    '    MsgBox "Entrei " & CStr(Me.id_usuario) 'teste para ver se entra no IF
    '    Exit Sub
            
            strSql = "SELECT id_usuario FROM tb_Usuarios WHERE id_usuario = " & CStr(Me.id_usuario) & "" ' converte para STRING
            Set db = CurrentDb
            Set rsUsuario = db.OpenRecordset(strSql)
        
                If rsUsuario.EOF Then 'Não entra nesse IF (??)
                    strMsg = "O número informado da mátrícula não existe! Informe sua matrícula..."
                    opcao = MsgBox(strMsg, vbOKOnly + vbCritical, "Matrícula Inválida")
                End If
            Else
                MsgBox "Você deve informar sua matrícula...!"
                Me.data_Nota.SetFocus
                Me.id_usuario.SetFocus
                Exit Sub
        End If
    End Sub


    Agradeço antecipadamente à todos...
    FabioPaes
    FabioPaes
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3914
    Registrado : 14/08/2013

    Sem retorno na SQL Empty Re: Sem retorno na SQL

    Mensagem  FabioPaes 1/11/2017, 15:59



    .................................................................................
    _____________________________________________________________________
    Achou a solução para sua dúvida? Não seja Egoísta, Compartilhe com todos!
    A dica do Colega foi útil? Agradeça!

    O importante não saber tudo, mas sim a Onde procurar!
    avatar
    betocac
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 21
    Registrado : 23/10/2016

    Sem retorno na SQL Empty Não deu!

    Mensagem  betocac 1/11/2017, 18:45

    Obrigado Fábio,

    Seu exemplo foi muito bom, mas, não funcionou no meu caso. É muito estranho. Não estava usando DAO, mudei, mas continuo sem conseguir um retorno no meu SQL.

    []S
    FabioPaes
    FabioPaes
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3914
    Registrado : 14/08/2013

    Sem retorno na SQL Empty Re: Sem retorno na SQL

    Mensagem  FabioPaes 1/11/2017, 19:02

    Então, falta nos dizer o que pretende com esse codigo... Pois da forma como está, somente cairá na condição IF se rsUsuario não contiver dados/Registros...


    .................................................................................
    _____________________________________________________________________
    Achou a solução para sua dúvida? Não seja Egoísta, Compartilhe com todos!
    A dica do Colega foi útil? Agradeça!

    O importante não saber tudo, mas sim a Onde procurar!
    avatar
    betocac
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 21
    Registrado : 23/10/2016

    Sem retorno na SQL Empty Exato!

    Mensagem  betocac 1/11/2017, 19:11

    Que bom ler isso, porque é exatamente o que eu quero;

    Se não encontrar o código informado... entra no IF e mostra a mensagem que o número não existe.
    O código está no evento, AO PERDER O FOCO e o objetivo é de que quando o usuário informar um código que não existe na tabela usuários impeça que vá para outro campo no formulário.

    Então, pela sua resposta, meu código está certo, só não estou encontrando o erro, porque ele não está funcionando. Já conferi o nome dos campos, da tabela, tudo está correto, pelo menos, parece. Eu estou no banco de dados da pesquisa... e por aí vai...

    Teria como usar algum outro teste para ver se meu SQL retorna algum valor??

    Valeu pela atenção até agora Fábio.
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8449
    Registrado : 05/11/2009

    Sem retorno na SQL Empty Re: Sem retorno na SQL

    Mensagem  Alexandre Neves 1/11/2017, 22:14

    Boa noite,
    Pegue nesse SQL e coloque numa consulta para ver o resultado, se serve ou tem que alterar


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    FabioPaes
    FabioPaes
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3914
    Registrado : 14/08/2013

    Sem retorno na SQL Empty Re: Sem retorno na SQL

    Mensagem  FabioPaes 1/11/2017, 22:33

    Siga a Dica do Alexandre, e pode complementar com essa:

    Apos abrir o Recordset, coloque uma Mensagbox para exibir o Valor do campo Id_usuario e veja o que retorna:

    Msgbox [size=37]rsUsuario!id_usuario[/size]


    [size=37]Pode ainda contar os registros e exibir em uma msgbox para saber qntos registros vieram.[/size]


    .................................................................................
    _____________________________________________________________________
    Achou a solução para sua dúvida? Não seja Egoísta, Compartilhe com todos!
    A dica do Colega foi útil? Agradeça!

    O importante não saber tudo, mas sim a Onde procurar!

    Conteúdo patrocinado


    Sem retorno na SQL Empty Re: Sem retorno na SQL

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 17/5/2024, 12:30