Vídeo recomendado
https://youtu.be/diWPPPhW-9E

Critério dentro da Listbox (precisar estar selecionado)

Brunovinsk
Acabou de chegar
Acabou de chegar
Mensagens: 8
Registrado em: Ter Out 27, 2015 1:01 pm

Critério dentro da Listbox (precisar estar selecionado)

Mensagem por Brunovinsk »

Olá e muito boa tarde, é a primeira vez que posto num fórum, porem já utilizo como pesquisa a muito tempo. Vamos lá, notei que um colega postou algo semelhante, mas como minha duvida é diferente, resolvi criar um novo.

Tenho uma Listbox com mais de 2000 linhas, e utilizo filtros para reduzir a quantidade de linhas que vou utilizar, e chego por exemplo a uma situação de 3 linhas. Certo.

Quero executar uma consulta atualização na base dessas linhas, de acordo com os critérios das Colunas (0) e (2) da listbox, e utilizo um While para ele ir da linha 0 até ultima, neste caso a linha 2. (total 3 registros).

O dilema, se eu clicar antes de rodar a consulta ele executa para a primeira linha da listbox e a seleção da listbox desaparece, e o ciclo continua.

Ao retornar ao ciclo, não há mais seleção sobre a listbox e então meus critérios das colunas (0) e (2) a partir daí são "Nulos".

Tentei contornar com Listbox.Selected(i) = True, ele até "MARCA", mas não é interpretado como um "CLICAR", e então o ACCESS retorna Nulo.

O que preciso? Grosseiramente... de um código que clique para mim a cada ciclo do meu While.

Muito obrigado já adiantado.


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Avatar do usuário
webmaster
Administrador
Mensagens: 3114
Registrado em: Sex Jul 24, 2009 2:44 pm
Contato:

Re: Critério dentro da Listbox (precisar estar selecionado)

Mensagem por webmaster »

Bruno,

Ver o código ajudaria, entretanto, você não precisa ter o item selecionado para coletar seus dados, bastando user a propriedade List(linha, coluna) para ter acesso a ele.

Att


Brunovinsk
Acabou de chegar
Acabou de chegar
Mensagens: 8
Registrado em: Ter Out 27, 2015 1:01 pm

Re: Critério dentro da Listbox (precisar estar selecionado)

Mensagem por Brunovinsk »

Prezado colega, obrigado por responder, fiz algumas tentativas, mas como esperava não tive sucesso, envio meu código "simples" para sua análise.

pra tentar ajudar, dou uma breve recapitulada: Minha lista98 está 3 linhas, referentes uma pequena parte de uma tabela de 2000 linhas, e estas três tem um campo "OS" que quero que seja atualizada pelo texto contido na "Texto15.Value", e minha brilhante idéia foi de resgatar o valor que está na linha (i = 1~3) colunas 0 e 2. E Obrigado novamente.

Código: Selecionar todos

Private Sub Comando10_Click()

i = 0

While i < Lista98.ListCount - 1

SQL = ""
SQL = SQL & "UPDATE ENT_CTR_TECN SET ENT_CTR_TECN.OS_PEP = '" & Texto105.Value & "'"
SQL = SQL & " WHERE (((ENT_CTR_TECN.FORNECEDOR)= '" & Lista98.Column(0) & "') AND ((ENT_CTR_TECN.NF)= '" & Lista98.Column(2) & "'));"

CurrentDb.Execute SQL

Lista98.Requery
i = i + 1

Wend

End Sub


Avatar do usuário
Reinaldo
Jedi
Jedi
Mensagens: 1537
Registrado em: Sex Ago 01, 2014 4:09 pm
Localização: Garça - SP / SCS - SP

Re: Critério dentro da Listbox (precisar estar selecionado)

Mensagem por Reinaldo »

Sem muita analise, porque do Lista98.Requery?? dentro do while


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Brunovinsk
Acabou de chegar
Acabou de chegar
Mensagens: 8
Registrado em: Ter Out 27, 2015 1:01 pm

Re: Critério dentro da Listbox (precisar estar selecionado)

Mensagem por Brunovinsk »

Minha lista se monta com um select de todas as linhas da base, com um critério de Campo OS = " Vazio ",

então esse requery vai fazer que as linhas que receberem a OS, irão desaparecendo da listbox.

isso está funcionando se eu marcar com o mouse a linha, só que ele não está fazendo o ciclo, faz só a primeira vez.


