Newsgroup: it.comp.appl.access
Titolo: Posizionare una listbox su una riga specifica

Un saluto a tutti,
non seguo più molto l'NG :-( per problemi di tempo ma avendo un ostacolo 
da superare e poco tempo per documentarmi ho pensato di chiedere a tutti 
voi ;-)
Ho una listbox che contiene X righe di dati.
La listbox che visualizza 20 righe per volta.
Tramite una textbox l'utente digita una stringa e preme Enter.
Su lostfocus della textbox cerco una stringa uguale nelle righe della 
listbox e se la trovo la seleziono (listbox impostata a selezione semplice).
Il mio problema è che non ho capito come posizionare la listbox sulla 
riga che ho trovato nel caso questa non appartenga alle 20 righe 
visualizzate in quel momento.
Quello che vorrei fare è posizionarmi sulla riga che seleziono da codice 
per permettere all'utente di "vederla".
Grazie infinite tutti quelli che scrivono in questo NG perchè ho 
imparato molto anche solo leggendo.
-- 
Claudio(BS)
L'unico problema per l'uomo non sta nella difficoltà delle sue imprese
ne' nella quantità di denaro necessario per compierle, ma nella durata
della sua esistenza. (Claudio 14.02.2004)
NB. Protezione antispam
Per rispondere aggiungere claudio

 per permettere all'utente di "vederla".
Copiando nella listbox il contenuto della stringa (premesso che tu lo
abbia trovato uguale) la listbox per la sua caratteristica intrinseca si
posiziona sulla riga del contenuto passatogli.
Fammi sapere
-- 
Ciao
Pablitomf (Maurizio Facciuti)
------------------------------
http://www.sitocomune.com/
http://www.accessgroup.it/
------------------------------
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 Claudio(BS)
Se la casella di riepilogo ha la colonna associata con i dati uguali a 
quelli digitati allora:
Me.CasellaRiepilogo = "QuelloCheVuoi"
Nel caso in cui i 20 record non sono sufficienti a mostrare il valore che ti 
interessa allora potresti alimentare la casella con una nuova stringa sql 
che prevede il valore cercato.
Ciao, Carlo 

Carlo Costarella ha scritto:

Hooppss, deduco dalle risposte che o sono stordito io (molto probabile) 
o evidentemente non mi sono spiegato bene, chiedo scusa.
Rispiego:
La mia ListBox contiene solitamente più di 400 records diversi formati 
da 4 campi e nella maschera visualizzo 20 righe alla volta.
Riga1 - field(0) - field(1) - field(2) - field(3)
Riga2 - field(0) - field(1) - field(2) - field(3)
Riga3 - field(0) - field(1) - field(2) - field(3)
Riga4 - field(0) - field(1) - field(2) - field(3)
Riga5 - field(0) - field(1) - field(2) - field(3)
ecc...
La ListBox ha come impostazione di selezione "selezione semplice", cioè 
clicco le righe che mi interessano e queste restano selezionate.
Nella TextBox scrivo un dato che "dovrei trovare" in fields(0)
quindi scorro l'elenco con:
Dim ccl As Long
For ccl = 0 To Me.lbxELENCO.ListCount - 1
     If Me.lbxELENCO.Column(0, ccl) = Me.txtSTRINGA Then
         Me.lbxELENCO.Selected(ccl) = True
         Exit For
     End If
Next ccl
Se la riga che seleziono è la 200esima e nella finestra sono posizionato 
sulla riga 20, la riga viene selezionata ma le 20 righe che visualizzo 
non comprendono quella riga.
Non è come con la ComboBox :-(
Grazie comunque per l'attenzione e spero di essere stato abbastanza chiaro.


 Grazie comunque per l'attenzione e spero di essere stato abbastanza chiaro.
-- 


Pablitomf ha scritto:

Quello non sarebbe un problema, il fatto è che la ListBox mi serve "non 
filtrata" perchè devo permettere la selezione sia dalla casella di testo 
che dalla lista. Riesco a ricavare la riga corrente con il valore di 
Index ma purtroppo questo valore è di sola lettura... SIGH.
Ho provato con Me.Recalc o Me.Repaint ma nisba! Ora provo a fare un 
giretto con astalavista e vediamo se trovo una soluzione.
Se nel frattempo avete idee/osservazioni dite pure.
Grazie a tutti


 
L'unica soluzione che mi è venuta in mente, è
Sendkeys CTRL+ARROWUP
For...Next
	Se trovo il campo
		For...next
			sendkeys PAGEUP
ecc......
Su internet non c'è nulla.
Se a qualcuno viene in mente altro si faccia avanti!!
Tnx
