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]Resultado de Select num campo TEXTBOX

    Compartilhe

    Edgar Massa
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 33
    Registrado : 08/01/2017

    [Resolvido]Resultado de Select num campo TEXTBOX

    Mensagem  Edgar Massa em 24/12/2017, 18:07

    Senhores,

    Boa tarde

    Estou com uma dúvida
    tenho um form onde vou cadastrar alguns dados e tem um campo de chave estrangeira, forma mais viável que achei pra vincular os dados desta tabela com o campo de chave estrangeira foi este campo estrangeiro fazer um select com alguns parametros (where) que coloquei no form e trazendo o resultado num textbox,

    Dúvida
    é possível realizar a consulta neste campo de chave estrangeira e depois que eu clicar em salvar, ele salvar o valor do select corretamente ?
    avatar
    ronaldojr1
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 323
    Registrado : 01/08/2011

    Re: [Resolvido]Resultado de Select num campo TEXTBOX

    Mensagem  ronaldojr1 em 5/1/2018, 12:34

    bom dia,
    eu tinha muito essa dificuldade e tem diversas maneiras de fazer o que vc pretende,
    a mais interessante que descobri ate agora e usar a combobox.
    o uso funciona assim:

    Na origem da linha da combobox vc faz sua consulta. por exemplo: select codigoCliente, nomeCliente, cpfCliente from tabela cliente order by nomeCliente

    eu gosto de manter a chave estrangeira na primeira coluna (a primeira coluna é 0) e nas demais ficam os dados que vc quer exibir para o
    cliente ou nao.

    vou usar a consulta que fiz mais acima para simular o que eu posso fazer. por exemplo:
    quando o usuario clicar na combo mostra todos os clientes em ordem alfa, mas o campo codigoCliente e cpfCliente está oculto para o usuario,
    mas internamente se agente precisar usar o cpf do cliente nao precisa fazer uma consulta na tabela clientes para saber, basta
    chamar o valor da coluna 2 da combobox do nosso exemplo.

    se tiver duvidas como fazer
    eu ja ensinei outro amigo do forum como fazer, da uma olhada na mensagem 6 desse link

    [Você precisa estar registrado e conectado para ver este link.]





    Edgar Massa
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 33
    Registrado : 08/01/2017

    Re: [Resolvido]Resultado de Select num campo TEXTBOX

    Mensagem  Edgar Massa em 5/1/2018, 16:06

    Boa tarde man.

    Então, minha dúvida está na hora de cadastra, por ex.

    Tenho uma tabela de impressoras e uma tabela de requisitos de impressora, trabalho com plotters.

    Eu criei um formulário no qual estou cadastrando o requisito de uma impressora, onde eu tenho 3 combobox fazendo consultas como modelo, série da impressora e tals.

    O campo código da impressora é chave estrangeira na tabela requisitos de impressora, o que eu quero é:

    Ao selecionar o modelo, série, a impressora que eu vou cadastrar o requisito, eu queria que um textbox atualizasse com o código da impressora corretamente já no campo, número 1, 2 e tals, pode até ficar oculto, mais que no momento que eu registrar o requisito, na tabela, inserisse o código de impressora exato.

    estou utilizando este código, poderia me ajuda

    Public Function PegarCodigo() As Variant
    Dim db As dao.Database
    Dim rs As dao.Recordset
    Dim strSQL As String
    strSQL = "SELECT TB_IMPRESSORA.Código FROM TB_IMPRESSORA WHERE TB_IMPRESSORA.[Modelo da Impressora]='" & [Forms]![frm_Cadastro_Requisitos]![txt_ModeloImpressora] & "'"

    Set db = CurrentDb()
    Set rs = db.OpenRecordset(strSQL, dbOpenSnapshot)
    If rs.RecordCount = 0 Then
    PegarCodigo = Null
    Else
    PegarCodigo = rs(0)
    End If
    rs.Close
    Set rs = Nothing
    Set db = Nothing
    End Function
    avatar
    bigfill
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 318
    Registrado : 27/03/2015

    Re: [Resolvido]Resultado de Select num campo TEXTBOX

    Mensagem  bigfill em 5/1/2018, 16:36

    Edgar Massa, Não entedi muito bem mais acho que você esta querendo fazer um filtro em cascata, se for criei um exemplo.
    Anexos
    FiltroCascata.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (30 Kb) Baixado 8 vez(es)

    Edgar Massa
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 33
    Registrado : 08/01/2017

    Re: [Resolvido]Resultado de Select num campo TEXTBOX

    Mensagem  Edgar Massa em 5/1/2018, 17:22

    bigfill, muito bom exemplo, porém isto eu já consegui,

    minha dúvida ainda é, quando eu vou cadastra um requisito para a impressora X, como que vou popular o campo CodigoImpressora (chave estrangeira) na tabela de requisitos?!

    penso eu fazer da seguinte forma, ter um textbox oculto trazendo o codigo da impressora depois de fazer esses filtros do combobox e quando eu clicar no botao de cadastrar o requisito da impressora, inserir o codigo da impressora que eu fiz a consulta, no campo de chave estrangeira, não sei se consegui ser mais especifico?!...
    avatar
    ronaldojr1
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 323
    Registrado : 01/08/2011

    Re: [Resolvido]Resultado de Select num campo TEXTBOX

    Mensagem  ronaldojr1 em 5/1/2018, 18:33

    posta o bd para analisarmos melhor.
    avatar
    bigfill
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 318
    Registrado : 27/03/2015

    Re: [Resolvido]Resultado de Select num campo TEXTBOX

    Mensagem  bigfill em 5/1/2018, 18:45

    Essa chave estrangeira que você esta falando, seria um "CodigoDeCadastro" com numeração automática ?
    avatar
    bigfill
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 318
    Registrado : 27/03/2015

    Re: [Resolvido]Resultado de Select num campo TEXTBOX

    Mensagem  bigfill em 5/1/2018, 19:09

    Edgar Massa, Se for o "Código/Chave Primaria" existe varias formas de se fazer.

    Mais uma simples que ira resolver seu problema "DLookup", segue no exemplo.
    Anexos
    FiltroCascata.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (32 Kb) Baixado 4 vez(es)
    avatar
    ronaldojr1
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 323
    Registrado : 01/08/2011

    Re: [Resolvido]Resultado de Select num campo TEXTBOX

    Mensagem  ronaldojr1 em 5/1/2018, 20:02

    ae bigfill foi uma otima dica a sua tb.
    dlookup e uma mao na roda,
    mas vou fazer um pequeno comentario so para conhecimento para a galera,
    nao quero criticar sua resposta e tal.
    Eu vi um artigo do avelino e ele diz q dlookup é uma otima ferramenta, mas
    quando lidar com uma quantidade grande de dados dlookup vai deixar a aplicação
    mais pesada. Entao temos q pensar muito bem o uso dessas funções de tipo agregado

    para mais detalhes segue o artigo do avelino

    [Você precisa estar registrado e conectado para ver este link.]

    Edgar Massa
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 33
    Registrado : 08/01/2017

    Re: [Resolvido]Resultado de Select num campo TEXTBOX

    Mensagem  Edgar Massa em 7/1/2018, 02:33

    Boa noite galera

    Vi esta pagina explicando o DLookup, e outras paginas também, o meu medo é que vou utilizar a base numa rede para outras pessoas compartilharem e fazerem modificações e o risco da aplicação ficar pesada existe.

    Uma sugestão que gostaria de verificar com vocês, através desse ótimo exemplo dado pelo bigfill, teria como colocar o cod num textbox como se tivesse atribuindo uma coluna à um combobox?

    Gostaria de ver todas possibilidades com quem tem experiências ou mesmo conhecimento pra não ter imprevistos depois de um banco muito populado.
    avatar
    bigfill
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 318
    Registrado : 27/03/2015

    Re: [Resolvido]Resultado de Select num campo TEXTBOX

    Mensagem  bigfill em 8/1/2018, 10:33

    Bom dia Edgar Massa

    Fiz uma alteração no modelo, desta vez sem a utilização de DLookup como forma de busca.

    Incluir um campo concatenado a tabela e coloquei o campo concatenado como filtro no formulário para lhe trazer o código associado aos filtros.

    É em relação ao DLookup, muito bom a explicação do amigo ronaldojr1.
    Tudo que se possa fazer para deixar a aplicação mais leve melhor. Apesar de que eu nunca tive problemas com o DLookup, onde eu trabalhava desenvolvi um sistema para multi usuários (Uns 200) na rede, e nunca tive problemas quanto a performance. E o sistema era bastante robusto contendo vários setores embutidos tais como Recebimento, Expedição, Controle de Qualidade, RH, Treinamentos, Auditorias, Etc...
    Anexos
    FiltroCascata.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (35 Kb) Baixado 4 vez(es)

    Edgar Massa
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 33
    Registrado : 08/01/2017

    Re: [Resolvido]Resultado de Select num campo TEXTBOX

    Mensagem  Edgar Massa em 8/1/2018, 17:12

    bigfill

    Boa tarde a todos também,

    Consegui usar o exemplo no meu aplicativo.

    Bom, irei usar o DLookup, porque é pra poucos usuários e a aplicação em si não é tão robusta.
    Só o número de registros que é gigantesco.

    De qualquer forma, vou compartilha aqui!

    Usei 3 combobox para consultar a impressora e o codigo dela pra inserir o requisito relacionado com a impressora


    Private Sub cmb_Serie_Change()
    Me.cmb_Modelo = Null
    Me.txt_CodigoImpressora = Null
    Me.cmb_Modelo.Requery
    End Sub


    Private Sub cmb_Linha_Change()
    Me.cmb_Serie = Null
    Me.cmb_Modelo = Null
    Me.txt_CodigoImpressora = Null
    Me.cmb_Serie.Requery
    End Sub


    Private Sub cmb_Modelo_Change()
    Me.txt_CodigoImpressora = DLookup("Código", "TB_IMPRESSORA", "[Modelo da Impressora]= '" & Me.cmb_Modelo & "'")
    End Sub


    E a caixa de texto que recebe o valor da consulta, eu coloco como fonte de controle o campo estrangeiro da tabela de requisitos e daí só registrar. cheers
    avatar
    bigfill
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 318
    Registrado : 27/03/2015

    Re: [Resolvido]Resultado de Select num campo TEXTBOX

    Mensagem  bigfill em 8/1/2018, 17:24

    Edgar Massa, Que bom que resolveu o fórum agradece. cheers

      Data/hora atual: 17/7/2018, 01:18