Access
 sql >> Database >  >> RDS >> Access

Modulo di classe MS-Access e VBA

Introduzione.

Nelle ultime settimane abbiamo imparato come utilizzare il tipo definito dall'utente (UDT) creando una struttura di dati complessa e conosciamo i punti di forza o di debolezza di UDT, più o meno ormai. Se non hai esaminato quegli articoli, puoi visitarli. Utilizzare i seguenti collegamenti:

  • Tipo di dati definito dall'utente-2
  • Tipo di dati definito dall'utente-3

In Microsoft Access sono disponibili due tipi di moduli VBA.

  1. Moduli standard
  2. Moduli di classe

Abbiamo lavorato con i moduli di classe su Moduli e Rapporti di Microsoft Access. I programmi del modulo di classe Modulo/Report sono per lo più piccole routine guidate da eventi (clic sui pulsanti, Prima dell'aggiornamento, Evento corrente modulo/Segnala e così via).

I programmi di elaborazione dati più seri saranno scritti in moduli standard. Più programmi, non necessariamente correlati, possono essere scritti in un Modulo Standard, per svolgere compiti diversi.

I moduli di classe sono diversi. Vengono utilizzati per creare oggetti personalizzati e un modulo di classe viene utilizzato per un solo oggetto.

Le basi del modulo di classe autonomo.

Creiamo da zero un semplice modulo di classe e impariamo le basi.

  1. Avvia Microsoft Access e apri un database o creane uno nuovo. Se si tratta di un nuovo database, salvalo nella posizione attendibile (cartella) esistente o aggiungi la nuova posizione all'elenco delle posizioni attendibili. Fare clic su Pulsante Office -> Opzioni di accesso -> Centro protezione -> Impostazioni Centro protezione. Aggiungi la cartella del database all'elenco e fai clic su OK.
  2. Apri la finestra di modifica VBA (Alt+F11).
  3. Fai clic su Inserisci Menu e seleziona il Modulo di classe dalla lista. Viene inserito un nuovo modulo di classe.

  • Nel riquadro di sinistra è presente un Nome controllo con il nome Class1.
  • Cambia il nome Class1 a ClsArea . Questo è il nome del nostro oggetto personalizzato.

  • Nota: Il nome della classe:ClsArea diventa il Nome oggetto. Ciò significa che, ovunque utilizziamo questo oggetto, sarà come una normale dichiarazione di variabile:Dim xyz As ClsArea . Abbiamo scritto una dichiarazione simile per le dichiarazioni del tipo di dati definito dall'utente.

    Successivamente, aggiungeremo tre Proprietà (Variabili) dell'Oggetto (per Descrizione, Lunghezza e Larghezza ) nella parte superiore del modulo, sotto Option Compare Database e Opzione esplicita Linee. Digita le seguenti righe nel Modulo di classe.

    Option Compare Database
    Option Explicit
    
    Public p_Desc as String
    Public p_Length as Double
    Public p_Width as Double
    

    Queste variabili sono identificate come proprietà dell'oggetto classe personalizzata VBA. Salva il modulo di classe.

    Nota: Il nostro oggetto del modulo di classe e le righe di codice non saranno così semplici. Subirà modifiche con diverse righe di codice. Meglio prepararsi a seguirli passo dopo passo, senza perdere di vista ogni fase dei cambiamenti. Questa è una semplice classe di calcolo dell'area (area =lunghezza * larghezza ), così semplice. Subirà gradualmente modifiche in modo che tu sappia perché tali modifiche diventano necessarie.

    Scriveremo un piccolo programma in un modulo standard per testare il nostro nuovo modulo di classe. Inserisci un modulo standard dal menu Inserisci. Puoi Digitare o Copiare e Incollare il seguente Codice nel Modulo Standard, sovrascrivendo la riga esistente nel Modulo:

    Option Compare Database
    Option Explicit
    
    Public Function ClassTest1()
    Dim oArea As ClsArea
    
    Set oArea = New ClsArea
    
    oArea.
    
    Set oArea = Nothing
    
    End Function
    

    Il attenuazione dichiara una variabile come facciamo per una variabile normale, come Dim Desc as String. Ma questa non è una variabile ordinaria, stiamo impostando un riferimento al nostro oggetto del modulo di classe ClsArea . Poiché si tratta di un oggetto, una semplice istruzione Dimension da sola non è sufficiente perché non allocherà spazio di memoria per memorizzare i valori nel nostro Object oArea definito localmente Proprietà.

    Il set dichiarazione nella riga successiva con il Nuovo parola chiave richiesta, per creare un'istanza di un oggetto da ClsArea in memoria, con il nome dell'istanza dell'oggetto oArea . Possiamo aprire diverse istanze dello stesso oggetto di classe in memoria in questo modo, se necessario, (ne parleremo nelle prossime settimane) in modo da poter memorizzare i valori nelle sue proprietà (p_Desc, p_Length, p_Width). Il p_ il prefisso alle variabili è un indicatore che l'Ambito delle variabili è Privato, ovvero le Variabili non sono visibili al di fuori del Modulo di Classe se la variabile è dichiarata con la parola chiave Private, ma ora è dichiarata come Pubblica. Il nome della variabile può essere qualsiasi nome valido.

    Nota: Non l'abbiamo ancora dichiarato come Privato. Siamo sulla strada per quel cambiamento.

    Immediatamente dopo la parola chiave Imposta il nome dell'Oggetto locale (puoi scegliere un nome adatto che preferisci ma deve essere conforme alle normali regole dei nomi delle variabili) seguito da un segno di uguale e dalla parola chiave Nuovo e il Nome del modulo della classe (ClsArea) per creare un'istanza dell'oggetto clsArea in memoria con tutte le sue proprietà (Variabili).

    C'è una scorciatoia per questo codice a due righe. Le azioni di entrambe queste righe di codice possono essere ottenute con un'istruzione come mostrato di seguito:

    Dim oArea As ClsArea
    Set oArea = New ClsArea
    
    'the shortcut to the above two statements
    Dim oArea As New ClsArea
    
    

    Quando digiti la riga successiva oArea seguito da un punto (. ) separatore apparirà la seguente schermata per mostrare l'elenco delle proprietà dell'oggetto personalizzato disponibili tra cui selezionare.

    Se non viene visualizzato, vai alla finestra di dialogo Opzioni dalla casella del menu Strumenti e metti un segno di spunta in Elenca automaticamente i membri nella scheda Editor.

    Prima di uscire dalla funzione l'ultima istruzione dovrebbe essere Set oArea =Nothing . Questa istruzione rilascia in modo esplicito la memoria occupata dall'istanza dell'oggetto personalizzato, in modo che sia disponibile più memoria per altri programmi. Questa è un'operazione di pulizia responsabile del nostro programma.

    Qualunque cosa facciamo con l'oggetto personalizzato istanziato dovrebbe essere codificato tra il primo e l'ultimo Set dichiarazioni.

    Il programma di test degli oggetti di classe ClsArea.

    Il codice del programma di test di classe completato è riportato di seguito:

    Option Compare Database
    Option Explicit
    
    Public Function ClassTest1()
    Dim oArea As ClsArea
    
    Set oArea = New ClsArea
    
    oArea.p_Desc = "Carpet"
    oArea.p_Length = 25
    oArea.p_Width = 15
    
    Debug.Print "Description", "Length", "Width"
    
    Debug.Print oArea.p_Desc, oArea.p_Length, oArea.p_Width
    
    Set oArea = Nothing
    
    End Function
    

    Fai clic da qualche parte nel mezzo del codice e premi F5 per eseguire il programma. L'esecuzione del programma è riportata di seguito come riferimento.

    Description   Length        Width
    Carpet         25            15 

    Pubblico|Ambito privato delle proprietà degli oggetti.

    Il nostro semplice oggetto Modulo di classe presenta alcuni inconvenienti e li correggeremo.

    Il primo è che abbiamo dichiarato tutte le variabili (o proprietà) con Pubblico Scopo. Per questo motivo sono visibili ad altri programmi VBA e possono cambiare direttamente il loro valore. Il secondo problema è che accetterà tutti i valori non validi, come valori negativi o zero, che non sono adatti al nostro oggetto di classe. Dobbiamo incorporare alcuni controlli di convalida prima di accettare i valori nelle variabili.

    Il primo problema che possiamo risolvere facilmente modificando le dichiarazioni delle variabili da Pubbliche a Private . Quando lo facciamo, dovremmo avere un metodo indiretto per archiviare e recuperare valori dalle variabili private. Questo è lo scopo di Get e Lascia Procedure relative alle proprietà, per ciascuna proprietà dell'oggetto. Apportiamo queste modifiche nel modulo di classe.

    Apri il modulo di classe ClsArea. Cambia la parola Pubblico in Privato per tutte e tre le variabili.

    Creazione di procedure di proprietà

    Seleziona Procedura da Inserisci Menu, digita strDesc nel Nome controllo del testo, seleziona Proprietà nel Tipo Gruppo di opzioni e Pubblico nell'Ambito gruppo di opzioni. Fare clic su OK per inserire le procedure di proprietà per il p_Desc privato Variabile (Proprietà).

    Option Compare Database
    Option Explicit
    
    Private p_Desc As String
    Private p_Length As Double
    Private p_Width As Double
    
    Public Property Get strDesc() As String
      strDesc = p_Desc 'return the value from p_Desc
    End Property
    
    Public Property Let strDesc(ByVal strNewValue As String)
      p_Desc = strNewValue ‘store the value into p_Desc
    End Property
    

    Sia il Ottieni Procedura e Lascia Le procedure sono dichiarate Pubbliche . Entrambi i nomi delle procedure sono gli stessi strDesc. Per impostazione predefinita, il restituito il tipo di dati è Variante nel Ottieni Anche la procedura e il tipo di dati Parametro sono inseriti come Variant nel Let Procedura. Questi possiamo cambiarli in tipi specifici secondo necessità, cosa che abbiamo fatto e cambiato in String genere. Le prime tre lettere str in strDesc fornisce all'utente un suggerimento che la proprietà prevede un valore del tipo di dati String. Cambia il Lascia Proprietà Procedura Parametro Nome variabile vNewValue a strNewValue

    Quando inseriamo le Property Procedure vengono sempre inserite con Ottieni e Lascia Coppie di procedure per una variabile.

    Ora, dai un'occhiata da vicino all'espressione che abbiamo scritto all'interno di Get Procedura. Il lato sinistro di = Firma il nome della procedura Get strDesc funge da variabile per restituire il valore copiato dalla variabile privata p_Desc al programma chiamante.

    Il Lasciate Procedura strDesc accetta il valore String nel parametro Variable strNewValue . Il valore di input viene trasferito nella nostra variabile privata p_Desc.

    Il punto da notare qui è che non c'è accesso diretto alla nostra variabile privata p_Desc al mondo esterno. Trasporto di valori Da/A la variabile (proprietà) p_Desc viene sempre instradato tramite Get/Let Solo procedure di proprietà e soggette a controlli di convalida (non ancora implementato), introdurremo i controlli di convalida sui valori immessi (procedura Let) nella Proprietà in un secondo momento.

    Il Ricevi/Lascia Le procedure vengono eseguite automaticamente a seconda di ciò che facciamo con la proprietà Object in un'espressione nei programmi VBA.

    Il Ottieni La procedura viene eseguita quando utilizziamo il nome della proprietà in un'espressione nel modo seguente:

    ‘ Reads the value from p_Desc to Print
    
    Debug.Print oArea.strDesc
    
    OR
    
    ‘ Reads the value from p_Desc and assigns it to the variable X
    
    X = oArea.strDesc
    
    

    Il Lasciate La procedura della proprietà viene eseguita quando si tenta di assegnare un valore al nome della proprietà. Controlla l'espressione di esempio nel nostro programma di test di seguito:

    oArea.strDesc = “Carpet”
    
    

    Nei precedenti libri di BASIC Language puoi vedere l'uso della parola chiave LET.

    LET X = 25 ‘ LET is optional
    
    

    Poiché era facoltativo, l'istruzione funziona senza di essa e ha smesso di usarla.

    Qui, se stai solo leggendo un valore da una variabile e non memorizzando nulla direttamente in essa, puoi omettere la procedura Let e ​​utilizzare solo Get Procedura.

    Questa regola si applica anche alla procedura Let. Puoi utilizzare solo il Let Procedura, se stai assegnando qualche valore in una variabile privata ma non legge nulla dalla stessa variabile, quindi ometti la procedura Get.

    Il Ottieni e Lascia Le procedure verranno eseguite una dopo l'altra se la nostra espressione è simile alla seguente:

    oArea.strDesc = oArea.strDesc & “ – King Size.”
    
    

    Nell'espressione sopra, Otterremo il valore esistente dalla variabile privata p_Desc e modificare la descrizione e salvarla nuovamente nella stessa variabile. In breve in un'espressione se utilizzi il nome della proprietà a destra del segno di uguale (= ) il Ottieni Viene chiamata la procedura e Lascia La procedura viene eseguita quando il nome della procedura della proprietà dell'oggetto viene visualizzato a sinistra di uguale (= ) segno.

    Inserisci due insiemi di procedure di proprietà per le variabili p_Length e p_Larghezza. Quando assegni i nomi delle procedure nel Nome controllo dare il nome dblLength e dblWidth per dare un suggerimento all'utente che queste proprietà si aspettano numeri a doppia precisione come input.

    Oggetto classe ClsArea con le relative procedure di proprietà.

    Il codice completato finora con dblLength e dblWidth Property Procedures è riportato di seguito come riferimento e per aggiornare il codice.

    Option Compare Database
    Option Explicit
    
    Private p_Desc As String
    Private p_Length As Double
    Private p_Width As Double
    
    Public Property Get strDesc() As String
      strDesc = p_Desc 'copy the value from p_Desc
    End Property
    
    Public Property Let strDesc(ByVal strNewValue As String)
      p_Desc = strNewValue
    End Property
    
    Public Property Get dblLength() As Double
      dblLength = p_Length
    End Property
    
    Public Property Let dblLength(ByVal dblNewValue As Double)
      p_Length = dblNewValue
    End Property
    
    Public Property Get dblWidth() As Double
      dblWidth = p_Width
    End Property
    
    Public Property Let dblWidth(ByVal dblNewValue As Double)
      p_Width = dblNewValue
    End Property
    

    Il programma di test con modifiche.

    Se stai completando il codice sopra, lascia che apportiamo modifiche al nostro programma di test, per riflettere le modifiche che abbiamo apportato qui. Il codice di esempio modificato è riportato di seguito.

    Option Compare Database
    Option Explicit
    
    Public Function ClassTest1()
    Dim oArea As ClsArea
    
    Set oArea = New ClsArea
    
    ‘Property Let procedures called here
    
    oArea.strDesc = "Carpet"
    oArea.dblLength = 25
    oArea.dblWidth = 15
    
    Debug.Print "Description", "Length", "Width"
    
    ‘Property Get Procedures called here to print
    Debug.Print oArea.strDesc, oArea.dblLength, oArea.dblWidth
    
    Set oArea = Nothing
    
    End Function
    
    

    Quando si inserisce un punto (.) subito dopo il nome dell'oggetto oArea (oArea.) l'elenco dei nomi delle procedure delle proprietà viene visualizzato dal VBA IntelliSense ed è possibile selezionare quello richiesto dall'elenco senza digitarlo manualmente.

    Lo scopo di questo oggetto di classe è calcolare l'area di qualcosa, come l'area della stanza, il tappeto, la piastrella per pavimento o qualsiasi altro materiale, che ha valori di lunghezza e larghezza. Ciò significa che abbiamo bisogno di una funzione pubblica per calcolare l'area dei valori di lunghezza, larghezza e descrizione di qualsiasi elemento inseriti nell'oggetto classe.

    Metodo oggetto ClsArea:Area()

    Ecco il Codice della Funzione Pubblica:

    Public Function Area() As Double
       Area = Me.dblLength * Me.dblWidth
    End Function
    

    Puoi inserire questa funzione da Inserisci Menu entrando in Area nel Nome Controllo, selezionando Funzione dal Tipo gruppo di opzioni e Pubblico come Ambito nel modulo di classe ClsArea. Completa la funzione inserendo la riga al centro.

    Possiamo indirizzare direttamente le variabili p_Length e p_Width (perché la funzione Area() fa parte del Modulo di Classe) nell'espressione per il calcolo dell'Area. Ma stiamo prendendo la strada corretta e chiamiamo Get Procedures dblLength e dblWidth per il calcolo. Potresti aver notato il riferimento Io. utilizzato per qualificare le procedure dblLength, dblWidth Get, come scrivevamo nei moduli di classe Form/Report, per fare riferimento all'oggetto corrente in memoria e alle sue proprietà. Come ho affermato in precedenza, il nostro Custom Class Object può avere più istanze Object aperte in memoria contemporaneamente e il Me la parola chiave si riferisce all'istanza corrente a cui appartiene la Function Area().

    La funzione di test con modifica.

    Modifica la nostra funzione di test ClassTest1() per incorporare l'output della funzione Area() come di seguito:

    Option Compare Database
    Option Explicit
    
    Public Function ClassTest1()
    Dim oArea As ClsArea
    
    Set oArea = New ClsArea
    
    oArea.strDesc = "Carpet"
    oArea.dblLength = 25
    oArea.dblWidth = 15
    
    Debug.Print "Description", "Length", "Width", "Area"
    Debug.Print oArea.strDesc, oArea.dblLength, oArea.dblWidth, oArea.Area
    
    Set oArea = Nothing
    
    End Function
    

    La modifica è solo nelle istruzioni Debug.Print. Esegui il codice e controlla la finestra di debug per il risultato.

    Ci sono due procedure evento richieste nei moduli di classe personalizzati:Class_Initialize() e Class_Terminate() .

    Metodi di esecuzione automatica.

    La Inizializzazione_Classe() il programma viene eseguito automaticamente quando istanziamo un oggetto con Nuovo Parola chiave. Questo programma può essere utilizzato per impostare valori predefiniti in variabili o istanziare altri oggetti in memoria. Un oggetto di classe può utilizzare altre classi come oggetti figlio e deve essere istanziato. Questo aspetto lo esploreremo ulteriormente e impareremo come farlo in seguito.

    Il Class_Terminate() il programma viene eseguito quando proviamo a cancellare l'oggetto dalla memoria quando il Niente la parola chiave viene eseguita nell'istruzione Set oArea =Nothing . Al termine del programma che utilizza l'Oggetto Classe, l'Istanza dell'Oggetto in memoria viene rimossa per impostazione predefinita. Ma è una buona pratica di programmazione usare Set oArea =Nothing come ultima istruzione eseguibile nei nostri programmi per cancellare l'oggetto dalla memoria.

    Aggiungeremo i programmi di cui sopra nel nostro modulo di classe. Aggiungi il seguente codice alla fine del tuo modulo di classe:

    Private Sub Class_Initialize()
       p_Length = 0
       p_Width = 0
    
       'MsgBox "Initialize.", vbInformation, "Class_Initialize()"
    End Sub
    
    Private Sub Class_Terminate()
       'MsgBox "Terminate.", vbInformation, "Class_Terminate()"
    End Sub
    
    

    Se desideri testare queste due subroutine, rimuovi il simbolo Commento e rendi attivo il MsgBox. Esegui il tuo programma di test ancora una volta. Troverai Inizializza messaggio viene visualizzato all'inizio (fai clic su OK per continuare) e il Termina messaggio compare al termine del programma di test.

    So cosa stai pensando ormai, come "tanto codice per moltiplicare due variabili insieme". È vero in tale prospettiva, ma è molto probabile che abbiamo scritto codice per problemi simili di risoluzione dei problemi ripetutamente ogni volta, duplicando il codice per i controlli di convalida e per altre salvaguardie di errori logici.

    Qui non stiamo scrivendo un normale Programma ma sviluppando un Oggetto Personalizzato che può essere utilizzato molte volte o può far parte di altri Oggetti, ovunque ne abbiamo bisogno senza preoccuparci di come funziona, dal punto di vista dell'utente. Microsoft Access ha molti Oggetti/Funzioni integrati che utilizziamo sempre senza preoccuparci di come funziona, impostando le loro Proprietà o Parametri e porta a termine il lavoro.

    Abbiamo un altro problema di cui occuparci, i controlli di convalida sui valori inseriti in dblNewValue Parametro in Let Procedure di proprietà di dblLength() e dblWidth(), per garantire che valori validi vengono assegnati alle proprietà dell'oggetto p_Length e p_Width .

    I Valori Negativi o Zero inseriti sono considerati non validi e dobbiamo prendere precauzioni per vedere che il valore corretto sia inserito dall'Utente.

    Esecuzione dei controlli di convalida.

    Il Let modificato I segmenti del codice di procedura della proprietà sono riportati di seguito. Apporta le modifiche al codice di conseguenza.

    Public Property Let dblLength(ByVal dblNewValue As Double)
       Do While dblNewValue <= 0
          dblNewValue = InputBox("Negative/0 Values Invalid:", "dblLength()", 0)
       Loop
    
       p_Length = dblNewValue
    End Property
    
    
    Public Property Let dblWidth(ByVal dblNewValue As Double)
       Do While dblNewValue <= 0
           dblNewValue = InputBox("Negative/0 Values Invalid:", "dblwidth()", 0)
       Loop
    
       p_Width = dblNewValue
    End Property
    
    

    Il Fai mentre. . . Ciclo viene eseguito ripetutamente finché non viene immesso un valore valido (maggiore di 0) in dblNewValue dall'Utente

    Verifiche di convalida nel metodo pubblico:Area()

    Abbiamo bisogno di un altro controllo di convalida nell'Area() Funzione. Se l'utente chiama la funzione Area() senza prima immettere valori validi per Lunghezza e Larghezza, l'utente deve esserne informato. Verificheremo se le variabili p_Length e p_Width hanno valori validi prima di eseguire l'espressione per il calcolo dell'area. Ecco il Codice:

    Public Function Area() As Double
      If (Me.dblLength > 0) And (Me.dblWidth > 0) Then
            Area = Me.dblLength * Me.dblWidth
      Else
            Area = 0
            MsgBox "Error: Length/Width Value(s) Invalid., Program aborted."
      End If
    End Function
    

    Il codice completo dell'oggetto ClsArea.

    Il codice completo del nostro modulo di classe ClsArea è riportato di seguito:

    Option Compare Database
    Option Explicit
    
    Private p_Desc As String
    Private p_Length As Double
    Private p_Width As Double
    
    Public Property Get strDesc() As String
        strDesc = p_Desc 'copy the value from p_Desc
    End Property
    
    Public Property Let strDesc(ByVal strNewValue As String)
        p_Desc = strNewValue
    End Property
    
    Public Property Get dblLength() As Double
       dblLength = p_Length
    End Property
    
    Public Property Let dblLength(ByVal dblNewValue As Double)
        Do While dblNewValue <= 0
           dblNewValue = InputBox("Negative/0 Values Invalid:", "dblLength()", 0)
        Loop
    
        p_Length = dblNewValue
    End Property
    
    Public Property Get dblWidth() As Double
       dblWidth = p_Width
    End Property
    
    Public Property Let dblWidth(ByVal dblNewValue As Double)
        Do While dblNewValue <= 0
           dblNewValue = InputBox("Negative/0 Values Invalid:", "dblwidth()", 0)
        Loop
    
        p_Width = dblNewValue
    End Property
    
    Public Function Area() As Double
    
       If (Me.dblLength > 0) And (Me.dblWidth > 0) Then
           Area = Me.dblLength * Me.dblWidth
       Else
           Area = 0
           MsgBox "Error: Length/Width Value(s) Invalid., Program aborted."
       End If
    
    End Function
    
    Private Sub Class_Initialize()
       p_Length = 0
       p_Width = 0
     'MsgBox "Initialize.", vbInformation, "Class_Initialize()"
    End Sub
    
    Private Sub Class_Terminate()
       'MsgBox "Terminate.", vbInformation, "Class_Terminate()"
    End Sub
    

    Procedure e metodi di verifica delle proprietà.

    Puoi testare il nostro oggetto classe personalizzata inserendo valori negativi o 0 come input in dblLength, dblWidth Properties.

    Nel programma di test commentare le righe (oArea.dblLength=25 e oArea.dblWidth=15) per testare la funzione Area(). Dovrebbe visualizzare il messaggio di errore che abbiamo scritto all'interno della funzione.

    Il nostro modulo di classe per il calcolo dell'area è ora considerato completo e abbiamo testato e riscontrato che funziona correttamente. Puoi testarlo ulteriormente per eventuali errori logici che ho trascurato. Se ti imbatti in qualcosa che non avevo previsto, condividilo con me.

    Piano futuro per i test.

    Abbiamo testato l'oggetto classe per un solo elemento. Dobbiamo calcolare l'area di più oggetti (diciamo l'area di 5 camere da letto o 10 tappeti di dimensioni diverse e così via. Ci viene detto che una volta sviluppato un oggetto possiamo istanziarlo più volte in memoria assegnando un diverso insieme di valori in ogni istanza dell'Oggetto e può lavorare con loro.

    Oltre a ciò, questo oggetto può essere utilizzato come parte di altri oggetti che sviluppiamo con codice minore perché parte del nostro nuovo oggetto classe è già sviluppato nel modulo classe ClsArea.

    La prossima settimana impareremo come creare una matrice di oggetti personalizzati per calcolare l'area di più elementi.

    1. Modulo di classe MS-Access e VBA
    2. Matrici di oggetti di classe VBA MS-Access
    3. Classe base MS-Access e oggetti derivati
    4. Classe base VBA e oggetti derivati-2
    5. Classe base e varianti di oggetti derivati
    6. Recordset Ms-Access e modulo di classe
    7. Accedi al modulo di classe e alle classi wrapper
    8. Trasformazione della funzionalità della classe wrapper
    9. Nozioni di base su Ms-Access e Collection Object
    10. Modulo di classe Ms-Access e oggetto Collection
    11. Record di tabella nell'oggetto e nella forma della raccolta
    12. Nozioni di base sugli oggetti del dizionario
    13. Nozioni di base sugli oggetti del dizionario-2
    14. Ordinamento delle chiavi e degli elementi degli oggetti del dizionario
    15. Visualizza record dal dizionario al modulo
    16. Aggiungi oggetti classe come elementi del dizionario
    17. Aggiorna l'elemento del dizionario degli oggetti della classe nel modulo