MaximoAccess

Caro Usuário, não tire as suas duvidas nas Salas de Repositório, abra sempre um novo tópico relacionado, nas salas destinadas para o efeito, como Sala de Tabelas, Consultas, Formulários, Relatórios, Macros, Módulos e VBA.

Obrigado

Administração do MaximoAccess

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

    [Resolvido]Dlookup chave primária

    Compartilhe

    Silvio
    Developer
    Developer

    Respeito às Regras 100%

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

    [Resolvido]Dlookup chave primária

    Mensagem  Silvio em Seg 29 Ago 2016, 18:11

    Boa tarde a todos...

    Tenho o seguinte código abaixo, o mesmo faz uma busca por CPF de clientes, ao localizar retorna uma mensagem se quer vender ou não.

    Caso queria preenche os campos do referido formulário. Porém o Id do Cliente ( chave Primária ) não está vindo como deveria. Tive e tenho que
    acrescentar o mesmo para futuras visualizações.

    Private Sub CPF1_AfterUpdate()
    Dim x As Variant
    Dim y As Variant
    x = DLookup("CPF", "tblClienteVar", "CPF= Forms!FrmPedidoVar!CPF1")
    y = DLookup("nome", "tblclienteVar", "CPF= Forms!FrmPedidoVar!CPF1")
    If x > 0 Then
    If MsgBox("Deseja gerar um pedido para o C.P.F : " & vbCrLf & _
    "_________" & Me.CPF1 & "________" & vbCrLf & _
    "Cliente: " & y, vbYesNo + vbQuestion, Me.Caption) = vbNo Then
    Me.Undo
    DoCmd.CancelEvent
    Me.CPF1 = ""
    MsgBox "Pedido de venda não gerado", vbInformation, Me.Caption
    Exit Sub
    Else
    Me.IDCliente = DLookup("Idcliente", "tblclienteVar", "CPF= Forms!FrmPedidoVar!CPF1")
    Me.Nome = DLookup("nome", "tblclienteVar", "CPF= Forms!FrmPedidoVar!CPF1")
    Me.CPF = DLookup("CPF", "tblclienteVar", "CPF= Forms!FrmPedidoVar!CPF1")
    Me.Telefone = DLookup("fone", "tblclienteVar", "CPF= Forms!FrmPedidoVar!CPF1")
    Me.Celular = DLookup("celular", "tblclienteVar", "CPF= Forms!FrmPedidoVar!CPF1")
    Me.DataVenda.SetFocus
    End If
    End If
    End Sub

    O mesmo está em vermelho

    Será que falta alguma coisa ?

    Silvio
    Developer
    Developer

    Respeito às Regras 100%

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

    Re: [Resolvido]Dlookup chave primária

    Mensagem  Silvio em Seg 29 Ago 2016, 18:50

    Resolvido de outra maneira um pouco mais simples...

    Na caixa texto de pesquisa, evento após atualizar
    Dim c As String, x As String

    x = Me.Pesquisa.Text

    c = " where CPF like '*" & x & "*' or Nome like '*" & x & "*'"
    DoCmd.OpenForm "FrmBuscaCPF"
    Forms!FrmBuscaCPF!LstCliente.RowSource = " SELECT IdclienteVar, CPF,Nome, Fone, Celular FROM TblClienteVar " & c

    End Sub



    e no FrmDesacoplado, com LstBox

    Private Sub Lstcliente_DblClick(Cancel As Integer)
    Forms!FrmPedidoVar!IDCliente = Me.LstCliente.Column(0)
    Forms!FrmPedidoVar!CPF = Me.LstCliente.Column(1)
    Forms!FrmPedidoVar!Nome = Me.LstCliente.Column(2)
    Forms!FrmPedidoVar!Telefone = Me.LstCliente.Column(3)
    Forms!FrmPedidoVar!Celular = Me.LstCliente.Column(4)
    DoCmd.Close
    End Sub

      Data/hora atual: Sab 10 Dez 2016, 06:50