Dubbio su utilizzo RecordsetClone

di Anonimizzato29103 il
4 risposte
Ciao,
ho una tabella "OFFERTAORDINE" a cui è relazionata una seconda tabella "REVISIONI" in relazione 1-->molti. Per una OFFERTAORDINE posso avere diverse REVISIONI. Dentro REVISIONI ho un campo Sì/No (Si chiama "Ordinato") e voglio che se almeno una delle revisioni ha questo campo a TRUE allora un campo similare Sì/No in tabella OFFERTAORDINE (anche lui si chiama "Ordinato") sia settato a TRUE, altrimenti se tutti i campi sono FALSE anche in OFFERTAORDINE deve mettere FALSE.

Ho scritto questo codice, legato all'evento Click della checkbox in REVISIONI:
Private Sub chkRevOrdinato_Click()
    
    Me.Refresh
    If chkRevOrdinato.Value = True Then
        Form_OffertaOrdine.Ordinato.Value = True
    Else
        Dim rstRevisioni As Recordset
        
        Set rstRevisioni = Me.RecordsetClone
        rstRevisioni.MoveFirst
        Form_OffertaOrdine.Ordinato.Value = False
        
        Do While Not rstRevisioni.EOF
            If rstRevisioni.Fields("Ordinato").Value = True Then
                Form_OffertaOrdine.Ordinato.Value = True
                Exit Do
            End If
            rstRevisioni.MoveNext
        Loop
        
        rstRevisioni.Close
    End If
    
End Sub


Ho fatto alcune prove e sembra funzionare, però mi risulta un po' macchinosa come costruzione e la vorrei snellire, se possibile. Secondo voi c'è un modo più veloce per verificare tutti i campi Sì/No della tabella REVISIONI e poi in funzione dell'esito di questa analisi impostare di conseguenza il campo Sì/No della tabella OFFERTAORDINE? Grazie.

4 Risposte

  • Mi chiedo perché non fai una query Update dei dati della subform imponendo come WHERE la.FK che lega Form-subform...?
  • Una volta eseguita la query come intercetto se ho dei checkbox selezionati? Controllo se ci sono record dopo la query? In pratica, se la query mi restituisce qualche record vuol dire che ho dei checkbox selezionati, altrimenti se è nullo il risultato vuol dire che nessuno è selezionato?
  • Grazie della dritta, tra l'altro non conoscevo questo sito. Sembra interessante, può essere utile anche per altre volte. Ciao.
Devi accedere o registrarti per scrivere nel forum
4 risposte