Newsgroup: it.comp.appl.access
Titolo: Usare i valori di una list box per filtrare la stampa di report

Salve a tutti, seguo da tempo il newsgroup e sono un appassionato di
Access anche se autodidatta, e devo dire che la vostra disponibilità è
sempre magnifica, siete un punto di riferimento per tutti.
Vengo al problema:
Ho ritrovato un applicativo chiamato FORMS_LISTBOX_MOVEITEMS che
creava una maschera con due listbox (lst1 e lst2), la prima l'alimento
con un elenco a 3 campi di una tabelle (IDATLETA,Cognome,Nome). gli
atleti scelti passano alla seconda listbox lst2 dove ci sono sempre 3
colonne di cui l'associata è la prima (IDATLETA).
come posso fare per filtrare i report basati su di una query che
contiene IDATLETA?
se nel campo criteri della query scrivo  =[forms]![MOVELIST]![lst2]
non mi seleziona niente e se specifico la colonna .Column(1) mi dice
che la funzione non è valida.
come posso fare a stampare solo i report dei cognomi contenuti nella
listbox 2?
incollo parte del codice di seguito:
Private Sub Form_Load()
   Dim rs As DAO.Recordset
   Set rs = CurrentDb.OpenRecordset("SELECT * FROM Test", dbReadOnly)
   Do Until rs.EOF
      Me.lst1.AddItem rs!IDATLETA &";"& rs!Cognome & ";" & rs!Nome
      rs.MoveNext
   Loop
   rs.Close
   Set rs = Nothing
End Sub
Private Sub cmdMoveAllFrom_Click()
    Call MoveAllFromTo(Me.lst2, Me.lst1)
End Sub
Private Sub cmdMoveAllTo_Click()
    Call MoveAllFromTo(Me.lst1, Me.lst2)
End Sub
Private Sub cmdMoveTo_Click()
    Call MoveOneFromTo(Me.lst1, Me.lst2)
End Sub
Private Sub cmdMoveFrom_Click()
    Call MoveOneFromTo(Me.lst2, Me.lst1)
End Sub
Private Sub cmdUp_Click()
    Call MoveItem(Me.lst1, up)
End Sub
ecc  eccc

 ecc  eccc
se non ricordo male avevo risolto cos�:
ho inserito un campo ulteriore che aggiornavo con
[forms]![MOVELIST]![lst2].column(1) dopo aggiornamento e poi usavo il
nuovo campo come criterio nella query
prova a fare cos�, dovrebbe funzionare
ciao
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 ...
Se ti capisco bene una via � di ciclare le righe della casella di
riepilogo lst2, abbinare i valori in una stringa e poi riscrivere
l'SQL della query che usi per il report. Esempio:
Dim strIN As String
Dim i As Long
For i = 0 To Me!lst2.ListCount - 1
    strIN = strIN & Me!lst2.Column(0, i) & ","
Next i
If strIN <> "" Then
    strIN = Left(strIN, Len(strIN) - 1)
    CurrentDb.QueryDefs("TuaQuery").SQL = _
        "SELECT * FROM Tabella " & _
        " WHERE IDATLETA IN(" & strIN & ");"
End If
-- 
HTH
Karl
*********
Access FAQ: 
www.donkarl.com/it
 

 Access FAQ:
www.donkarl.com/it
Grazie Karl, ora provo a vedere se va,
in effetti una volta selezionati tutti gli atleti interessati
passandoli alla casella di riepilogo lst2
dovrei farel'SQL della query che uso per creare i report nella quale
devo filtrare tra tutti gli atleti solo quelli presenti nella lst2
per poi stampare un singolo report per ogni atleta.
Questo codice lo metto sulla maschera e provo.
Grazie ancora Gigi

OK l'ho provato proprio ora e funziona!!!!!!!!!
Grazie ancora a Karl e a tutti voi "Guru" del newsgroup
per la vostra competenza e disponibilità.
Gigi