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]limitar linhas em list box

    Compartilhe

    ifahidalgo
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 317
    Registrado : 13/10/2011

    [Resolvido]limitar linhas em list box

    Mensagem  ifahidalgo em Ter 06 Out 2015, 14:11

    Senhores

    tenho um fomulario, onde preciso que seja apresentado duas listbox, da seguinte forma.

    a primeira list box; apresentar os 10 primeiros registros do resultado de uma consulta.
    a segunta list box; apresentar o 11 registro até o 20 utilizando a mesma consulta da primeira lis box.

    exemplo;

    list box 1;
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10

    list box 2;
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20










    avatar
    gilberlanio
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 669
    Registrado : 30/08/2010

    Re: [Resolvido]limitar linhas em list box

    Mensagem  gilberlanio em Ter 06 Out 2015, 19:13

    Veja essa aula e tente aplicar o função TOP em sua consulta:

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


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

    ifahidalgo
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 317
    Registrado : 13/10/2011

    Re: [Resolvido]limitar linhas em list box

    Mensagem  ifahidalgo em Qua 07 Out 2015, 23:58

    sobre essa opção de TOP, já havia pensado, mas digamos se eu colocar TOP 10, na primeira list box, e eu tenho outra ao lado onde preciso do 11º até 21º registro. Isso que eu não consegui .

    FabianoJesus
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 36
    Registrado : 22/03/2012

    Re: [Resolvido]limitar linhas em list box

    Mensagem  FabianoJesus em Ter 20 Out 2015, 18:18

    Bem,
    Você poderia usar algo assim:

       Dim rs As Recordset
       Dim controle As ListBox
       Dim step As Integer
       Dim step_atual As Integer
       Dim last_row As Long
       
       step = 10
       Set rs = CurrentDb.OpenRecordset("tbl_sua_tabela")
       If rs.RecordCount = 0 Then Exit Sub
       rs.MoveLast
       last_row = rs.RecordCount
       rs.MoveFirst
       
       For Index = 1 To last_row
           If Index > step_atual Then step_atual = step_atual + step
           Set controle = Me.Controls("listbox" & step_atual)
           controle.AddItem rs.Fields("seu_campo").Value
           rs.MoveNext
       Next Index

    No exemplo acima, o controle listbox precisar ser nomeado como "listbox" + o número múltiplo do valor informado na variável step. Este número é usado como limitador quantitativo do número de itens da lista.
    Usando step 10, o controle "listbox10" teria os valores 1,2,3,4,5,6,7,8,9,10, o controle listbox20 ficaria com (11,12,13...20), "listbox30" ficaria(21,22,23...30) e assim por diante.

    Algumas observações:
    Com esse exemplo, você pode usar quantos listbox precisar.
    Se você fizer referência à um controle que não existe, ocorrerá erro. Por exemplo, se estiver lendo a linha 31 e não tiver o controle "listbox40".

    Vou fazer mais alguns testes, se achar uma maneira melhor, posto.
    Segue banco exemplo:
    [Você precisa estar registrado e conectado para ver este link.]
    Você pode rodar frmTeste para verificar
    Att.

    ifahidalgo
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 317
    Registrado : 13/10/2011

    Re: [Resolvido]limitar linhas em list box

    Mensagem  ifahidalgo em Seg 07 Dez 2015, 15:57

    Obrigado

      Data/hora atual: Dom 17 Dez 2017, 12:10