MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

Obrigado

Administração do MaximoAccess

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access

    [Resolvido]Consulta a campo de outra tabela cujo ID está na tabela da consulta

    HARYSOHN
    HARYSOHN
    Maximo VIP
    Maximo VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 12228
    Registrado : 01/03/2011

    [Resolvido]Consulta a campo de outra tabela cujo ID está na tabela da consulta Empty [Resolvido]Consulta a campo de outra tabela cujo ID está na tabela da consulta

    Mensagem  HARYSOHN em 4/12/2017, 18:52

    Amigos tenho a seguinte consulta que funciona perfeitamente:

    StrSql = "Select idMovimento as Num,IdCaixa as Documento, space(3) & dataMovimento As Movimento, Historico AS Histórico, iif(valorCredito=0,'',format(valorcredito,'standard')) As Crédito, " _
    & "iif(valordebito=0,'',format(valorDebito,'standard')) AS Débito, format(SaldoLinha,'standard') as Saldo, CpDescId, cpTipoId, CpContaId" _
    & " FROM " & tblTemp & " WHERE " & filtro & " ORDER BY dataMovimento;"

    Esta consulta é baseada na tabela constante na string tblTemp
    Nesta tabela tenho o campo cpTipoID (Em negrito acima)
    Este campo refere-se a uma identificação na tabela ContaDetalhes

    Pretendo através do Dlookup exibir na consulta o campo referente
    Tentei assim a a consulta retorna vazia:

    StrSql = "Select idMovimento as Num,IdCaixa as Documento, space(3) & dataMovimento As Movimento, Historico AS Histórico, iif(valorCredito=0,'',format(valorcredito,'standard')) As Crédito, iif(valordebito=0,'',format(valorDebito,'standard')) AS Débito, format(SaldoLinha,'standard') as Saldo, CpDescId, cpTipoId, CpContaId" _
    & "DLookup(TipoConta, ContaDetalhes, Id_Detalhes = CpTipoID)" _
    & " FROM " & tblTemp & " WHERE " & filtro & " ORDER BY dataMovimento;"

    Alguma sugestao?

    Saudações
    Harysohn
    HARYSOHN
    HARYSOHN
    Maximo VIP
    Maximo VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 12228
    Registrado : 01/03/2011

    [Resolvido]Consulta a campo de outra tabela cujo ID está na tabela da consulta Empty Re: [Resolvido]Consulta a campo de outra tabela cujo ID está na tabela da consulta

    Mensagem  HARYSOHN em 4/12/2017, 19:16

    Amigos.. Em uma MSG funciona com aspas duplas:

                MsgBox DLookup("[TipoConta]", "ContaDetalhes", "[Id_Detalhes] = 53")

    Na consulta SQL/VBA com aspas Simples:
    DLookup('TipoConta', 'ContaDetalhes', 'Id_Detalhes = 53')

    44400 StrSql = "Select idMovimento as Num,IdCaixa as Documento, space(3) & dataMovimento As Movimento, Historico AS Histórico, iif(valorCredito=0,'',format(valorcredito,'standard')) As Crédito, " _
                 & "iif(valordebito=0,'',format(valorDebito,'standard')) AS Débito, format(SaldoLinha,'standard') as Saldo, CpDescId, cpTipoId, CpContaId," _
                 & " DLookup('TipoConta', 'ContaDetalhes', 'Id_Detalhes = 53')" _
                 & " FROM " & tblTemp & " WHERE " & filtro & "  ORDER BY dataMovimento;"

    Obrigado
    HARYSOHN
    HARYSOHN
    Maximo VIP
    Maximo VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 12228
    Registrado : 01/03/2011

    [Resolvido]Consulta a campo de outra tabela cujo ID está na tabela da consulta Empty Re: [Resolvido]Consulta a campo de outra tabela cujo ID está na tabela da consulta

    Mensagem  HARYSOHN em 4/12/2017, 19:23

    Agora funciona colocando o numero da id

    DLookup('TipoConta', 'ContaDetalhes', 'Id_Detalhes = 53')

    Como ao inves de 53 colocar o campo referante na tabela de origem?

    Que é o cpTipoID

    Cumprimentos
    HARYSOHN
    HARYSOHN
    Maximo VIP
    Maximo VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 12228
    Registrado : 01/03/2011

    [Resolvido]Consulta a campo de outra tabela cujo ID está na tabela da consulta Empty Re: [Resolvido]Consulta a campo de outra tabela cujo ID está na tabela da consulta

    Mensagem  HARYSOHN em 4/12/2017, 19:47

    A solução:

    StrSql = "Select idMovimento as Num,IdCaixa as Documento, space(3) & dataMovimento As Movimento, Historico AS Histórico, iif(valorCredito=0,'',format(valorcredito,'standard')) As Crédito, " _
    & "iif(valordebito=0,'',format(valorDebito,'standard')) AS Débito, format(SaldoLinha,'standard') as Saldo, CpDescId, cpTipoId, CpContaId," _
    & " DLookup('TipoConta', 'ContaDetalhes', 'Id_Detalhes = ' & CpTipoID)" _
    & " FROM " & tblTemp & " WHERE " & filtro & " ORDER BY dataMovimento;"

    Dlookup em uma consulta SQL/VBA fazendo referência a um campo da tabela de origem

    DLookup('TipoConta', 'ContaDetalhes', 'Id_Detalhes = ' & CpTipoID)


    Cumprimentos
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

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

    [Resolvido]Consulta a campo de outra tabela cujo ID está na tabela da consulta Empty Re: [Resolvido]Consulta a campo de outra tabela cujo ID está na tabela da consulta

    Mensagem  Alexandre Neves em 4/12/2017, 19:52

    Boa noite, amigo Hary
    Porque não incluir na instrução o relacionamento da tabela?
    StrSql = "Select idMovimento as Num,IdCaixa as Documento, space(3) & dataMovimento As Movimento, Historico AS Histórico, iif(valorCredito=0,'',format(valorcredito,'standard')) As Crédito, iif(valordebito=0,'',format(valorDebito,'standard')) AS Débito, format(SaldoLinha,'standard') as Saldo, CpDescId, cpTipoId, CpContaId", _
    & "(SELECT TipoConta FROM ContaDetalhes WHERE Id_Detalhes=CpTipoID) AS TipoConta" _
    & " FROM " & tblTemp & " WHERE " & filtro & " ORDER BY dataMovimento;"
    Abraço,

    Será mais rápido que DLookup


    .................................................................................
    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
    HARYSOHN
    HARYSOHN
    Maximo VIP
    Maximo VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 12228
    Registrado : 01/03/2011

    [Resolvido]Consulta a campo de outra tabela cujo ID está na tabela da consulta Empty Re: [Resolvido]Consulta a campo de outra tabela cujo ID está na tabela da consulta

    Mensagem  HARYSOHN em 4/12/2017, 20:18

    Boas Alexandre... Tudo na Paz?

    Então... o que ocorre é que este formulário é baseado em uma tabela temporária...
    ou seja, quando o formulário abre extrai as informações da tabela base segundo critérios de filtros de dias... justamente devido a limitação de registro na lstBox... Ao abrir o formulário é criada uma tabela temporária que recebe os registros filtrados da tabela original... essa tabela é excluida recriada a cada operação...Eu ate fiz o relacionamento... o que funcionou para uma consulta... so que o relacionamento impede a exclusao e criação de nova tabela... Então dá erro "A tabela Tmp já existe" Por isso optei pelo Dlookup


    Abraços
    avatar
    gutobrotas
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 66
    Registrado : 16/02/2013

    [Resolvido]Consulta a campo de outra tabela cujo ID está na tabela da consulta Empty Re: [Resolvido]Consulta a campo de outra tabela cujo ID está na tabela da consulta

    Mensagem  gutobrotas em 6/12/2017, 16:13

    caramba... vcs manjam demais!!!
    vou tentar adaptar aqui
    obrigado

      Data/hora atual: 23/4/2019, 03:37