Condividi tramite

Eseguire una routine per ogni record di una maschera.

Anonimo
2014-06-24T08:19:54+00:00

Buongiorno, 

una domanda semplice semmplice

ho una maschera chiamata MAIN con origine dati una tabella NOMI

creo un pulsante Esegui e voglio associare a questo pulsante un ciclo ( per esempio For...Next)

All' evento click del pulsante Esegui (vorrei un aiuto in VBA)

dovrebbe eseguire un codice VBA contenuto in un'altra Sub chiamata P.es. "Code01" per ogni record della maschera MAIN, dal primo all'ultimo.

Grazie mille!

Siete come sempre gentilissimi!

Microsoft 365 e Office | Accesso | Per la casa | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento

Risposta accettata dall'autore della domanda

  1. Anonimo
    2014-06-24T09:19:37+00:00

    Ciao,

    nella routine OnClick puoi richiamare la routine Code01()

    Dim myRst as Recordset

    Set myRst=Me.RecordSetClone

    Myrst.MoveFirst

    Do While Not myRst.Eof

         Code01()

         myRst.MoveNext

    Loop

    Set myRSt=Nothing

    Il problema è : come fai riferimento al recordset myRst o ai suoi campi nella Sub Code01?

    Mimmo

    La risposta è stata utile?

    1 persona ha trovato utile questa risposta.
    0 commenti Nessun commento

Risposta accettata dall'autore della domanda

  1. Anonimo
    2014-06-24T10:01:03+00:00

    Il problema è : come fai riferimento al recordset myRst o ai suoi campi nella Sub Code01?

    Provo di completare il suggerimento di Mimmo.

    Se ho capito bene e se il contenuto del campo è una stringa (dal campo NOMI mi aspetto una stringa):

    Dim myRst as Recordset

    Set myRst=Me.RecordSetClone

    Myrst.MoveFirst

    Do While Not myRst.Eof

         Code01(qui metti il riferimento al campo che stai ciclando)

         myRst.MoveNext

    Loop

    Set myRSt=Nothing


    La Sub Code01 andrebbe modificata così:

    Public Sub Code01(ByVal sNome As String)

         'all'interno della routine puoi utilizzare sNome    

    End Sub

    La risposta è stata utile?

    0 commenti Nessun commento

1 risposta aggiuntiva

Ordina per: Più utili
  1. Anonimo
    2014-06-24T09:58:22+00:00

    Ciao ottimo consiglio,

    la sub Code01 utilizza i riferimenti sulle caselle di testo della maschera MAIN sul record corrente,

    pertanto dovrei 

    1. o modificare la sub Code01 mettendo i riferimenti sul recordset caricato;
    2. modificare la routine che mi hai consigliato in modo da dargli questi comandi per esempio:

       Apri la maschera MAIN

       Posizionati sul primo record

       Esegui la Sub Code01

       Vai al record successivo

       Loop

    Che mi consigli?

    Grazie mille Ciao!!!!

    La risposta è stata utile?

    0 commenti Nessun commento