RioLab

  • Aumenta dimensione caratteri
  • Dimensione caratteri predefinita
  • Diminuisci dimensione caratteri
Home Articoli
Articoli

Crossreference di tabelle e campi nelle query di un MDB

E-mail Stampa PDF

XREF.mdb è un'utility che permette la generazione e la visualizzazione delle xreference sull'uso di tabelle, campi e query al'interno di uno o più MDB che si è deciso di sottoporre ad analisi.

Le xreference generate sono di due tipi, la prima permette di rilevare l'interdipendenza tra le sole query, la seconda esprime la dipendenza che c'è nell'uso dei campi delle tabelle all'interno delle query.

L'utility possiede una barra di menu con due voci: Genera e Visualizza.
La voce Genera permette di selezionare l'MDB che si intende analizzare, scegliere quale tipo di xreference generare (una delle due o entrambe), e visualizzare la xreference generata (se l'MDB è complesso, cioè possiede molte decine di tabelle e di query, la generazione delle xreference occupa abbastanza tempo, soprattutto quella di tipo tabelle-query).
La voce Visualizza permette di elencare le xreference già elaborate e di visualizzarne una facendo un doppio clik sul selettore di record della xreference di interesse.
Al più è possibile visualizzare contemporaneamente due xreference: una di tipo query-query, l'altra di tipo tabelle-query.

Segue una descrizione dettagliata delle due maschere che si occupano di visualizzare i due tipi di xreference.

Form xreference query-query

Visualizza la xreference relativa all'uso delle sole query.
- Treeview in alto (query referenziate): visualizza per ogni query quali sono le eventuali query utilizzate al suo interno, cioè quali sono le query referenziate.
- Treeview in basso (query referenzianti): visualizza per ogni query quali sono le eventuali query che la utilizzano, cioè le query che la referenziano.
I pulsanti con la squadra e SQL permettono di aprire in struttura oppure di visualizzare l'SQL per la query correntemente selezionata in una delle due tree-view, questo a patto che l'MDB per il quale sono state generate le xreference sia ancora accessibile.
I due pulsanti freccia in alto e freccia in basso permettono di localizzare in modo veloce le query nelle due tree-view.
Per esempio se nella tree-view in alto è selezionata una query, premendo il pulsante freccia in basso, la stessa query verrà selezionata nella tree-view in basso, e viceversa.
Questo permette di avere sotto occhio in modo veloce, fissata una query di riferimento, l'insieme di query referenziate e di quelle referenzianti.
Le due check-box Sincr. permettono di attivare in modo continuo la sicronizzazione tra le due tree-view.
Per esempio se la check-box Sincr. nelle query referenziate (quelle nella tree-view in alto) è spuntata, allora ad ogni selezione di una query, questa sarà localizzata automaticamente e selezionata anche nell'elenco delle query referenzianti (quelle nella tree-view in bassso).
Il pulsante con la freccia a destra invece permette di localizzare nella tree-view in alto presente nell'altra form xreference tabelle-query, la query che risulta essere correntemente selezionata.

Form xreference tabelle-query

Visualizza la xreference relativa all'uso delle tabelle e dei campi nelle query.
- Treeview in alto (tabelle/campi referenziati): visualizza per ogni query quali sono le tabelle e i rispettivi campi utilizzati al suo interno, cioè le tabelle e i campi referenziati.
- Treeview in basso (query referenzianti): visualizza per ogni tabella e per ogni suo campo, quali sono le query che vi accedono, cioè le query referenzianti.
I pulsanti con la squadra e SQL permettono di aprire in struttura oppure di visualizzare l'SQL (solo per le query) per la query o la tabella correntemente selezionata in una delle due tree-view.
Il pulsante freccia in alto permette di localizzare nella tree-view in alto (tabelle/campi referenziati) la query che è correntemente selezionata nella tree-view in basso (query referenzianti).
Invece la freccia in basso permette di localizzare nella tree-view in basso (query referenzianti) la tabella che è correntemente selezionata nella tree-view in alto (tabelle/campi referenziati).
Le due check-box Sincr. permettono di attivare in modo continuo la sicronizzazione tra le due tree-view secondo i comportamenti sopra descritti.
Il pulsante con la freccia a sinistra invece permette di localizzare nella tree-view in alto presente nell'altra form xreference query-query, la query che risulta essere correntemente selezionata.

Seleziona speciale abbinata a combinazione di tasti

