Rendiconto SQL Personalizzato
|
Un Rendiconto SQL Personalizzato permette all'utente di creare un rendiconto unico e personale. Il rendiconto viene creato tramite uno script SQL che interagisce direttamente col nostro database.
Dopo aver creato lo script e averlo salvato in MMEX, il rendiconto è facvilmente accessibile dal Pannello di Navigazione del programma.
La creazione di un nuovo Rendiconto SQL Personalizzato è possibile tramite:
La voce del menù: Strumenti –> Rendiconto SQL Personalizzato
L'icona nella barra sotto i menù.
Ua delle sopracitate azioni aprirà la finestra di dialogo per la gestione del Rendiconto SQL Personalizzato permettendo all'utente di scrivere direttamente lo script e salvarlo come un file.
Un utile script SQL personalizzato è disponibile anche sul Forum MMEX su Internet, a cui si può accedere come segue:
Accedere alla pagina del Forum utilizzando la voce del menù: Guida –> Supporto
Cercare tra i titoli del Forum: Scripts Rendiconto SQL Personalizzato
Racomandazioni:
Per i nuovi script, usare un titolo adatto al rendiconto.
Salvare lo script prima di a prire la finestra di dialogo per la Creazione di Rendiconto SQL Personalizzato.
Nota: Un errore dello script potrebbe la perdita del tuo script se questo non è stato preventivamente salvato.
Utilizzare il menù pop-up nel Pannello di Navigazione per eventuali modifiche al file.
Nota: |
Tutte le intestazioni degli script sono salvate in un file index chiamato: CustomSQLReportIndex.txt |
|
Il Rendiconto SQL Personalizzato può essere eliminato cancellando il file index. |
|
I rendiconti, se necessario, possono essere gestiti e riorganizzati modificando direttamente il file index. |
I Rendiconti creati tramite la finestra di dialogo per la creazione di Rendiconti SQL Personalizzati saranno memorizzati nel Pannello di Navigazione. Al rendiconto viene attribuito un nome quando viene salvato. Tramite l'elenco dei rendiconti l'utente può:
Eseguire il rendiconto
Modificare il rendiconto
Eliminare il rendiconto
Il nome di un rendiconto può essere salvato
anche senza uno script SQL allegato. This is used as a title for
grouping scripts
together. Quindi il Pannello di Navigazione diventa una sorta di
rendiconto standard da cui di dirama l'elenco dei vari rendiconti
creati. Un rendiconto può avere un solo sottolivello nell'elenco.
Per poter creare uno script è
necessario comprendere la struttura base del database. Questo è
strutturato come mostrato di seguito:
(Nota del traduttore: ho lasciato i termini in inglese poiché lo script va comunque creato in inglese)
Struttura base di MMEX |
|
Tabella delle Informazioni
Questo schema mostra i nomi delle tabelle con i campi associati, nonché il collegamento che lega la tabella tramite il campo indice primario della tabella.
Nome |
Descrizione |
InfoTable_V1 |
Contiene le impostazioni specifiche del database. |
CurrencyFormats_V1 |
Contiene i valori delle Valute nel database. |
AccountList_V1 |
Contiene tutti i nomi dei Conti e i dati ad essi collegati. |
Payee_V1 |
Contiene tutti i Beneficiari e le ultime Categorie utilizzate per quel beneficiario. |
Category_V1 |
Questo è l'elenco di tutte le Categorie del sistema. |
SubCategory_V1 |
Questo è l'elenco di tutte le Sottocategorie. |
CheckingAccount_V1 |
Questa è la tabella principale che contiene tutte le Operazioni |
SplitTransactions_V1 |
Contiene i dati associati alle Operazioni Suddivise. |
Tabelle non visualizzate nel diagramma |
|
Stock_V1 |
Utilizzata per i Titoli, e collegata alla tabella: AccountList_V1 utilizzando il campo HeldAt |
Assets_V1 |
Contiene tutti i dettagli dei Beni |
BudgetYear_V1 |
L'anno specificato per il Budget |
BudgetTable_V1 |
Dettagli del Budget |
BudgetSplitTransactions_V1 |
Operazioni Suddivise per il Budget |
BillDeposit_V1 |
Contiene tutte le informazioni per le Operazioni Ricorrenti. Simile alla tabella: CheckingAccountV1 |
Il tentativo di insegnare la programmazione SQL va al di là di questo piccolo file d'aiuto, tuttavia quella che segue è una breve guida alla comprensione di base degli script, possibilmente al fine di riuscire a creare, se si desidera, il proprio script personalizzato.
Nella creazione dello script, il comando principale che tendiamo ad utilizzare è l'indicazione SELECT.
Il formato base è:
SELECT <nome> |
<name> rappresenta il campo nome della tabella, o * per tutti i nomi. |
|
FROM <tabella> |
<tabella> rappresenta la tabella o le tabelle a cui è rivolto il comando. |
|
WHERE <in cui si verificano> |
[facoltativo] qui testiamo determinate condizioni scelte. |
|
ORDER BY <parametro> |
[facoltativo] ordina il risultato secondo questo parametro. |
Esempi:
SELECT * FROM
AccountList_V1;
* Questo visualizzerà tutti i campi della tabella:
AccountList_V1
SELECT AccountName, Status FROM AccountList_V1 WHERE AccountType = “Term”;
*
Questo visualizzerà i nomi Conti a Termine e lo Stato dei conti dalla tabella: AccountList_V1
Di seguito viene descritto uno script più complesso:
Sebbene questo script sia inefficace, serve a dimostrare alcuni principi di base. |
select
pT.PayeeName payee, |
In questo esempio vediamo che il nome della tabella è: payee_V1 ed il nome del campo è: PayeeName
Nella sezione FROM vediamo il nome della tabella: payee_V1 pT
* Qui il pT alla fine, agisce come un alias per il nome della tabella.
Adesso in SELECT vediamo:
pT.PayeeName payee (beneficiario)
* pT. è usato per indicare la tabella a cui appartiene il campo PayeeName
* Il payee (beneficiario) finale, è un alias per la combinazione tabella.campo-nome
Possiamo separare i nomi delle tabelle e quelli dei campi con delle virgole, così vedremo più tabelle e campi in questo esempio.
Nella sezione WHERE , vediamo: pT.categID = cT.categID
* Qui ci accertiamo che due campi siano della stessa tabella.
Adesso nella sezione ORDER BY, ora possiamo utilizzare il nome semplificato di payee (beneficiario) che abbiamo definito nella sezione SELECT.
Mi auguro che questa breve introduzione aiuti a rendere un po' più comprensibile gli script file come abbiamo visto sul Forum
di MMEX nella sezione dedicata allo script per il Rendiconto SQL Personalizzato.
Traduzione Italiana di questo file a cura di Maurizio.13 [utente
forum: Mau.13] - Italian translation of this file by Maurizio.13 [Forum
user: Mau.13]