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]Apresentar Campo do Banco de Dados numa TextBox via SQL

    Compartilhe

    Edson Sulina
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 15
    Registrado : 16/07/2015

    [Resolvido]Apresentar Campo do Banco de Dados numa TextBox via SQL

    Mensagem  Edson Sulina em Ter 02 Maio 2017, 17:39

    Boa tarde, pessoal.

    Darei um exemplo simples para facilitar a ajuda!

    Tenho a tabela "Cadastro" com dois campos: "Codigo" e "Nome".
    Tenho um formulário "Consulta" NÃO associado à tabela, com dois textBox também NÃO associados: "ConsultaCodigo" e "ConsultaNome" e um botão "Consultar".

    Quero que o usuário digite o código no textBox "ConsultaCodigo" e, ao pressionar o botão "Consultar", o nome seja apresentado no textBox "ConsultaNome".

    Tentei o código abaixo no Consultar_Click(), sem sucesso.
    Me.ConsultaNome.text = DoCmd.RunSql ("SELECT Nome FROM Cadastro WHERE Codigo = Me.ConsultaCodigo")

    Preciso manter a estrutura do formulário desta forma, sem associar os textBox com a tabela.
    Desde já, obrigado.

    Edson Sulina Ruschel
    avatar
    CassioFabre
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 434
    Registrado : 18/01/2013

    Re: [Resolvido]Apresentar Campo do Banco de Dados numa TextBox via SQL

    Mensagem  CassioFabre em Ter 02 Maio 2017, 19:55

    Boa tarde,

    No clique do botão coloque:
    Código:
    If not isnull(me.consultacodigo) = true then
        dim rs as recordset

        set rs = currentdb.openrecordset("select * from cadastro where codigo = " & me.consultacodigo & "")

        if rs.recodcount > 0 then
            consultanome = rs!nome
        else
            msgbox "Codigo não encontrado.", vbCritical, "Erro"
            consultacodigo = null
        end if
    else
        msgbox "Informe um código para consulta.", vbcritical, "erro"
        consultacodigo.setfocus
    end if

    Abraço.

    Edson Sulina
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 15
    Registrado : 16/07/2015

    Resolvido

    Mensagem  Edson Sulina em Ter 02 Maio 2017, 22:44

    Perfeito!

    Muito obrigado.
    avatar
    CassioFabre
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 434
    Registrado : 18/01/2013

    Re: [Resolvido]Apresentar Campo do Banco de Dados numa TextBox via SQL

    Mensagem  CassioFabre em Qua 03 Maio 2017, 11:57

    Bom dia,

    Agradecemos o retorno.

    Vale ressaltar que como era apenas um campo, o mais simples seria usar o DLookup(), porém se você o extrapolar para vários campos, o desempenho cairá drásticamente, principalmente se estiver trabalhando com backend em rede. isto porque a cada vez que ele é chamado, ele vai à tabela, causando um trafego grande de dados e consequentemente a lentidão do processo. Obviamente dá pra adaptar o DLookup() para se conseguir este resultado, mas o mais usual é usar o recordset como eu fiz, que se adapta bem a qualquer situação.

    Abraço.

      Data/hora atual: Seg 25 Set 2017, 10:37