Mostra il tuo codice..
Dovrei aver risolto, il codice sotto funziona bene, ovviamente e' molto perfettibile...
la seconda listbox s' multiselezione per altri scopi
se l'utente chiama questa procedura si elabora solo il primo elemento
P_EditInCorso e' pubblica per altri scopi
PV_QualeBox viene impostato a 1 o 2 in AfterUpdate dalla prima o dalla seconda listbox
Private Sub pulApreAnagrafe_Click()
Dim myNumEsame As Long
Dim myAnagrafica As Long
Dim myVarItm As Variant
Dim mySel1 As Integer
Dim mySel2 As Integer
Dim myNomeFoto
mySel1 = 0
mySel2 = 0
If P_EditInCorso Then Exit Sub
If PV_QualeBox = 1 Then
If Me.crpElencoSeduta.ItemsSelected.Count = 0 Then GoTo seconda
mySel1 = Me.crpElencoSeduta.ListIndex
myAnagrafica = Me.crpElencoSeduta.Column(2)
If myAnagrafica > 0 Then GoTo elabora
End If
seconda: 'elabora la crpElencoEsamiTeoria
If PV_QualeBox = 2 Then
If Me.crpElencoEsamiTeoria.ItemsSelected.Count = 0 Then GoTo uscita
For Each myVarItm In Me.crpElencoEsamiTeoria.ItemsSelected
myNumEsame = Me.crpElencoEsamiTeoria.ItemData(myVarItm)
myAnagrafica = Me.crpElencoEsamiTeoria.Column(1, myVarItm)
mySel2 = Me.crpElencoEsamiTeoria.ListIndex
If myAnagrafica > 0 Then GoTo elabora
GoTo uscita
Next
End If
GoTo uscita
elabora: 'elabora l'anagrafica
Me.Visible = False
DoCmd.OpenForm "AnagrafeRicercheVisualizza", , , "ID_ANAGRAFE=" & myAnagrafica, , acDialog, "EsamiSeduteTeoria"
Me.crpElencoSeduta.Requery
If mySel1 <> 0 Then Me.crpElencoSeduta.Selected(mySel1 + 1) = True
Me!crpElencoEsamiTeoria.Requery
If mySel2 <> 0 Then
Me.crpElencoEsamiTeoria.Selected(myVarItm) = True
myNomeFoto = DammiNomeFoto(myAnagrafica)
On Error Resume Next
Me.colFotografia.Picture = DammiLaFoto(myNomeFoto)
End If
uscita: 'esce dalla sub
End Sub