Selezionando gli elementi presenti nelle tree-view attraverso il click con il sx e tenendo premuto il tasto CTRL, si otterrà l'espansione/compressione automatica del nodo in modo da visualizzare tutti i sottoelementi di primo livello.
Invece eseguendo la selezione tenendo premuti CTRL + ALT si otterrà l'espansione/compressione automatica di tutti i livelli del nodo in modo da visualizzare tutti i sottoelementi.

Query che vengono correttamente processate

Una corretta elaborazione delle xreference è garantita solo per le query in cui è usato il qualificatore di tabella o alias per referenziare i campi (select t.campo from Tabella t oppure select Tabella.campo from Tabella e non select campo from Tabella), e solo se i nomi di tabella non coincidono con nomi di query (l'oggetto T non può essere sia il nome di una tabella che quello di una query).
In più non tutti i casi di uso della sintassi .* per indicare tutti i campi di una tabella sono correttamente interpretati, di conseguenza è bene costruire query che specifichino sempre in modo diretto l'elenco dei campi da coinvolgere.

L'utility non è un parser di SQL, la rilevazione dell'uso delle tabelle e dei campi viene fatto attraverso l'uso di espressioni regolari facendo affidamento alla sintassi del Jet-SQL usato da Access, inoltre viene dato per scontato che tutte le query contenute nell'mdb da analizzare siano già sintatticamente corrette.
Non essendo un parser, il metodo non è infallibile anche se per l'uso che ne è stato fatto fino ad ora si è comportato in modo corretto.
Se chi intenderà usare l'utility scoprisse nuovi casi in cui le espressioni regolari ora falliscono, è pregato gentilmente di avvisarmi… grazie!

ATTENZIONE
Utility in formato Access 2000.
Riferimenti necessari: DAO 3.6, Microsoft VBScript Regular Expressions 5.5 (libreria installata da Windows Scripting Host 5.6), Microsoft Windows Common Controls 6.0 (SP6), OLE Automation.
L'utility contiene al suo interno già delle xreference elaborate come esempio, si consiglia di scompattare lo zip nel percorso c:\temp\xref.
Gli esempi elaborati si riferiscono a Nwind.mdb e allo stesso xref.mdb.
 

 


Sistema operativo: Win32
Applicazioni: Access 2000, Access 2002/XP, Access 2003

 

Ultimo aggiornamento Giovedì 02 Luglio 2009 11:35
 

Agenda Appuntamenti

E-mail Stampa PDF

Questo Demo rappresenta una semplice Agenda di Appuntamenti, non ha la pretesa di risolvere problematiche complesse o di essere un Tool Completo, ma solo una dimostrazione di semplicità.

 

La maschera principale espone 7 giorni con altrettante ListBox, nelle quali ogni riga rappresenta un'intervallo orario.

La configurazione dell'agenda si effettua tramite queste costanti, contenute nel modulo "basAppuntamenti", che definiscono l'ora d'inizio, l'ora di fine e la durata degli intervalli temporali

Public Const START_TIME       As String = "09:00"

Public Const STOP_TIME        As String = "18:00"

Public Const DELTA_TIME       As Integer = 30  ‘ In Minuti

N.B.: è importante definire all'inizio eventuali variazioni della scalatura degli orari, altrimenti, in seguito, si verificherebbero anomalie per la differenza rispetto ai dati salvati con impostazioni differenti.

 

Caratteristiche

I controlli ListBox sono stati strutturati come USERCONTROL; la struttura dell'applicativo infatti prevede due classi fondamentali:

clsItem e clsItems

La prima (clsItem) rappresenta l'istanza singola dello USERCONTROL, che è costituito da:

1 Controllo ListBox     [lstn]

1 Label(giorno)         [lbln]

1 Label(Ora)            [lblOran]

1 Label(Oggetto)        [lblObjn]

L'istanza della classe clsItemprovvede a gestire lo USERCONTROL in tutto.

La classe clsItems rappresenta la classe Collection che raggruppa gli USERCONTROL (le istanze della classe clsItem) e ne gestisce gli eventi singoli sfruttando la tecnica delle interfacce tramite Implements.

La classe clsItems a sua volta espone eventi pubblici un po' come una matrice di controlli in VB, quindi restituirà l'indice dello USERCONTROL che ha scatenato l'evento e tutti i dati necessari.

Altre due classi importanti sono:

clsForm e clsForms

Gestiscono le istanze delle Form legate al Giorno singolo.

La classe FormInfo è una classe Utility.

 

 

Maschera principale

 

La maschera principale rappresenta il SETTIMANALE, a partire dal giorno impostato nel controllo "1° gg". Di default il giorno impostato in alto a sinistra è quello attuale.

Ai giorni vengono attribuiti dei colori di sfondo che ne definiscono il TIPO:

1) GIORNO ATTUALE

