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]Caixa de Listagem

    Compartilhe

    Edgar Massa
    Novato
    Novato

    Respeito às Regras 100%

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

    [Resolvido]Caixa de Listagem

    Mensagem  Edgar Massa em Seg 08 Jan 2018, 17:23

    Boa tarde senhores

    Tenho um formulário onde tenho uma caixa de listagem fazendo uma consulta de impressoras.

    E neste mesmo formulário, tenho caixas de texto, sendo elas: Requisitos de Hard, Requisitos de Aliment, Requisitos de Ambiente e por ai vai.

    Explicando a estrutura e relacionamento do meu banco, tenho uma tabela;

    Impressoras
    Codigo
    Modelo
    Serie
    Linha

    Tabela Requisitos de Impressoras
    Codigo
    Codigo_Impressora
    Requisito_Hard
    Requisito_Aliment
    ...

    Como faço para clicar numa impressora da caixa de listagem e os requisitos registrados dela apareçam nos campos ?
    avatar
    José Machado
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 64
    Registrado : 13/09/2016

    Re: [Resolvido]Caixa de Listagem

    Mensagem  José Machado em Seg 08 Jan 2018, 18:06

    Amigo

    No Editor VBA crie um método Chamando Preecher_txt, ex:

    Sub Preencher_txt()
    dim conexao As DAO.Database
    dim result_set As DAO.Recordset
    dim query As String

    query = "SELECT * FROM a tabela impressora LEFT JOIN a tabela Requisitos WHERE Requisitos de Impressoras.Codigo_Impressora = "& me.lista_impressora.column(0) &";"

    Set conexao = CurrentDb
    Set result_set = conexao .OpenRecordset(query)

    seu_campo_de_texto = result_set("campo_da_tabela")
    seu_campo_de_texto = result_set("campo_da_tabela")

    Set result_set = Nothing
    Set conexao = Nothing

    End Sub


    Depois é só chamar o metodo no evento do clique da lista

    Private Sub sua_lista_Click()
    If Me.sua_lista.ListCount > -1 Then
    Preencher_txt
    End If

    End Sub

    Edgar Massa
    Novato
    Novato

    Respeito às Regras 100%

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

    Re: [Resolvido]Caixa de Listagem

    Mensagem  Edgar Massa em Ter 09 Jan 2018, 00:59

    Cara, não deu certo

    Tentei desta forma

    Public Sub ConsultarRequisitos()
    Dim conexao As DAO.Database
    Dim result_set As DAO.Recordset
    Dim query As String

    query = "SELECT TB_IMPRESSORA.* " & _
    "FROM TB_IMPRESSORA INNER JOIN TB_REQUISITOS_DE_IMPRESSORA ON " & _
    "TB_IMPRESSORA.Código = TB_REQUISITOS_DE_IMPRESSORA.[Código da Impressora] " & _
    "WHERE (((TB_REQUISITOS_DE_IMPRESSORA.[Código da Impressora])= " & _
    "[forms]![frm_Consultar_Requisitos]![lst_RequisitosImpressoras])); "

    Set conexao = CurrentDb
    Set result_set = conexao.OpenRecordset(query)

    Requisito_de_Hardware = result_set("Requisito de Hardware")
    End Sub


    Aparece "Parâmetros Insuficientes. Eram esperados 1."
    avatar
    Noobezinho
    Moderador
    Moderador

    Respeito às Regras 100%

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

    Re: [Resolvido]Caixa de Listagem

    Mensagem  Noobezinho em Ter 09 Jan 2018, 09:53

    Olá Edgar

    Se entendi, ao clicar em uma impressora numa listbox(caixa de listagem) , o aplicativo procura na tabela de requisitos os dados para essa impressora e coloca em outros campos (caixa de texto).

    Se for isso, por que não colocar esses dados numa tabela somente, já que dados são únicos para cada impressora?

    Ou seja, una as duas tabelas.

    [ ]"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 ajudamos alguém e não retornou.
    Se não deu retorno, não ajudo novamente .

    Edgar Massa
    Novato
    Novato

    Respeito às Regras 100%

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

    Re: [Resolvido]Caixa de Listagem

    Mensagem  Edgar Massa em Ter 09 Jan 2018, 14:01

    Noobezinho boa tarde

    Acostumado mexer só com banco, modelei desta forma, mais achei até melhor assim se não a tabela de impressoras (penso eu), ia ficar muito poluída, banco não normalizado e etc.. ! rs

    E nessa altura do campeonato, não da pra mexer na estrutura, se não vou ter um pouco de trabalho desnecessário!
    avatar
    Noobezinho
    Moderador
    Moderador

    Respeito às Regras 100%

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

    Re: [Resolvido]Caixa de Listagem

    Mensagem  Noobezinho em Ter 09 Jan 2018, 14:23

    Bem se entendi, experimente isso:

    Faça uma consulta adicionando as duas tabelas.

    Utilize essa consulta como origem da linha da listbox

    Como deseja que apareçam os dados dos requisitos em textboxes no mesmo formulário,

    no evento Ao clicar de cada campo que ficar visivel na listbox, coloque:

    =Minhafunção()

    crie a função para esses código, por exemplo: Minhafunção
    e coloque:
    Me.Requisitos de Hard = me.listbox.Column(1)
    Me. Requisitos de Aliment =me.listbox.Column(1)
    Me. Requisitos de Ambiente=me.listbox.Column(1)
    Verifique cada campo em que ordem está na listbox começando com 0 para a primeira coluna e coloque no parênteses de column().

    Assim quando clicar em qualquer campo da linha do registro, ira executar a função e preencher os campos do formulário.

    Acho que é isso que deseja.

    [ ]'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 ajudamos alguém e não retornou.
    Se não deu retorno, não ajudo novamente .

    Edgar Massa
    Novato
    Novato

    Respeito às Regras 100%

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

    Re: [Resolvido]Caixa de Listagem

    Mensagem  Edgar Massa em Ter 09 Jan 2018, 19:51

    Este método só funciona adicionando a coluna do requisito na caixa de listagem, e não é essa minha intenção.
    avatar
    Noobezinho
    Moderador
    Moderador

    Respeito às Regras 100%

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

    Re: [Resolvido]Caixa de Listagem

    Mensagem  Noobezinho em Ter 09 Jan 2018, 19:53

    Lembre-se que pode ocultar colunas na listbox.


    .................................................................................
    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 ajudamos alguém e não retornou.
    Se não deu retorno, não ajudo novamente .

    Edgar Massa
    Novato
    Novato

    Respeito às Regras 100%

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

    Re: [Resolvido]Caixa de Listagem

    Mensagem  Edgar Massa em Ter 09 Jan 2018, 20:25

    Não funcionou Noobezinho

    Mesmo ocultando, o código funciona se eu deixa a coluna lá na list
    avatar
    Noobezinho
    Moderador
    Moderador

    Respeito às Regras 100%

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

    Re: [Resolvido]Caixa de Listagem

    Mensagem  Noobezinho em Ter 09 Jan 2018, 20:26

    A coluna deve ficar na listbox, mas oculta e deve funfar.



    .................................................................................
    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 ajudamos alguém e não retornou.
    Se não deu retorno, não ajudo novamente .

    Edgar Massa
    Novato
    Novato

    Respeito às Regras 100%

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

    Re: [Resolvido]Caixa de Listagem

    Mensagem  Edgar Massa em Ter 09 Jan 2018, 20:50

    Desculpe, acho que devo ter esquecido isto, pra deixa então a coluna oculta como que faz?
    avatar
    Noobezinho
    Moderador
    Moderador

    Respeito às Regras 100%

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

    Re: [Resolvido]Caixa de Listagem

    Mensagem  Noobezinho em Ter 09 Jan 2018, 21:01

    Na folha de propriedades da listbox, na propriedade número de colunas, coloque a quantidade de colunas existentes.
    Logo abaixo, na propriedade Largura das colunas, coloque a largura desejada de cada coluna, para ocultar uma coluna coloque 0.

    Exemplo:

    Numa lista com 5 colunas, sendo que a terceira ficará oculta:

    1cm;2,5cm;0;1cm;1cm

    É isso.

    [ ]'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 ajudamos alguém e não retornou.
    Se não deu retorno, não ajudo novamente .

    Edgar Massa
    Novato
    Novato

    Respeito às Regras 100%

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

    Re: [Resolvido]Caixa de Listagem

    Mensagem  Edgar Massa em Ter 09 Jan 2018, 23:41

    Consegui meu querido

    Só ainda fico um problema, tenho um campo de busca que está assim
    Private Sub txt_Consultar_Change()
    Dim Busca As String
    Busca = Me.txt_Consultar.Text

    Me.lst_RequisitosImpressoras.RowSource = "SELECT TB_IMPRESSORA.* " & _
    "FROM TB_IMPRESSORA WHERE TB_IMPRESSORA.Código Like """ & Chr(42) & TodosAcentos(Me.txt_Consultar.Text) & Chr(42) & """" & _
    "OR TB_IMPRESSORA.[Série da Impressora] Like """ & Chr(42) & TodosAcentos(Me.txt_Consultar.Text) & Chr(42) & """" & _
    "OR TB_IMPRESSORA.[Modelo da Impressora] Like """ & Chr(42) & TodosAcentos(Me.txt_Consultar.Text) & Chr(42) & """" & _
    "OR TB_IMPRESSORA.[Tipo de Impressora] Like """ & Chr(42) & TodosAcentos(Me.txt_Consultar.Text) & Chr(42) & """" & _
    "OR TB_IMPRESSORA.[Linha de Impressora] Like """ & Chr(42) & TodosAcentos(Me.txt_Consultar.Text) & Chr(42) & """" & _
    "ORDER BY TB_IMPRESSORA.[Modelo da Impressora];"


    e ao clicar depois que ele faz o filtro, agora nao aparece os requisitos, o que seria ?
    avatar
    Noobezinho
    Moderador
    Moderador

    Respeito às Regras 100%

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

    Re: [Resolvido]Caixa de Listagem

    Mensagem  Noobezinho em Qua 10 Jan 2018, 09:29

    Edgar

    Verifique tua listbox, faça um pente fino nela, para ver se está tudo certo.

    Quanto a esse código que passou, ele está correto, pois fui eu quem o fez, para

    uma listbox colorida nesse [Você precisa estar registrado e conectado para ver este link.]


    .................................................................................
    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 ajudamos alguém e não retornou.
    Se não deu retorno, não ajudo novamente .

    Edgar Massa
    Novato
    Novato

    Respeito às Regras 100%

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

    Re: [Resolvido]Caixa de Listagem

    Mensagem  Edgar Massa em Qui 11 Jan 2018, 12:23

    Consegui,

    Fiz da seguinte forma, ao clicar no caixa de listagem, rowsource consulta novamente, e os campos são preenchidos com o registro que eu cliquei

    Me.lst_RequisitosImpressoras.RowSource = "Query_ConsultaRequisitosImpressora"
    Me.txt_Req_Hard = Me.lst_RequisitosImpressoras.Column(5)
    Me.txt_Req_Soft = Me.lst_RequisitosImpressoras.Column(6)
    Me.txt_Req_Alim = Me.lst_RequisitosImpressoras.Column(7)
    Me.txt_Req_Ambi = Me.lst_RequisitosImpressoras.Column(Cool
    Me.txt_Req_Refr = Me.lst_RequisitosImpressoras.Column(9)


    Valewwww cara, muito bom !
    avatar
    Noobezinho
    Moderador
    Moderador

    Respeito às Regras 100%

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

    Re: [Resolvido]Caixa de Listagem

    Mensagem  Noobezinho em Qui 11 Jan 2018, 12:27

    Legal que teu certo !

    Boa sorte !


    .................................................................................
    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 ajudamos alguém e não retornou.
    Se não deu retorno, não ajudo novamente .

      Data/hora atual: Qua 17 Jan 2018, 20:00