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]Dúvida em DLookUp

    Compartilhe
    avatar
    Cláudio Machado
    VIP
    VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1402
    Registrado : 17/03/2011

    [Resolvido]Dúvida em DLookUp

    Mensagem  Cláudio Machado em Ter 10 Jan 2017, 23:30

    Boa noite galera.
    Tô apanhando com este código abaixo:

    If DLookup("[Número_NF]", "FINANC_PAGAMENTOS", "[Número_NF] = '" & Me!Número_NF & "' And Txt_Empresa = '" & Me!Txt_Empresa & "'") Then

    O que ocorre, o campo Número_NF pode ser numérico ou texto, se eu mudo as aspas só funciona com um ou outro como fazer para usar os dois tipos no mesmo campo?

    Obrigado antecipadamente.


    .................................................................................
    " Nunca cruze os braços diante de qualquer problema ou dificuldade, pois o maior homem do mundo Jesus,  morreu de braços abertos."

    Agradeça e feche o tópico clicando no botão Resolvido. Se não sabe como, veja  [Você precisa estar registrado e conectado para ver este link.].
    Não esqueça de clicar no Joinha [Você precisa estar registrado e conectado para ver esta imagem.] para agradecer a dica que solucionou seu problema.
    avatar
    hiperjohn
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 49
    Registrado : 06/06/2013

    Re: [Resolvido]Dúvida em DLookUp

    Mensagem  hiperjohn em Ter 10 Jan 2017, 23:39

    Use critério do tipo texto.
    Para não ocorrer erro quando o campo for numérico, use a função CStr no critério. Essa função converte uma variável em texto, quando for possível:

    If DLookup("[Número_NF]", "FINANC_PAGAMENTOS", "[Número_NF] = '" & CStr(Me!Número_NF) & "' And Txt_Empresa = '" & Me!Txt_Empresa & "'") Then

    Abraçõ!
    avatar
    Cláudio Machado
    VIP
    VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1402
    Registrado : 17/03/2011

    Re: [Resolvido]Dúvida em DLookUp

    Mensagem  Cláudio Machado em Qua 11 Jan 2017, 00:27

    Obrigado pela dica amigo.
    Vou testar amanhã e retorno.
    Abraço


    .................................................................................
    " Nunca cruze os braços diante de qualquer problema ou dificuldade, pois o maior homem do mundo Jesus,  morreu de braços abertos."

    Agradeça e feche o tópico clicando no botão Resolvido. Se não sabe como, veja  [Você precisa estar registrado e conectado para ver este link.].
    Não esqueça de clicar no Joinha [Você precisa estar registrado e conectado para ver esta imagem.] para agradecer a dica que solucionou seu problema.
    avatar
    Cláudio Machado
    VIP
    VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1402
    Registrado : 17/03/2011

    Re: [Resolvido]Dúvida em DLookUp

    Mensagem  Cláudio Machado em Qua 11 Jan 2017, 11:21

    Bom dia.
    Não deu certo.
    Se eu digitar texto ocorre erro.


    .................................................................................
    " Nunca cruze os braços diante de qualquer problema ou dificuldade, pois o maior homem do mundo Jesus,  morreu de braços abertos."

    Agradeça e feche o tópico clicando no botão Resolvido. Se não sabe como, veja  [Você precisa estar registrado e conectado para ver este link.].
    Não esqueça de clicar no Joinha [Você precisa estar registrado e conectado para ver esta imagem.] para agradecer a dica que solucionou seu problema.
    avatar
    hiperjohn
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 49
    Registrado : 06/06/2013

    Re: [Resolvido]Dúvida em DLookUp

    Mensagem  hiperjohn em Qua 11 Jan 2017, 14:56

    Boa tarde.
    Eu suponho que, na sua tabela, o campo [Número_NF] esteja como texto.
    Não entendi o erro. A função CStr converte uma variável em string, mesmo que a variável já seja uma string  Very Happy

    Em todo caso, vc pode colocar um If antes do If.
    Ficaria assim:
       Dim retorno as Variant
       If IsNumeric(Me.Número_NF) Then
           retorno= DLookup("[Número_NF]", "FINANC_PAGAMENTOS", "[Número_NF] = " & Me!Número_NF & " And Txt_Empresa = '" & Me!Txt_Empresa & "'") Then
       Else
           retorno= DLookup("[Número_NF]", "FINANC_PAGAMENTOS", "[Número_NF] = '" & Me!Número_NF & "' And Txt_Empresa = '" & Me!Txt_Empresa & "'") Then
       End If

       If Not IsNull(retorno) Then
           *** o seu código ***
       End If
    avatar
    Cláudio Machado
    VIP
    VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1402
    Registrado : 17/03/2011

    Re: [Resolvido]Dúvida em DLookUp

    Mensagem  Cláudio Machado em Qui 12 Jan 2017, 19:37

    Boa tarde.
    Sim o campo na tabela é texto, mas nada feito não funciona...
    Tá brabo, nunca ví nada igual.
    Crying or Very sad


    .................................................................................
    " Nunca cruze os braços diante de qualquer problema ou dificuldade, pois o maior homem do mundo Jesus,  morreu de braços abertos."

    Agradeça e feche o tópico clicando no botão Resolvido. Se não sabe como, veja  [Você precisa estar registrado e conectado para ver este link.].
    Não esqueça de clicar no Joinha [Você precisa estar registrado e conectado para ver esta imagem.] para agradecer a dica que solucionou seu problema.
    avatar
    Silvio
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3641
    Registrado : 20/04/2011

    Re: [Resolvido]Dúvida em DLookUp

    Mensagem  Silvio em Qui 12 Jan 2017, 19:43

    Apenas um pitaco...
    Coloque as entidades envolvidas para que fique mais fácil te ajudar.
    Disponibilize um exemplo.


    .................................................................................
    Caso tenha resolvido a tua duvida, coloque o tópico como resolvido.
    [Você precisa estar registrado e conectado para ver este link.]
    avatar
    Cláudio Machado
    VIP
    VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1402
    Registrado : 17/03/2011

    Re: [Resolvido]Dúvida em DLookUp

    Mensagem  Cláudio Machado em Qua 18 Jan 2017, 12:30

    Bom dia.
    Segue exemplo:
    Anexos
    FINANCEIRO_MAXIMO.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (99 Kb) Baixado 6 vez(es)


    .................................................................................
    " Nunca cruze os braços diante de qualquer problema ou dificuldade, pois o maior homem do mundo Jesus,  morreu de braços abertos."

    Agradeça e feche o tópico clicando no botão Resolvido. Se não sabe como, veja  [Você precisa estar registrado e conectado para ver este link.].
    Não esqueça de clicar no Joinha [Você precisa estar registrado e conectado para ver esta imagem.] para agradecer a dica que solucionou seu problema.
    avatar
    Silvio
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3641
    Registrado : 20/04/2011

    Re: [Resolvido]Dúvida em DLookUp

    Mensagem  Silvio em Qua 18 Jan 2017, 16:23

    Boa tarde...

    Experimente algo assim...
    If DLookup("[Número_NF]", "FINANC_PAGAMENTOS", "[Número_NF]" = Me.Número_NF And Empresa = Me.Empresa And Vencimento = Me.Vencimento) Then
    blá..blá..

    endif


    .................................................................................
    Caso tenha resolvido a tua duvida, coloque o tópico como resolvido.
    [Você precisa estar registrado e conectado para ver este link.]
    avatar
    Cláudio Machado
    VIP
    VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1402
    Registrado : 17/03/2011

    Re: [Resolvido]Dúvida em DLookUp

    Mensagem  Cláudio Machado em Qua 18 Jan 2017, 21:51

    Boa noite Silvio.
    Obrigado por sua ajuda mas...
    Na verdade não acontece nada.
    Não dá erro nenhum e tampouco encontra o registro.
    Nada feito amigo.

    se eu usar assim

    If DLookup("[Número_NF]", "FINANC_PAGAMENTOS", "[Número_NF] = '" & Me!Número_NF & "' and Txt_Empresa = '" & Me!Txt_Empresa & "' And Vencimento = #" & Format(Vencimento, "dd/mm/yyyy") & "#") Then

    e digitar texto no campo Nº do Doc ele acusa erro:

    E se eu usar assim:

    If DLookup("[Número_NF]", "FINANC_PAGAMENTOS", "[Número_NF]" = Me.Número_NF And Empresa = Me.Empresa And Vencimento = Me.Vencimento) Then

    ele grava normal.

    Tá brabo demais...


    .................................................................................
    " Nunca cruze os braços diante de qualquer problema ou dificuldade, pois o maior homem do mundo Jesus,  morreu de braços abertos."

    Agradeça e feche o tópico clicando no botão Resolvido. Se não sabe como, veja  [Você precisa estar registrado e conectado para ver este link.].
    Não esqueça de clicar no Joinha [Você precisa estar registrado e conectado para ver esta imagem.] para agradecer a dica que solucionou seu problema.
    avatar
    Noobezinho
    Moderador
    Moderador

    Respeito às Regras 100%

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

    Re: [Resolvido]Dúvida em DLookUp

    Mensagem  Noobezinho em Qua 18 Jan 2017, 23:27

    Claudio

    Copie e cole o código abaixo no lugar do teu e experimente:


    Código:

    If DLookup("[Número_NF]", "FINANC_PAGAMENTOS", "[Número_NF] = '" & Me!Número_NF & "' and Txt_Empresa = '" & Me!Txt_Empresa & "' And Vencimento = #" & Format(Vencimento, "dd/mm/yyyy") & "#") Then
           MsgBox "Você já Registrou este Doc. Nº " & Número_NF & " no Sistema." & vbCrLf & "Por favor verifique." & vbCrLf & "Não será possível efetuar a Gravação do Registro.", vbCritical, "Atenção"
        ElseIf IsNull(Me![Txt_Empresa]) Then
            MsgBox "Por favor escolha uma Empresa.", vbInformation, "Crítica de Gravação"
            Me.Empresa.SetFocus
        ElseIf IsNull(Me![TipoPagto]) Then
            MsgBox "Por favor escolha Tipo de Pagamento.", vbInformation, "Crítica de Gravação"
        ElseIf IsNull(Me![Vencimento]) Then
            MsgBox "Digite a Data de Vencimento.", vbInformation, "Crítica de Gravação"
            Me.Vencimento.SetFocus
        ElseIf IsNull(Me![Txt_Tipo_Despesa]) Then
            MsgBox "Por favor escolha um Tipo de Despesa.", vbInformation, "Crítica de Gravação"
            Me.Tipo_Despesa.SetFocus
        ElseIf IsNull(Me![Fornecedor]) Then
            MsgBox "Digite o Nome do Beneficiário.", vbInformation, "Crítica de Gravação"
            Me.Fornecedor.SetFocus
        ElseIf IsNull(Me![Número_Cheque]) Then
            MsgBox "Digite o Número do Cheque.", vbInformation, "Crítica de Gravação"
            Me.Número_Cheque.SetFocus
        ElseIf IsNull(Me![TxtTipoPagto_Conta]) Then
            MsgBox "Por favor Digite o número da Remessa Bancária ou Conta.", vbInformation, "Crítica de Gravação"
            Me.TxtTipoPagto_Conta.SetFocus
        ElseIf IsNull(Me![Número_NF]) Or Me.Número_NF = 0 Then
            MsgBox "Digite o Número do Documento. Não pode ser Zero.", vbInformation, "Crítica de Gravação"
            Me.Número_NF.SetFocus
        ElseIf Valor_NF <= 0 Then
            MsgBox "Digite um valor positivo para o Lançamento.", vbInformation, "Crítica de Gravação"
            Me.Valor_NF.SetFocus
        Else
                Nome = Me![Fornecedor]
                imprime = MsgBox("Confirma o Registro para pagamento do Doc. Nº " & Número_NF & ", no valor de " & Format(ValorLiquido, "currency") & " para " & Fornecedor, vbQuestion + vbYesNo, "Confirmar Registro")
                Select Case imprime
                    Case vbYes
                    
                         If Me.INSS > 0 Or ISS > 0 Or IRPJ > 0 Or PIS > 0 Or Cofins > 0 Or CSSL > 0 Then
                            Me.Imposto = True
                         Else
                            Me.Imposto = False
                         End If
                
                         Me.Lançado_Por_Gravado = True
                         Me.Lançado_Por_Data = Date
                         Me.Lançado_Por = Txt_Usuário
                         Me.Txt_Categoria_NF = "AVULSO"
                         Me.Total_Impostos = Me.SomaImpostos
                         Me.ValorPago = Me.ValorLiquido
                    
                         Me.Bot_Grava_Pagamento.enabled = False
                         Me.Bot_Fechar.SetFocus
                                  
                     If MsgBox("Você deseja Adicionar um Novo Registro ?", vbYesNo + vbQuestion, "Novo Pagamento") = vbYes Then

                        Me.Bot_Grava_Pagamento.enabled = True
                        DoCmd.Close acForm, "FI-CONFIRMA_PAGAMENTO_AVULSO"
                        DoCmd.OpenForm "FI-CONFIRMA_PAGAMENTO_AVULSO"
                     Else
                        DoCmd.Close acForm, "FI-CONFIRMA_PAGAMENTO_AVULSO"
                     End If
        
                Case vbNo
                        DoCmd.CancelEvent
                        MsgBox "Registro Não Foi Efetuado!", vbInformation, "Informando..."
                End Select
        End If


    Entenda o seguinte:
    Se o campo for definido como texto, sempre será texto, por exemplo:

    Retorno:

    "Claudio"

    "12345"

    Veja que mesmo sendo algarismos, será campo texto e não numérico.

    Para comprovar isso, utilize

    ? isnumeric(12345)  

    =true/verdadeiro

    ? isnumeric("12345")

    = False






    [ ]'s


    .................................................................................
    Noobezinho

    * A solução funcionou?  [Você precisa estar registrado e conectado para ver esta imagem.] 
    Agradeça e feche o tópico clicando no botão Resolvido
    Se não sabe como, veja [Você precisa estar registrado e conectado para ver este link.].

    Como anexar imagem no teu post do fórum : [Você precisa estar registrado e conectado para ver este link.]

    * Criar arquivos.zip com o Winrar - veja [Você precisa estar registrado e conectado para ver este link.].

    Atualmente estou verificando se quem está pedindo ajuda, ajudamos e não retornou.
    Se a pessoa em questão não deu retorno, não tentarei ajudar novamente .
    avatar
    Cláudio Machado
    VIP
    VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1402
    Registrado : 17/03/2011

    Re: [Resolvido]Dúvida em DLookUp

    Mensagem  Cláudio Machado em Qui 19 Jan 2017, 00:48

    Vou testar amanhã e te passo. Obrigado


    .................................................................................
    " Nunca cruze os braços diante de qualquer problema ou dificuldade, pois o maior homem do mundo Jesus,  morreu de braços abertos."

    Agradeça e feche o tópico clicando no botão Resolvido. Se não sabe como, veja  [Você precisa estar registrado e conectado para ver este link.].
    Não esqueça de clicar no Joinha [Você precisa estar registrado e conectado para ver esta imagem.] para agradecer a dica que solucionou seu problema.
    avatar
    Cláudio Machado
    VIP
    VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1402
    Registrado : 17/03/2011

    Re: [Resolvido]Dúvida em DLookUp

    Mensagem  Cláudio Machado em Qui 21 Set 2017, 22:49

    Esqueci de fechar este tópico.


    .................................................................................
    " Nunca cruze os braços diante de qualquer problema ou dificuldade, pois o maior homem do mundo Jesus,  morreu de braços abertos."

    Agradeça e feche o tópico clicando no botão Resolvido. Se não sabe como, veja  [Você precisa estar registrado e conectado para ver este link.].
    Não esqueça de clicar no Joinha [Você precisa estar registrado e conectado para ver esta imagem.] para agradecer a dica que solucionou seu problema.

      Data/hora atual: Sab 21 Out 2017, 04:21