All'apertura è il primo in alto a sinistra; si differenzia sempre dagli altri poichè ha una BORDATURA blu.

2) GIORNI SUCCESSIVI INFRASETTIMANALI

     Sono caratterizzati dallo sfondo azzurro.

3) GIORNI PRECEDENTI INFRASETTIMANALI

     Sono caratterizzati dallo sfondo blu intenso.

4) DOMENICHE

     Sono caratterizzati dallo sfondo rosso.

5) GIORNO ATTIVO

     Il giorno che prende lo stato attivo ha lo sfondo giallo chiaro.

La console alla destra consente di variare il settimanale, facendo riferimento sempre alla data del 1° giorno (in alto a sinistra).

DETTAGLI MASCHERA PRINCIPALE

DRAG&DROP SINGOLO GIORNO

Passando con il mouse sulla data estesa del singolo giorno si noterà la variazione del puntatore del mouse.

Si ha la possibilità di effettuare il DRAG&DROP del singolo giorno trasportandolo come un "Post-It" sull'area di sfondo di Access (quella in grigio), la MDI_CLIENT area.

Per effettuare il DRAG&DROP premere il pulsante sinistro e, tenendolo premuto, trascinare sull'area grigia la maschera che viene visualizzata in trasparenza.

Qualsiasi altro posizionamento non è accettato e la maschera verrà chiusa. Essendo Form di tipo Popup il loro trascinamento successivo sarà valido anche sul DeskTop.

Questa particolarità è disponibile in tutto il progetto, dove sono stati definiti gli USERCONTROL, e può essere utile quando si vuole mantenere visibile uno o più giorni che non rientrano nell'arco del SETTIMANALE.

Viene gestita la multisessione delle form, pertanto non è possibile aprire due o più form ("Post-It") sullo stesso giorno.

Maschera d'Inserimento

TOOLBAR di navigazione

La navigazione nella settimana è garantita dalla console di navigazione a destra.

Sono usati 5 oggetti di navigazione:

1) 1° gg

La freccia a sinisrta consente di portare il settimanale alla data odierna.

Il simbolo del calendario  invece apre il calendario per la selezione personalizzata della data di partenza del Settimanale.

2÷5) Giorno/Sett./Mese/Anno

Le frecce  e  consentono di incrementare o decrementare di una unità (Giorno/Settimana/Mese/Anno) la data iniziale del Settimanale.

Il doppio click sulla parte centrale dei pulsanti di navigazione 2÷5 consente la definizione personalizzata dello spostamento tramite la maschera d'inserimento dedicata (vedi fig. a sinistra).

Essa propone il valore iniziale e consente di inserire il nuovo valore al quale si deve spostare il relativo oggetto di navigazione.


MASCHERA PRINCIPALE DEFINIZIONE COLORI PERSONALIZZATI

SYSTEM COLOR TOOL

Questa maschera consente di definire e personalizzare, entro alcuni limiti, i colori utilizzati per la differenziazione dei giorni.

Il doppio click sul codice numerico del colore attiverà la ColorPalette per la selezione personalizzata.

Il nuovo colore selezionato verrà salvato automaticamente ed alla chiusura della maschera i colori verranno applicati al Settimanale.



CARATTERISTICHE MASCHERA GIORNO SINGOLO

Dalle maschere SINGOLE è possibile variare il giorno ridefinendolo dal calendario visibile in alto a destra.

Il Pulsante a sinistra in basso da la possibilità di BLOCCARE la form che come un POST_IT non sarà più possibile muoverla fino alla rimozione del blocco.

Si ha la possibilità di chiudere la singola finestra gionaliera, oppure tutte le finestre giornaliere.


 

Accesso alla definizione di appuntamento

Per accedere ai dettagli dell'appuntamento basta fare un doppio click sull'ora indicata nella lista.

MASCHERA DI DETTAGLIO

Si apre così la maschera secondaria per la configurazione che dovrà essere compilata obbligatoriamente nel campo Oggetto.

