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


+11
crysostomo
fazerbem
good guy
maluco_sergio
Cláudio Más
Noobezinho
Dorival J
vantunes
Jungli
JPaulo
vieirasoft
15 participantes

    Função DLookup explicação

    vieirasoft
    vieirasoft
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7304
    Registrado : 11/05/2010

    Função DLookup explicação Empty Função DLookup explicação

    Mensagem  vieirasoft 22/1/2011, 10:53

    Allen Brown

    Obtendo um valor de uma tabela: DLookup ()

    Cedo ou tarde você vai precisar para recuperar um valor armazenado em uma tabela. Se você faz regularmente escrever facturas às empresas, você terá uma tabela Empresa que contém todos os detalhes da companhia, incluindo um campo CompanyID, bem como um quadro do contrato que armazena apenas CompanyID a olhar para os detalhes. Às vezes você pode basear seu formulário ou relatório em uma consulta que contém todas as tabelas adicionais. Outras vezes, DLookup () vai ser um salva-vidas.

    DLookup () espera que você dê a ele três coisas dentro dos colchetes. Pense neles como:

    Procure o campo _____, _____ da tabela, onde o registro é _____Each destes deve ir entre aspas, separados por vírgulas.

    Você também deve usar colchetes em volta da mesa ou nomes de campo se os nomes contenham caracteres estranhos (espaços, #, etc) ou começar com um número.

    Este é provavelmente o mais fácil de seguir com alguns exemplos:

    1.Você tem um CompanyID como 874, e deseja imprimir o nome da empresa em um relatório;
    2.Você tem como Categoria "C", ea necessidade de mostrar o que significa esta categoria.
    3.Você tem StudentID como "JoneFr", ea necessidade do aluno? Nome completo de um formulário.
    Exemplo 1:
    Procure o campo CompanyName da tabela Empresa, onde CompanyID = 874. Isto traduz-se:

    = DLookup ("CompanyName", "Company", "CompanyID = 874") Você não quer Company 874 impressos para cada registro! Use um e comercial (&) para concatenar o valor atual no campo CompanyID de seu relatório para a empresa "=" critérios:

    = DLookup ("CompanyName", "Company", "CompanyID =" & [CompanyID]) Se o CompanyID é nula (como poderia ser em um novo registro), o terceiro agumenent será incompleta, por isso todo o rendimento expressão # Error . Para evitar que o uso Nz () para fornecer um valor para quando o campo é nulo:

    DLookup = (CompanyName "," Companhia "," CompanyID = "& Nz ([CompanyID], 0)) Exemplo 2:
    O exemplo acima é correto se CompanyID é um número. Mas se o campo é texto, o Access espera aspas em torno dele. Em nosso segundo exemplo, vemos o campo NomeDaCategoria na tabela Cat, onde Categoria = 'C'. Isso significa que o DLookup torna-se:

    = DLookup ("CategoryName", "Gato", "Categoria = 'C'") aspas simples dentro das aspas é uma maneira de fazer citações entre aspas. Mas, novamente, nós não queremos Categoy C 'para todos os registros: temos o valor atual do nosso campo Categoria remendado na citação. Para fazer isso, fechamos a citação após a primeira citação, adicione o conteúdo da categoria, e depois adicionar a citação à direita única. Isto torna-se:

    DLookup = (CategoryName "," Gato "," Categoria = '"&] [Categoria &"' ") Exemplo 3:
    Em nosso terceiro exemplo, temos o nome completo de uma tabela de Student. Mas a tabela aluno tem o nome de divisão em campos Nome e sobrenome, por isso teremos de nos referir a ambos e adicionar um espaço entre elas. Para mostrar esta informação na sua forma, adicionar uma caixa de texto com ControlSource:

    = DLookup ("[nome] &" "& [Sobrenome]", "Estudante", "StudentID = '" & [StudentID] & "'") citações entre aspas
    Agora você sabe como a fornecer as 3 partes para DLookup (), você está usando aspas aspas. O caractere apóstrofo não se o texto contém um apóstrofo, então é melhor usar o caractere de aspas duplas. Mas você deve dobrar-se o carácter de aspas duplas quando se cita dentro.

    Veja as marcas de cotação entre aspas para obter mais detalhes.

    good guy e enio.eltz gostam desta mensagem

    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 11016
    Registrado : 04/11/2009

    Função DLookup explicação Empty Re: Função DLookup explicação

    Mensagem  JPaulo 5/2/2013, 16:50

    Complementando aqui para não se perder a noção da utilização da função DLookup;


    Para valores numericos: (sem aspas)

    DLookup("Campo" , "Tabela" , "CampoFiltro = 123")

    Para Texto: (aspas simples)

    DLookup("Campo" , "Tabela" , "CampoFiltro= 'abcd'")

    Para datas: (cardinal)

    DLookup("Campo" , "Tabela" , "CampoFiltro= #01-08-2012#")



    Referencia a um Controle:

    Para valores numericos: (sem aspas)

    DLookup("Campo", "Tabela", "CampoFiltro = " & forms!NomeDoFormulario!NomeDoCampo)

    Para Texto: (aspas simples)

    DLookup("Campo", "Tabela", "CampoFiltro = '" & forms!NomeDoFormulario!NomeDoCampo & "'")

    Para datas:

    DLookup("Campo", "Tabela", "CampoFiltro = #" & forms!NomeDoFormulario!NomeDoCampo & "#")



    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

    Pay-Pal R$ Aqui
    Pay-Pal € Aqui

    Ou ainda: Aqui (Novo)

    Sucesso e Bons Estudos
    Success and Good Studies

    Função DLookup explicação Folder_announce_new Utilize o Sistema de Busca do Fórum...
    Função DLookup explicação Folder_announce_new 102 Códigos VBA Gratuitos...
    Função DLookup explicação Folder_announce_new Instruções SQL como utilizar...

    good guy, enio.eltz e napoli gostam desta mensagem

    Jungli
    Jungli
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 713
    Registrado : 07/05/2010

    Função DLookup explicação Empty Re: Função DLookup explicação

    Mensagem  Jungli 5/2/2013, 17:31


    Com o Dlookup pode-se extrair valores de varias formas.

    Exemplos:

    * concatenar campos

    Dlookup("[campo1] & [campo2],"nomeDatabela")

    * valores já calculados

    Dlookup("[campo1] + [campo2],"nomeDatabela")

    Dlookup("(([campo1] + [campo2])/100),"nomeDatabela")

    Em relação ao desempenho, concatenando vários campos num único Dlookup, veja como fica um código alternativo (do mestre Avelino)

    Dim seq As String, k
    seq = "[campo1] & '|' & [campo2] & '|' & [campo3] & '|' & [campo4] & '|' & [campo5]"
    seq = Dlookup(seq, "NomeDaTabela", Filtro)
    k = Split(seq, "|")
    Me!campoA = k(0)
    Me!campoB = k(1)
    Me!CampoC = k(2)
    Me!CampoD = k(3)
    Me!CampoE = k(4)

    Conclusão:

    Com isso reduzimos de 5 para apenas 1 viagem a tabela. (DESEMPENHO).

    Fonte:
    Enciclopédia Avelino Sampaio

    good guy e marciof gostam desta mensagem

    avatar
    vantunes
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 6
    Registrado : 16/12/2015

    Função DLookup explicação Empty Re: Função DLookup explicação

    Mensagem  vantunes 26/10/2016, 17:06

    ando as voltas com uma função dlookup

    nao entendo o que esta mal no codigo seguinte

    Código:
    COD_EDIF = DLookup("[COD_EDIF1]", "AUX", "[COD_FREG1]= '" & Me.COD_FREG & "'" And "[N_ORDEM1] = '" & Me.N_ORDEM & "'")

    a tabela AUX tem os registos de texto COD_EDIF1, COD_FREG1, N_ORDEM1. Para cada par N_ORDEM1 e COD_FREG1 ha um Valor COD_EDIF1 correspondente

    quero ao clicar num botao coloque o campo COD_EDIF do formulário com o valor correspondente do par N_ORDEM e COD_FREG do Formulário.

    alguma dica?
    avatar
    Dorival J
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 69
    Registrado : 02/05/2016

    Função DLookup explicação Empty Re: Função DLookup explicação

    Mensagem  Dorival J 30/10/2016, 12:13


    A função Dlookup só funciona com base nas tabelas?

    Não funciona com base em formulários, consultas ou relatórios?

    marciof gosta desta mensagem

    Noobezinho
    Noobezinho
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 4140
    Registrado : 29/06/2012

    Função DLookup explicação Empty Re: Função DLookup explicação

    Mensagem  Noobezinho 30/10/2016, 14:45

    Dorival

    DLookup()
    DSoma()

    Funções que começam com "D" que por sua vez quer dizer Dynaset (tabela), sim, retornam resultados da tabela.

    [ ]'s


    .................................................................................
    A pergunta que não quer calar:
    Por quê quando alguém vem pedir ajuda e conforme o caso pedimos
    para enviar parte do projeto, não temos mais continuidade do tópico?  
    Crê que temos bolas de cristal ou está com medo que "roubemos"  a
    idéia/projeto dele?  Twisted Evil
    Se é tão bom assim...


    Ajude a ser ajudado:
    Seja objetivo na dúvida, dê os detalhes do que precisa, sem rodeios.
    Quando anexar teu projeto, diga onde está o problema, ganhamos mais tempo
    sem precisar procurar o mesmo.

    marciof gosta desta mensagem

    Cláudio Más
    Cláudio Más
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1314
    Registrado : 21/01/2012

    Função DLookup explicação Empty Re: Função DLookup explicação

    Mensagem  Cláudio Más 3/11/2016, 21:10

    vantunes, tente assim:

    Código:
    COD_EDIF = DLookup("[COD_EDIF1]", "AUX", "[COD_FREG1]= '" & Me!COD_FREG & "' And [N_ORDEM1] = '" & Me!N_ORDEM & "'")
    avatar
    maluco_sergio
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 37
    Registrado : 09/11/2016

    Função DLookup explicação Empty Re: Função DLookup explicação

    Mensagem  maluco_sergio 10/12/2016, 11:17


    Bom dia.

    Será que posso usar o Dlookup para fazer o seguinte?

    - procurar o último registo na tabela "Correspondencia_Historico" em que o campo "ID" do "frmCorrespondenciaEntradaEditar" e igual a "ID_Correspondencia" da tabela.
    Então copiar o valor do campo "Destinatario_Correspondencia" da tabela "Correspondencia_Historico" e colar no campo "Responsável_Entrada" do "frmCorrespondenciaEntradaEditar".

    Será possível?

    Obrigado.

    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 11016
    Registrado : 04/11/2009

    Função DLookup explicação Empty Re: Função DLookup explicação

    Mensagem  JPaulo 16/12/2016, 14:06

    Se quer o ultimo registo, não é o Dlookup, será o DLast com a mesma estrutura do Dlookup.


    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

    Pay-Pal R$ Aqui
    Pay-Pal € Aqui

    Ou ainda: Aqui (Novo)

    Sucesso e Bons Estudos
    Success and Good Studies

    Função DLookup explicação Folder_announce_new Utilize o Sistema de Busca do Fórum...
    Função DLookup explicação Folder_announce_new 102 Códigos VBA Gratuitos...
    Função DLookup explicação Folder_announce_new Instruções SQL como utilizar...
    good guy
    good guy
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1304
    Registrado : 05/02/2010

    Função DLookup explicação Empty Função Dlookup explicação

    Mensagem  good guy 20/12/2016, 15:20

    Olá feras,

    Minha contribuição:

    Você pode usar a função DLookup (na IDE do Access ficará assim mesmo) para especificar critérios na linha critérios de uma consulta(na consulta ficará como DPesquisa, separando com ";" no lugar da "," , o campo da tabela e do critério de pesquisa), dentro de uma expressão de campo calculado em uma consulta ou na linha Atualizar para um atualizar consulta.

    Possível:
    =DLookup("[ProductName]", "Products", "[ProductID] =" & Forms![Order Details]!ProductID)   '

    Melhor:
    Dim sID As Long
    sID = Forms![Order Details]!ProductID

    txtCampoX =DLookup("[ProductName]", "Products", "[ProductID] =" & sID)

    Outra coisa, elimine a possibilidade de surgir uma mensagem de erro na depuração de seu código e tornar seu código vulnerável a modificações indesejadas com:

    On Error Resume Next (No início do código) <===  
    Dim sID As Long
    sID = Forms![Order Details]!ProductID

    txtCampoX =DLookup("[ProductName]", "Products", "[ProductID] =" & sID)

    E a função Nz para possibilitar trabalhar o código mesmo com campos nulos e evitar a abertura do código para modificações indesejadas.

    txtCampoX =Nz(DLookup("[ProductName]", "Products", "[ProductID] =" & sID))


    Última edição por good guy em 1/8/2018, 22:25, editado 2 vez(es)
    avatar
    fazerbem
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 439
    Registrado : 05/03/2017

    Função DLookup explicação Empty Re: Função DLookup explicação

    Mensagem  fazerbem 1/8/2018, 17:58

    Isso me serviu bem !
    crysostomo
    crysostomo
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2676
    Registrado : 23/01/2018

    Função DLookup explicação Empty Re: Função DLookup explicação

    Mensagem  crysostomo 16/8/2019, 18:46

    Boa tarde amigos, fazendo outro sistema com o DLookup, encontrei o erro,com certeza vai dar em outros que fiz.
    se o usuario colocar uma apas, (Eduardo') o access abre o vba.

    E se o usuário quser colocar a senha string mais número também da erro.
    Como tratar esse erro?


    .................................................................................
    Obs.: Coloque somente as partes defeituosas para que possamos encontrar e entender  o problema mais rápido para lhe ajudar. Disponho.
    Uma mão ajuda a outra.
    Feliz aquele que transfere o que sabe e aprende o que ensina.
    DamascenoJr.
    DamascenoJr.
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3845
    Registrado : 22/11/2016

    Função DLookup explicação Empty Re: Função DLookup explicação

    Mensagem  DamascenoJr. 16/8/2019, 21:44

    Veja, crysostomo
    docs.microsoft.com/pt-br/office/vba/access/concepts/criteria-expressions/include-quotation-marks-in-string-expressions

    Em resumo, no lugar de aspas simples coloque aspas duplas duas vezes


    .................................................................................
    Ajude-se a ser ajudado, anexe seu projeto.
    Sempre tente entender o código,
    não somente copie e cole.
    Positive as mensagens que achar útil clicando no '+' no canto superior direito delas.

    good guy gosta desta mensagem

    crysostomo
    crysostomo
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2676
    Registrado : 23/01/2018

    Função DLookup explicação Empty Re: Função DLookup explicação

    Mensagem  crysostomo 19/8/2019, 17:34

    Obrigado Ivan.
    Vou estudar isso


    .................................................................................
    Obs.: Coloque somente as partes defeituosas para que possamos encontrar e entender  o problema mais rápido para lhe ajudar. Disponho.
    Uma mão ajuda a outra.
    Feliz aquele que transfere o que sabe e aprende o que ensina.
    avatar
    enio.eltz
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 63
    Registrado : 19/07/2016

    Função DLookup explicação Empty Re: Função DLookup explicação

    Mensagem  enio.eltz 31/7/2020, 20:38

    Boa tarde

    Gostaria de deixar aqui meu agradecimento pelas instruções dadas neste post. Me auxiliou muito.

    Muito obrigado!!!

    good guy gosta desta mensagem

    DamascenoJr.
    DamascenoJr.
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3845
    Registrado : 22/11/2016

    Função DLookup explicação Empty Re: Função DLookup explicação

    Mensagem  DamascenoJr. 22/10/2020, 22:13

    Up!

    Muitos membros se perdem nessas funções.

    Este é um ótimo tópico. Isso vale para todas as funções D - DCount, DMin, DMax, DLookup, DLast, DFirst, DSum.


    .................................................................................
    Ajude-se a ser ajudado, anexe seu projeto.
    Sempre tente entender o código,
    não somente copie e cole.
    Positive as mensagens que achar útil clicando no '+' no canto superior direito delas.
    Mylton
    Mylton
    VIP
    VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1007
    Registrado : 23/08/2010

    Função DLookup explicação Empty Re: Função DLookup explicação

    Mensagem  Mylton 26/10/2022, 20:45

    Para pessoas em aprendizado penso que um exemplo somaria muito.
    Obrigado
    Marcelo David
    Marcelo David
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3857
    Registrado : 21/04/2011

    Função DLookup explicação Empty Re: Função DLookup explicação

    Mensagem  Marcelo David 3/11/2022, 20:17

    Olá, no meu canal há um vídeo onde trato do dlookup, vejam aqui.


    .................................................................................
    Aprenda como criar formulário desacoplado.
    Conheça meu canal no Youtube e se inscreva.
    Função DLookup explicação Marcel11
    Mylton
    Mylton
    VIP
    VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1007
    Registrado : 23/08/2010

    Função DLookup explicação Empty Re: Função DLookup explicação

    Mensagem  Mylton 4/11/2022, 14:22

    Vlw
    Marcelo.
    Seu curso tbm é show.

    Conteúdo patrocinado


    Função DLookup explicação Empty Re: Função DLookup explicação

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 29/3/2024, 00:42