UserForm unica per più Database sulla stessa cartella

Ancora una variante realizzata sullo "scheletro" del Multi DB2-2000, dove, a differenza di quest'ultimo che sfrutta la struttura di una tabella di partenza (stesso numero di campi, stessa intestazione dei campi, stesse impostazioni per inizio riga delle tabelle), e che si muove sui fogli grazie alle istruzioni collegate a dei commandbutton, ma che rimane, come base, impostata sulla gestione di più database TUTTI  inerenti però solo a indirizzari, in questo caso si vuole diversificare la tipologia di dati da inserire, in modo da avere sempre un'unico file, un'unica userform per introdurre i dati, ma la possibilità di gestire insieme, una Agenda Indirizzi, una Libreria, una Musicoteca, ed una Videoteca. Anche in questo caso, condizione comune ai quattro database, è il mantenimento dello stesso NUMERO di campi. (E' possibile, per i più volenterosi, aumentare il numero di campi desiderati, variando opportunamente le istruzioni, in particolare per la lettura/scrittura dei campi event. aggiunti, tramite l'aggiunta di nuove TextBox (da rendere visibili/non visibili alla bisogna) e dei riferimenti relativi agli Scarti (Offset) dell'ActiveCell aggiunte per i nuovi campi, abbinate ai pulsanti che porteranno alle pagine dove queste modifiche sono state fatte).  Per questo nuovo database sono state apportate alcune modifiche : intanto facciamo ridurre ad icona la finestra di Excel, in modo che resti visibile solo la form per la gestione dei dati, e per questo è sufficiente inserire nel WorkBook_Open, questa istruzione:

Application.WindowState = xlMinimized

poi, per essere sicuri che quando si preme sul pulsante ESCI, vengano salvate tutte le modifiche fatte ai vari fogli, e ripristinata la posizione della Finestra di Excel come in origine, nell'evento Click del Pulsante Esci sono state aggiunte queste istruzioni:

For Each cartella In Application.Workbooks
cartella.Save
Next cartella
Application.WindowState = xlMaximized
Application.Quit
End

La proprietà Caption del pulsante ESCI è stata modificata in ESCI & SALVA. In questo modo si esce dalla cartella e si chiude anche Excel.

Sono stati rinominati i campi dei vari fogli, in modo da corrispondere al tipo di dati che inseriremo per es. in Libreria, non esiste Nominativo, ma Titolo del libro, non Indirizzo ma Autore, ecc.ecc. Per far sì che anche sulla UserForm. al variare del tipo di database ospitato nel foglio selezionato, vengano aggiornate anche le etichette che indicano il tipo di dati da introdurre o presenti nelle textbox, per ogni pulsante che ci sposta ad un foglio, sono state aggiunte le istruzioni opportune, vediamo un esempio per quando selezioniamo il foglio3 (pulsante "Musica"):

Sheets(3).Select
If ActiveSheet.Name = ("Foglio3") Then
TextBox2 = ""
TextBox3 = ""
TextBox4 = ""
TextBox5 = ""
TextBox6 = ""
TextBox7 = ""
Indirizzario.ComboBox1.RowSource = ""
Indirizzario.ComboBox1.RowSource = "B3:B152"
CheckBox1.Value = False
CheckBox2.Value = False
CheckBox3.Value = True
CheckBox4.Value = False
Label1.Caption = "Cantante"
Label2.Caption = "Titolo"
Label3.Caption = "Genere"
Label4.Caption = "CD-titolo"
Label5.Caption = "Anno Pubblic."
Label6.Caption = "Prezzo"
Label7.Caption = "Scrivi il Cantante da cercare:"
Label10.Caption = "MUSICA"
OptionButton1.Caption = "Cerca Cantante (esatto)"
OptionButton2.Caption = "Cerca Cantante (parziale)"
End If
 

Come si vede, vengono reimpostate le proprietà Caption delle Label con le nuove intestazioni dei campi presenti sul foglio3. Vengono altresì pulite tutte le textbox, per evitare di vedere dei dati che appartengono ad un foglio precedente. Queste istruzioni saranno presenti in ogni pulsante di navigazione tra i fogli, ovviamente con le giuste modifiche. Questa un immagine se si è su Agenda:

e questa un immagine di quando saremo su Musica

Come si nota le Label sono aggiornate per i nuovi campi. Altrettanto succederà per gli altri fogli.

 

File consultabile e scaricabile  :  VariusDB2-2000.zip     61 Kb