è possibile definire un intervallo preciso dell'appuntamento definendolo nelle due caselle combinate Ora Inizio e Ora Fine.

Le condizioni di apertura di questa maschera sono due:

  1. Nuovo appuntamento
  2. Edita appuntamento

Questa distinzione è automatica, pertanto, se l'apertura è avvenuta su un appuntamento esistente, la maschera è in modalità EDITA, mentre se l'apertura è avvenuta su un'orario disponibile, la maschera sarà in modalità NUOVO.

In sostanza la differenza tra le due è la seguente: in modalità NUOVO non si ha la possibilità di modificare la data del giorno aperto per l'impegno, mentre in modalità EDITA potremo ovviamente accedere al calendario per posticipare o anticipare la data dell'appuntamento.

Per avallare l'inserimento o la modifica servirà approvarla con il pulsante (Immagine) di EDITA o di NUOVO.

Al rientro nella maschera principale verranno aggiornati i dati visualizzati.

Ringrazio in particolar modo Gabriele Bertolucci per il paziente ed ottimo DEBUG fatto e per i suggerimenti dati.

 

 


Sistema operativo: Win32
Applicazioni: Access 2000, Access 2002/XP, Access 2003

 

Ultimo aggiornamento Lunedì 03 Agosto 2009 11:56
 

La navigazione richiede troppo tempo quando occorre modificare un documento di Word che contiene parecchie sezioni

E-mail Stampa PDF
a cura di Cinzia Pagani e Patrizia Monti

Muoviti rapidamente fra le aree di un documento usando Maiusc+F5

Spostati direttamente sull'ultima area che hai modificato Quando stai lavorando ad un documento lungo e ti muovi fra sezioni differenti del documento, puoi utilizzare la scorciatoia Maiusc+F5 della tastiera per spostarti nell'ultima zona del documento che hai modificato. Così puoi modificare la sezione relativa alla pianificazione, spostarti per modificare qualcosa nell'area relativa al budget, poi premere Maiusc+F5 e ritrovarti di nuovo nella sezione relativa alla pianificazione. Risparmi tanti scroll!

 


Sistema operativo: win32
Applicazioni: Word 2007

 

 

Usa le tue immagini o logo con SmartArt

E-mail Stampa PDF
a cura di Patrizia Monti e Cinzia Pagani

Aggiungi un tocco personale alle tue presentazioni

Inserisci una SmartArt nella tua presentazione

  1. Seleziona la linguetta "Insert" dal ribbon
  2. Clicca su "SmartArt" e seleziona il tipo di grafico che vuoi inserire

Per personalizzare la tua SmartArt seleziona l'immagine che vuoi usare nella presentazione

  1. Apri l'immagine con "Office Picture Manager"
  2. Click del bottone destro sull'immagine e seleziona la voce "Copy"

Incolla l'immagine nella SmartArt

  1. Click del bottone destro all'interno di un oggetto SmartArt
  2. Incolla l'immagine

 

Ripeti gli ultimi due passi per tutti gli oggetti nei quali vuoi come sfondo l'immagine

Rifinisci la tua presentazione

Completa la tua presentazione applicando le tue immagini preferite o il logo....e voilà !!!

 


Sistema operativo: win32
Applicazioni: PowerPoint 2007

 

Ultimo aggiornamento Lunedì 03 Agosto 2009 12:13
 

Inviare documenti non modificabili o pubblicare un qualsiasi documento Office non modificabile

E-mail Stampa PDF
a cura di Patrizia Monti e Cinzia Pagani

Fare in modo che i destinatari non modifichino il contenuto dei documenti ricevuti.

 