Brunovinsk
Acabou de chegar
Acabou de chegar
Mensagens: 8
Registrado em: Ter Out 27, 2015 1:01 pm

Re: Critério dentro da Listbox (precisar estar selecionado)

Mensagem por Brunovinsk »

Olá senhores,

Gostaria de saber se devo marcar como resolvido ou se temos uma solução para o exposto.

Obrigado.


Avatar do usuário
Reinaldo
Jedi
Jedi
Mensagens: 1537
Registrado em: Sex Ago 01, 2014 4:09 pm
Localização: Garça - SP / SCS - SP

Re: Critério dentro da Listbox (precisar estar selecionado)

Mensagem por Reinaldo »

Retire o Lista98.Requery do evento while e o coloque depois do wend, assim suponho que resolvera sua demanda

Código: Selecionar todos

Private Sub Comando10_Click()
i = 0
While i < Lista98.ListCount - 1
    Sql = ""
    Sql = Sql & "UPDATE ENT_CTR_TECN SET ENT_CTR_TECN.OS_PEP = '" & Texto105.Value & "'"
    Sql = Sql & " WHERE (((ENT_CTR_TECN.FORNECEDOR)= '" & Lista98.Column(0) & "') AND ((ENT_CTR_TECN.NF)= '" & Lista98.Column(2) & "'));"
    CurrentDb.Execute Sql
    i = i + 1
Wend
Lista98.Requery
End Sub


Brunovinsk
Acabou de chegar
Acabou de chegar
Mensagens: 8
Registrado em: Ter Out 27, 2015 1:01 pm

Re: Critério dentro da Listbox (precisar estar selecionado)

Mensagem por Brunovinsk »

Caro Reinaldo obrigado pelo parecer.

Infelizmente sei responder sua pergunta, mesmo assim fiz o teste. Bem o caso do Listrequery posso retirar, isso não me atrapalha.

O que está "não funcionando" no momento, é que não estou conseguindo fazer que meus campos de critério reconheçam a informação que estou pedindo, está retornando nulo.

Creio que estou errando no código que referencia aos valores das colunas 0 e 3 da lista. Mas o mais estranho é que se eu clicar com o Mouse, ele reconhece normal e funciona tudo, acontece que quando roda o ciclo e ele vai ler a linha 2, não o tal "clique", então retorna nulo novamente.

Espero ter dado mais informações uteis.


Avatar do usuário
Reinaldo
Jedi
Jedi
Mensagens: 1537
Registrado em: Sex Ago 01, 2014 4:09 pm
Localização: Garça - SP / SCS - SP

Re: Critério dentro da Listbox (precisar estar selecionado)

Mensagem por Reinaldo »

Pelo exposto entendi que sua listbox ja está filtrada, e seria apenas efetuar um update. Não e isso?
Voçe deseja efetuar o update considerando todos os itens em um listbox, carregando os dados em text's?
Se for isso, creio que voce tem a rotina click estabelecida, pois disse "e eu clicar com o Mouse, ele reconhece normal", assim você pode a cada registro chamar esse evento.
Seria algo+/- assim:

Código: Selecionar todos

Private Sub Comando10_Click()
i = 0
While i < Lista98.ListCount - 1
   call list98_click 'verifique e altere para o nome real de sua rotina.
 Sql = ""
    Sql = Sql & "UPDATE ENT_CTR_TECN SET ENT_CTR_TECN.OS_PEP = '" & Texto105.Value & "'"
    Sql = Sql & " WHERE (((ENT_CTR_TECN.FORNECEDOR)= '" & Lista98.Column(0) & "') AND ((ENT_CTR_TECN.NF)= '" & Lista98.Column(2) & "'));"
    CurrentDb.Execute Sql
    i = i + 1
Wend
Lista98.Requery
End Sub


Brunovinsk
Acabou de chegar
Acabou de chegar
Mensagens: 8
Registrado em: Ter Out 27, 2015 1:01 pm

Re: Critério dentro da Listbox (precisar estar selecionado)

Mensagem por Brunovinsk »

Professor pelo que entendi você me sugere um código que faça um clique para mim, ótimo.

Eu procuro desde ontem esse código, encontro muitas pessoas pedindo isso, e no máximo o que encontrei, foi um Select, que gera uma marcação, mas não o dito clique.

Existe um código para esta tarefa? A de clicar dentro da minha listbox?


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Responder