|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Junior Member
Iscritto dal: Aug 2004
Città: Roma
Messaggi: 19
|
<vb6> Listbox con oltre 32k di items
Premesso che, come sempre, di VB e pc ne so meno di nulla, presento il mio problema.
Ho un prodottino scritto in VB6 che, tra le altre cose, permette all'utente di selezionare alcuni dati da una listbox caricata leggendo da un db. Il problema e' che, quando vado a leggere, ottengo un valore negativo (-13457) nella variabile lbxItems.ListCount, in quanto sembra troppo piccola (max 32767) per contenere tutti gli items caricati (ad oggi 52079, ma, in previsione ben oltre i 100.000). Come posso risolvere? ![]() Grazie, Andrea
__________________
Per la gratuita' dell'adozione, per dare un futuro a migliaia di bambini: http://www.amicideibambini.it/petizione/ |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Imho è sbagliato l'approccio...visualizzare oltre 32k items è davvero troppo. Secondo me faresti meglio ad impostare una stringa che ti permetta di ricercare all'interno delle items e di visualizzare solo quelle che soddisfano la ricerca.
Mi puoi spiegare cosa come sono fatte queste items e come sono ordinate ? |
![]() |
![]() |
![]() |
#3 | |
Senior Member
Iscritto dal: Feb 2002
Messaggi: 906
|
Quote:
|
|
![]() |
![]() |
![]() |
#4 | |
Junior Member
Iscritto dal: Aug 2004
Città: Roma
Messaggi: 19
|
Quote:
Si tratta di una lista di valori per inserire un filtro. Mi spiego: l'utente ha una serie di dati da consultare in un dwh (circa 100k righe in quella specifica vista) ma puo' filtrare su determinati campi. La listbox serve per presentare una lista di dati (nel caso specifico il num.fattura) tra i quali l'utente puo' sceglere solo quelli che gli interessano. Purtroppo l'ordine di grandezza e', oggi, oltre le 80.000 righe l'anno. Gli items (o come si chiamano in VB non so ![]() Quando l'utente usa la funzione di inserimento filtro parte la query su tabella e campo specifico, viene caricata la listbox e presentata all'utente che, ora, seleziona i numeri di protocollo opportuni e chiude la finestra. In questo momento i valori vengono filtrati nella query per il motore OLAP. Spero di non essere stato troppo fumoso ![]()
__________________
Per la gratuita' dell'adozione, per dare un futuro a migliaia di bambini: http://www.amicideibambini.it/petizione/ |
|
![]() |
![]() |
![]() |
#5 | |
Junior Member
Iscritto dal: Aug 2004
Città: Roma
Messaggi: 19
|
Quote:
Dim i As Integer Dim coll As New Collection If lst.ListIndex <> -1 Then For i = 0 To lst.ListCount - 1 If lst.Selected(i) = True Then coll.Add lst.List(i) End If Next End If Scusate per come viene scritto, ma non mi prende gli spazi sulla formattazione ![]()
__________________
Per la gratuita' dell'adozione, per dare un futuro a migliaia di bambini: http://www.amicideibambini.it/petizione/ Ultima modifica di andreadue : 30-10-2007 alle 08:57. |
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 17:56.