Crea/modifica un qualsiasi documento Office (Word, PowerPoint, Excel, Visio, InfoPath, Publisher

Quando sei pronto per pubblicare o condividere il documento, esportalo nel nuovo formato Microsoft XPS. Un documento XPS è in formato non modificabile, il formato ideale per pubblicare o archiviare un documento finito. Un documento XPS salvato in un sito SharePoint o memorizzato in una condivisione di rete sarà visibile e trattabile, ma non modificabile. Puoi farlo facilmente con File --> Save As --> *.xps

Pubblica o condividi il documento a seconda delle tue preferenze

  1. Puoi pubblicarlo in SharePoint
  2. Puoi inviarlo come un qualsiasi allegato tramite Outlook o qualsiasi altro sistema di posta elettronica
  3. Puoi memorizzarlo in una cartella condivisa in rete

 

I destinatari possono facilmente visionare I documenti XPS (il cui contenuto non è modificabile) I destinatari non necessitano dell'applicazione che ha generato questo documento (es: PowerPoint, ecc.)! Per visualizzare un documento XPS occorre solo un visualizzatore XPS. Sul sistema operativo Windows Vista i documenti XPS si aprono automaticamente all'interno del browser. Per Windows XP e Windows 2003 è necessario scaricare .NET 3.0. In alternativa è possibile scaricare il ‘XPS Essentials Pack', che installa un visualizzatore XPS (su sistemi operativi Windows XP, Windows 2003, and Windows 2000).

 

 

 


Sistema operativo: win32
Applicazioni: Office 2007

 

 

Conversione numeri da base... a base...

E-mail Stampa PDF

E' sostanzialmente una rielaborazione in Excel del lavoro eseguito manualmente dai ragazzi della scuola secondaria I gr. nel corso della trattazione dei Sistemi di numerazione posizionali.

 

Il file è costituito da quattro Fogli di lavoro:
"da base ... a base 10": l'alunno può interagire scegliendo, mediante un menu di Convalida dati, la base, da 2 a 9, del sistema di numerazione. Può inserire in diverse celle le cifre del numero da convertire, ricevendo precise informazioni in caso di errore.
Per i docenti più interessati all'applicativo è presente la soluzione alternativa mediante formula, corredata dall'analitica spiegazione della stessa.
"da base 10 a base ... ": anche qui l'alunno può scegliere la base, da 2 a 9, ed immettere in una cella il numero decimale da convertire, seguendo nel foglio i passaggi della trasformazione a lui familiari.
E' inoltre illustrata la relazione che lega il numero di cifre utilizzate per la scrittura del numero in una certa base, al numero di valori del sistema decimale dei quali è possibile la rappresentazione. La dimostrazione di tale relazione è collegata alle scelte operative dell'alunno.
L'alunno è invitato inoltre a verificare, nello stesso schema operativo, l'aumento del numero di cifre necessarie, al crescere delle potenze della base scelta.
Anche su questo foglio, ma solo a titolo esemplificativo, è presente la conversione automatica di un numero dal sistema decimale a quello binario.


 

Nel terzo e quarto foglio di lavoro si accenna al sistema esadecimale come approfondimento sui sistemi di numerazione a base maggiore di 10. L'alunno può esercitarsi nelle conversioni di numeri da base 16 a base 10 e viceversa.


 

Qualche nota per l'utilizzo del file: i fogli di lavoro sono protetti per evitare manomissioni accidentali, non è richiesta alcuna password per rimuovere la protezione.
Nel secondo foglio di lavoro è stata usata la funzione QUOZIENTE(). Potrebbe presentarsi il valore di errore #NOME?.Evidentemente non è attivato il componente aggiuntivo "Strumenti di analisi". Per attivarlo, dal menu Strumenti si sceglie l'opzione Componenti aggiuntivi e si seleziona la casella relativa.


 

 


Sistema operativo: WIN32

Applicazioni: Excel 97, Excel 2000, Excel 2002/XP, Excel 2003

 

 
 

Ammortamento francese

E-mail Stampa PDF

Il foglio di calcolo serve per lo sviluppo di piani di ammortamento a rate costanti posticipate - ammortamento francese - del tipo cioè che  viene di solito proposto dalle banche quando si chiede un mutuo, un prestito o qualsiasi altro finanziamento che preveda un rimborso rateale.

Per il calcolo è stato previsto l'utilizzo sia del tasso annuo effettivo, sia del tasso nominale convertibile k volte l'anno.

Il foglio è protetto senza password per evitare modifiche accidentali.

Originariamente l'area di stampa veniva definita dalla seguente formula:

=INDIRETTO("AmmFr!$B$1:$H$"&11+AmmFr!$D$6)

poichè è capitato che, inspiegabilmente, la formula sia stata sostituita da excel con riferimenti assoluti ho preferito adempiere a questa funzione ricorrendo al VBA con l'intercettazione dell'evento Worksheet_Change.

 


Sistema operativo: WIN32

Applicazioni: Excel 97, Excel 2000, Excel 2002/XP, Excel 2003

 

 

 

Ultimo aggiornamento Lunedì 06 Luglio 2009 16:37
 


Pagina 10 di 15

Pubblicità

Link consigliati: