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

    [Resolvido]Sql no VBA não acha o registro

    avatar
    Ruiborges
    Intermediário
    Intermediário

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 85
    Registrado : 17/06/2011

    [Resolvido]Sql no VBA não acha o registro Empty [Resolvido]Sql no VBA não acha o registro

    Mensagem  Ruiborges 26/6/2019, 19:55

    Prezados, tenho uma consulta em sql que não retorna o registro. Todos os campos são string.

    "SELECT * FROM TblObsrelacaoMisturas where diagnostico= """ & TxtCodimuno & """" & " and concentracao= """ & TxtCodilui & """" & " and volume= """ & TxtCodvol & """" & " and itens like " & "'" & "*" & NumeroItens & "*" & "'" & " and porcento= """ & ComPorcentagem & """"

    Segue resultado da janela imediata:
    SELECT * FROM TblObsrelacaoMisturas where diagnostico= "AP5" and concentracao= "y1" and volume= "5" and itens like '*2*' and porcento= ""

    Dá certo até o campo itens. O que estou errando?
    Obrigado


    .................................................................................
    Borges
    ronaldojr1
    ronaldojr1
    Avançado
    Avançado

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 419
    Registrado : 01/08/2011

    [Resolvido]Sql no VBA não acha o registro Empty Re: [Resolvido]Sql no VBA não acha o registro

    Mensagem  ronaldojr1 26/6/2019, 21:10

    boa tarde,
    arrumei apenas a construção da consulta, nao sei se sua logica esta correta.

    segue:
    "SELECT * FROM TblObsrelacaoMisturas where diagnostico= '" & TxtCodimuno & "' and concentracao= '" & TxtCodilui & "' and volume= '" & TxtCodvol & "' and itens like '*' and NumeroItens like '*' and porcento= '" & ComPorcentagem & "'"
    avatar
    renpv
    Avançado
    Avançado

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 323
    Registrado : 12/01/2015

    [Resolvido]Sql no VBA não acha o registro Empty Re: [Resolvido]Sql no VBA não acha o registro

    Mensagem  renpv 26/6/2019, 23:44

    Ruiborges escreveu:SELECT * FROM TblObsrelacaoMisturas where diagnostico= "AP5" and concentracao= "y1" and volume= "5" and itens like '*2*' and porcento= ""
    Cria uma consulta com esse SQL e veja se retorna alguma coisa
    avatar
    Ruiborges
    Intermediário
    Intermediário

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 85
    Registrado : 17/06/2011

    [Resolvido]Sql no VBA não acha o registro Empty Re: [Resolvido]Sql no VBA não acha o registro

    Mensagem  Ruiborges 28/6/2019, 16:27

    Segui as duas sugestões e vi que o problema é que na tabela o campo [porcento] quando não tem informação é "Null" aí ,
    porcento= "" ou porcento='' não retorna nenhum resultado.
    Tentei: { and (porcento= """ & ComPorcentagem & """ or porcento is null) } mas não deu certo também.


    .................................................................................
    Borges
    Alexandre Fim
    Alexandre Fim
    Developer
    Developer

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1552
    Registrado : 13/12/2016

    [Resolvido]Sql no VBA não acha o registro Empty Re: [Resolvido]Sql no VBA não acha o registro

    Mensagem  Alexandre Fim 28/6/2019, 16:50

    Olá Rui Borges,

    Procure "quebrar" o select em várias linhas, concatenando-as.
    Coloquei uma condição onde verifica se o valor é NULL.
    Segue:
    Código:

    Dim sSQL As String

    sSQL = "SELECT FROM TblObsrelacaoMisturas "
    sSQL = sSQL & " WHERE diagnostico= '" & Trim(TxtCodimuno) & "' "
    sSQL = sSQL & " AND concentracao= '" & Trim(TxtCodilui) & "' "
    sSQL = sSQL & " AND volume= '" & Trim(TxtCodvol) & "' "
    sSQL = sSQL & " AND itens LIKE '*' "
    sSQL = sSQL & " AND NumeroItens LIKE '*' "
    sSQL = sSQL & " AND porcento= " & IIf(IsNull(ComPorcentagem), "NULL", ComPorcentagem) & ""



    Boa sorte
    avatar
    Ruiborges
    Intermediário
    Intermediário

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 85
    Registrado : 17/06/2011

    [Resolvido]Sql no VBA não acha o registro Empty Re: [Resolvido]Sql no VBA não acha o registro

    Mensagem  Ruiborges 1/7/2019, 20:14

    Obrigado pela colaboração de todos. O meu código ficou assim:
    strSQL = "SELECT * FROM TblObsrelacaoMisturas"
    strSQL = strSQL & " WHERE diagnostico= """ & Trim(TxtCodimuno) & """"
    strSQL = strSQL & " AND concentracao= """ & Trim(TxtCodilui) & """"
    strSQL = strSQL & " AND volume= """ & Trim(TxtCodvol) & """"
    strSQL = strSQL & " AND itens LIKE '*" & NumeroItens & "*'"
    strSQL = strSQL & " AND (porcento " & IIf(ComPorcentagem = "", "is Null" & " or porcento="""")", "=""" & ComPorcentagem & """)")

    Muito obrigado


    .................................................................................
    Borges

      Data/hora atual: 25/7/2021, 02:46