Newsgroup: it.comp.appl.access
Titolo: copiare record selezioanti da casella di riepilogo

ciao a tutti
 
ho questo codice su click di un pulsante........
 
    If LstMiacasellaRiepilogo.ItemsSelected.Count = 0 Then
        MsgBox "Selezionare almeno un valore!!!", vbExclamation, "Attenzione!!!"
    Exit Sub
 
    End If
 
    For Each varItm In LstMiacasellaRiepilogoe.ItemsSelected
 
        If LstMiacasellaRiepilogo.Selected(varItm) = True Then
            strItems = strItems & LstMiacasellaRiepilogo.Column(1) & " " & _
            LstMiacasellaRiepilogo.Column(2) & " " & _
            LstMiacasellaRiepilogo.Column(4) & "," & Chr(13) & Chr(10)
 
        End If
 
    Next
 
Ora vorrei che la variabile "strItems" mi restituisca i record selezionati dalla casella di riepilogo;
ma in questo modo mi ripete sempre il primo record.
 
Come devo fare?
 
grazie


 
 
-- 
ac (x=y-1)
Aborro il Killfile
(La violenza e' l'ultimo rifugio degli incapaci -Salvor Hardin-)
 
---
Questa e-mail è stata controllata per individuare virus con Avast antivirus.
https://www.avast.com/antivirus
 
 

...
 
Manca la riga nella Column(). Prova così:
 
Dim ctl As Control
Set ctl = Me!LstMiacasellaRiepilogoe
 
For Each varItm In ctl.ItemsSelected
 
     strItems = strItems & _
         ctl.Column(1, varItm) & " " & _
         ctl.Column(2, varItm) & " " & _
         ctl.Column(4, varItm) & "," & vbCrLf
 
Next
 
-- 
Ciao
Karl
*********
Access FAQ:  
http://www.donkarl.com/it
 
Access Lobby: 
http://www.AccessDevelopers.org
 

Cosa ci fai con strItems una volta che la hai costruita?
vorrei inviare la lista dei record selezionati nella casella 
di riepilogo "LstElencoCampidaChiudere", per email.
 
questo e' il codice che sto creando su click di un pulsante..........
 
_____________________________
 
 
Private Sub Testo16_Click()
On Error GoTo gestErrori
 
    Dim rsCheck As DAO.Recordset, RsData As DAO.Recordset
    Dim strSQL As String, strItems As String
    Dim varItm As Variant
    Dim strFld As String, strSubject As String, strMsg As String
    Dim strAttach As String, strCC, strBCC
 
    If LstElencoCampidaChiudere.ItemsSelected.Count = 0 Then
        MsgBox "Selezionare almeno un valore!!!", vbExclamation, "Attenzione!!!"
    Exit Sub
 
    End If
 
    For Each varItm In LstElencoCampidaChiudere.ItemsSelected
 
        If LstElencoCampidaChiudere.Selected(varItm) = True Then
            strItems = strItems & LstElencoCampidaChiudere.Column(1) & " " & _
            LstElencoCampidaChiudere.Column(2) & " " & _
            LstElencoCampidaChiudere.Column(4) & "," & Chr(13) & Chr(10)
 
        End If
 
    Next
 
    Set rsCheck = Me!SM_Email.Form.RecordsetClone
    rsCheck.FindFirst "Invio<>0"
 
    If Not rsCheck.NoMatch Then
 
        If Me!IDCliente1  <> 0 Then
            strSQL = "SELECT DISTINCT *, UnisciValoriClienti1(IDCliente1) AS Email" & _
            " FROM TbEmailClienti1" & _
            " Where IDCliente1 = " & Me!Clienti1
        Else
            strSQL = "SELECT DISTINCT *, UnisciValoriClienti(IdCliente) AS Email" & _
            " FROM TbEmailClienti Where IdCliente = " & Me!IdCliente
 
        End If
 
        Set RsData = CurrentDb.OpenRecordset(strSQL, dbOpenDynaset)
        strFld = RsData.Fields("Email")
 
        If Me!IDCliente1 <> 0 Then
 
            strSubject = "Chiusure"
            strMsg = "Buon giorno." & Chr(13) & Chr(10) & _
                "bla bla bla:" & Chr(13) & Chr(10) & _
                strItems & Chr(13) & Chr(10) & _
                "Saluti." & Chr(13) & Chr(10) & "Franco"
 
            strAttach = ""
            strCC = ""
            strBCC = ""
 
        Else
            strSubject = "Conferme"
            strMsg = "Buon giorno" & Chr(13) & Chr(10) & _
                "bla bla bla:" & Chr(13) & Chr(10) & _
                strItems & Chr(13) & Chr(10) & _
                "Saluti" & Chr(13) & Chr(10) & "Franco"
 
            strAttach = ""
            strCC = ""
            strBCC = ""
 
        End If
 
        SendingMailFromTable RsData, strFld, strSubject, strMsg, strAttach, strCC, strBCC
 
