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


3 participantes

    [Resolvido]Função DLookup - Preenchimento automático campos

    avatar
    edjunho
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 235
    Registrado : 24/12/2011

    [Resolvido]Função DLookup - Preenchimento automático campos Empty Função DLookup - Preenchimento automático campos

    Mensagem  edjunho 19/6/2013, 16:51

    Boa tarde,

    tenha uma tabela de nome (clientes)com os seguintes campos:

    Nome
    Email
    CPF
    Telefone
    Cidade

    Caixa de texto (não acoplada) de nome "txtClientes"

    Quero ao se digitar o número do cadastro nesta caixa me preenchesse automaticamente todos os campos referente ao cadastro.

    Usei este código na caixa de texto:

    Private Sub txtClientes_BeforeUpdate(Cancel As Integer)
    Me.Nome = DLookup("Nome", "clientes", "Codigo = '" & Me.txtClientes & "'")
    Me.Email = DLookup("Email", "clientes", "Codigo = '" & Me.txtClientes & "'")
    Me.Cidade = DLookup("Cidade", "clientes", "Codigo = '" & Me.txtClientes & "'")
    Me.CPF = DLookup("CPF", "clientes", "Codigo = '" & Me.txtClientes & "'")
    Me.Telefone = DLookup("Telefone", "clientes", "Codigo = '" & Me.txtClientes & "'")

    End Sub

    Observação o campo "Cidade" está vinculada a outra tabela de nome "Cidades"


    está acusando erro.... não entendi o porque.
    matheuspereira
    matheuspereira
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 513
    Registrado : 31/12/2012

    [Resolvido]Função DLookup - Preenchimento automático campos Empty Função DLookup

    Mensagem  matheuspereira 19/6/2013, 17:07

    Boa tarde amigo, da uma olhada e vê se isso te ajuda...
    Anexos
    [Resolvido]Função DLookup - Preenchimento automático campos Attachmentteste5.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (31 Kb) Baixado 109 vez(es)
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Função DLookup - Preenchimento automático campos Empty Re: [Resolvido]Função DLookup - Preenchimento automático campos

    Mensagem  JPaulo 19/6/2013, 17:08

    Me.txtClientes é o codigo e é numerico ?

    Porque não utiliza Recordset em vez 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

    [Resolvido]Função DLookup - Preenchimento automático campos Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Função DLookup - Preenchimento automático campos Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Função DLookup - Preenchimento automático campos Folder_announce_new Instruções SQL como utilizar...
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Função DLookup - Preenchimento automático campos Empty Re: [Resolvido]Função DLookup - Preenchimento automático campos

    Mensagem  JPaulo 19/6/2013, 17:15

    No evento depois de atualizar e não no antes de;

    Private Sub txtClientes_AfterUpdate()
    On Error Resume Next

        Dim db As DAO.Database
        Dim rs As DAO.Recordset
        Dim strSQL As String
           
        Me.txtClientes.SetFocus
        If Me.txtClientes.Value > 0 Then
            strSQL = "SELECT * FROM clientes WHERE Codigo = " & Me.txtClientes.Value 'se for numerico
            'strSQL = "SELECT * FROM clientes WHERE Codigo = '" & Me.txtClientes.Value & "'" 'se for texto
        
            Set db = CurrentDb
            Set rs = db.OpenRecordset(strSQL)
            If Not rs.BOF Then
                Me.Nome = rs("Nome")
                Me.Email = rs("Email")
                Me.CPF = rs("CPF")
                Me.Telefone = rs("Telefone")
            End If
            rs.Close
            Set rs = Nothing
            db.Close
            Set db = Nothing
        End If
    End Sub


    .................................................................................
    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

    [Resolvido]Função DLookup - Preenchimento automático campos Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Função DLookup - Preenchimento automático campos Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Função DLookup - Preenchimento automático campos Folder_announce_new Instruções SQL como utilizar...
    avatar
    edjunho
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 235
    Registrado : 24/12/2011

    [Resolvido]Função DLookup - Preenchimento automático campos Empty Re: [Resolvido]Função DLookup - Preenchimento automático campos

    Mensagem  edjunho 21/6/2013, 04:42

    Mestre João Paulo,

    Sua Recordset é maravilhosa.

    Fiquei como uma dúvida.
    E qual caso usaria a linha:
    'strSQL = "SELECT * FROM clientes WHERE Codigo = '" & Me.txtClientes.Value & "'" 'se for texto

    percebi que é no caso de texto, mas tentei usar como texto no caixa de texto txtClientes e pesquisei pelo nome mas não consegui.
    Ao mesmo tempo, não sei se o raciocínio seria este mestre.

    Um outro problema que estou enfrentando é que neste código testei várias vezes como os nomes que existiam no cadastro e realmente foi preenchido
    os outros campos automaticamente, porém, de tanto repetir o nome cadastrado na posição 1 repetia o nome da posição 2 não sei porque.
    É como se perdesse o cadastro inicial e vira-se uma cópia no registro 2. Não sei se deu para entender. Só testando mesmo.

    Desculpe tantas perguntas ao mesmo tempo mas as dúvidas apareceram. rs

    "...If Me.txtClientes.Value > 0 Then..." Qual seria a função de um controle ter .Value? Por que se usa.

    Desde já muito obrigado a todos que se dispuseram a colaborar como alguns exemplos e dicas. Agradecido a todos.

    Banco modificado:
    Anexos
    [Resolvido]Função DLookup - Preenchimento automático campos AttachmentFunção DLookup.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (79 Kb) Baixado 47 vez(es)
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Função DLookup - Preenchimento automático campos Empty Re: [Resolvido]Função DLookup - Preenchimento automático campos

    Mensagem  JPaulo 21/6/2013, 08:47

    Ola;

    A questão de estar a repetir, é que o formulario está vinculado à tabela Clientes, ae tantas quantas vezes você inserir o código, ele preenche todos os campos nessa tabela.

    If Me.txtClientes.Value > 0 Then, serve para não abrir o Recordset vazio, ou seja se existir dados na caixa de texto ele abre o recordset.
    Anexos
    [Resolvido]Função DLookup - Preenchimento automático campos AttachmentFuncao DLookup_II.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (35 Kb) Baixado 172 vez(es)


    .................................................................................
    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

    [Resolvido]Função DLookup - Preenchimento automático campos Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Função DLookup - Preenchimento automático campos Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Função DLookup - Preenchimento automático campos Folder_announce_new Instruções SQL como utilizar...
    avatar
    edjunho
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 235
    Registrado : 24/12/2011

    [Resolvido]Função DLookup - Preenchimento automático campos Empty Re: [Resolvido]Função DLookup - Preenchimento automático campos

    Mensagem  edjunho 21/6/2013, 13:34

    Mestre, JPaulo,

    Obrigado, Agora entendi os procedimentos.
    Fica na bênção.
    Um bom dia de trabalho.

    Conteúdo patrocinado


    [Resolvido]Função DLookup - Preenchimento automático campos Empty Re: [Resolvido]Função DLookup - Preenchimento automático campos

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 6/5/2024, 17:27