noInvio: 'invio annullato
        RsData.Close: Set RsData = Nothing
 
    Else
        MsgBox "Scegli l'Email spuntando la check box!!!", vbExclamation, "Attenzione!!!"
 
    End If
 
    rsCheck.Close: Set rsCheck = Nothing
 
Esci:
    Exit Sub
 
gestErrori:
    Beep
    If Err.Number = 287 Then GoTo noInvio
    MsgBox Err.Number & " - " & Err.Description
    GoTo Esci

Il 22/07/2015 16:07, 
francodel...@gmail.com
 ha scritto:
 
P.S.
Ciao Franco.
Posso darti una tirata di "orecchi"? ;-)
Capisco che "scopiazzi" il codice (va bene, lo facciamo tutti) ma 
cerchi, talvolta, di leggerlo e capire quello che fa?
Ho la vaga impressione che neanche ci provi, cosa che ritengo non 
salutare per un motivo semplice, non sempre i fruitori del NG sono 
disponibili o annoiati a tal punto da darti la "dritta" ;-).
Il codice che hai sottoposto in questo 3d e' "molto" lineare hai 
"aspettato" 5ore per avere il mio intervento (neanche risolutivo).
Probabilmente i tuoi "tempi di consegna" sono molto laschi ;-)


Il 22/07/2015 22:11, Karl Donaubauer ha scritto:
Come sempre hai ragione ;-)


 Come sempre hai ragione ;-)
 
Ah, posso chiederti un piccolo favore?
Vieni qui e dillo alla compagna.
 
-- 
:-)



ciao Alessandro, hai ragione,
ma io non sono molto bravo vb, scusami e cmq grazie.


ciao Karl
con il tuo codice
ora funziona...
 
devo inserire in fondo al codice.........
    Set ctl = Nothing
 
per azzerare la variabile?
 
grazie
 
 
 


 
Dove sei? A Wien?
Per gli amici di "penna" si puo' fare tutto!
:-D


 :-D
 
Fati sentire quando verrai.
Purtroppo ho bisogno di un testimone per questa faccenda.
 
Tuttavia mi ricordo che ti hai quasi fatto negare a Roma dieci anni fa. ;-)
 
-- 
Ciao


 per azzerare la variabile?
 
Direi di no. Di solito la "garbage collection" di VBA funziona, cioè i 
variabili vengono azzerati alla fine della procedura.
 
Lo faccio solo esplicitamente per variabili oggetto di DAO (Database, 
Recordset ecc.) perché bloccano più della memoria limitata di Access/VBA 
che puo dare problemi.
 
Inoltre nei versioni vecchi di Access c'erano dei bug in rispetto alla 
liberazione di memoria per questi tipi di variabili che la MS non ha mai 
documentato bene. Secondo un collega chi lavora per la ditta sono stati 
curati da lungo. Però non è chiaro se vale per tutti e quando e a causa 
della segretezza anche la fiducia della comunità è limitata. ;-)



 
Accidenti, ora mi ricordo! Certamente piu' di dieci anni fa.
Se non ricordo male, pero', frequentavi "strane" compagnie.



grazie Karl


volevo fare un'ultima domanda.......
è possibile inserire una griglia
tipo excel?

 Karl
 
Non sai che fatica a farsi pagare la cena da A.C. abbiamo dovuto inventarcele tutte per convincerlo...
 
@Alex

 Non sai che fatica a farsi pagare la cena da A.C. abbiamo dovuto inventarcele tutte per convincerlo...
 
Mi puoi dire di tutto ma non questo.
Mi ritengo offeso :-(


 Mi ritengo offeso :-(
 
 
Senti tu "offeso"... alla fine mica hai pagato la cena a tutti... posso chiedere a testimoni, Sergio che non si sente più(ma io ho il suo Telefono) e sono sicuro si ricorda bene...
 
C'è caldo inizio a perdere i colpi...
 
Ciao
@Alex


 
Quello che ha fatto "resistenza" mi sembra sia stato tu
Comunque chiama sergio vieni a Roma e offro io!
Solo che sara' pajata, animelle e vaccinara  (purtroppo per le 
puntarelle non e' stagione e nemmeno per la coratella con i carciofi)
