Users Guide Visual FoxPro®" di Microsoft
Users Guide Visual FoxPro®" di Microsoft
Users Guide Visual FoxPro®" di Microsoft
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
MICROSOFT VISUAL FOXPRO<br />
GUIDA UTENTE<br />
TRADUZIONE DALL’EDIZIONE INGLESE DI:<br />
“<strong>Users</strong> <strong>Guide</strong> <strong>Visual</strong> FoxPro®" <strong>di</strong> <strong>Microsoft</strong>©<br />
Traduzione e Adattamento <strong>di</strong>:<br />
Baldarelli Gian-Carlo e Daniela Alvisi<br />
webmaster@foxitaly.com<br />
http://www.foxitaly.com<br />
Lo scopo <strong>di</strong> questa traduzione è quello <strong>di</strong> offrire anche al pubblico <strong>di</strong> lingua italiana<br />
una guida per muovere i primi passi con questo bellissimo strumento <strong>di</strong> programmazione<br />
Tutti i <strong>di</strong>ritti dei marchi citati sono dei legittimi proprietari<br />
FoxPro e <strong>Visual</strong> FoxPro® sono un marchi registrati da <strong>Microsoft</strong> Corporation©
Come avviare<strong>Visual</strong> FoxPro<br />
Per avviare <strong>Visual</strong> FoxPro<br />
●<br />
Fate un doppio click sull’icona <strong>di</strong> <strong>Microsoft</strong> <strong>Visual</strong> FoxPro.<br />
Quando avviate <strong>Visual</strong> FoxPro, il Project Manager crea un nuovo progetto in cui potete<br />
aggiungere voci precedentemente create oppure crearne delle nuove da includere.<br />
Utilizzando il Project Manager, potete velocemente familiarizzare con <strong>Visual</strong> FoxPro.<br />
Il Project Manager fornisce un facile metodo visuale per organizzare tabelle, form, database,<br />
report, queries, e altri file quando dovete creare una applicazione.<br />
Il Project Manager organizza i vostri dati.<br />
Se avete tabelle provenienti da precedenti versioni <strong>di</strong> FoxPro ® , potete aggiungerle<br />
imme<strong>di</strong>atamente e vedere come lavora <strong>Visual</strong> FoxPro. Se avete altri dati che volete<br />
organizzare ( siano fogli <strong>di</strong> calcolo, file <strong>di</strong> testo, o tabelle <strong>di</strong> altre applicazioni, potete<br />
importarle in <strong>Visual</strong> FoxPro e aggiungerle nel progetto).
Potete anche creare un nuovo progetto in ogni momento scegliendo l’opzione [new] dal<br />
menu [file].<br />
Per creare una nuova applicazione<br />
1.<br />
2.<br />
3.<br />
4.<br />
Dal menu File, scegliete New.<br />
Selezionate Project e scegliete New File.<br />
Nella finestra Create, <strong>di</strong>gitate il nome che volete assegnare al nuovo progetto.<br />
Quin<strong>di</strong> cliccate su Save.<br />
Per aiutarvi a familiarizzare con <strong>Visual</strong> FoxPro, potete utilizzare l’esempio fornito con il<br />
pacchetto. Questi esempi sono contenuti nella cartelle <strong>di</strong> <strong>Visual</strong> Stu<strong>di</strong>o …\Samples\Vfp98.<br />
(Utilizzato anche negli esempi della guida <strong>Users</strong> <strong>Guide</strong> <strong>Visual</strong> FoxPro® <strong>di</strong> <strong>Microsoft</strong>©)<br />
Testdata.dbc<br />
Questo database contiene un semplice set <strong>di</strong> tabelle correlate con cui potete fare esperienza<br />
mentre familiarizzate con <strong>Visual</strong> FoxPro.<br />
Tastrade.pjx<br />
Questo progetto contiene una applicazione completamente sviluppata che potete utilizzare<br />
per comprendere che tipo <strong>di</strong> applicazioni potete creare con <strong>Visual</strong> FoxPro. Aprendo e<br />
esaminando come è strutturato il progetto potrete comprendere come si costruiscono le<br />
applicazioni.
Introduzione a Project Manager<br />
Il Project Manager è fondamentalmente uno strumento <strong>di</strong> organizzazione quando si deve lavorare con<br />
dati e oggetti in <strong>Visual</strong> FoxPro. Un progetto è una collezione <strong>di</strong> files, dati, documenti, e oggetti <strong>di</strong> <strong>Visual</strong><br />
FoxPro che vengono salvati in un file con l’estensione .pjx.<br />
Il Project Manager è il vostro" centro <strong>di</strong> controllo" per lavorare con <strong>Visual</strong> FoxPro.<br />
Potete utilizzare il Project Manager per organizzare i files così come creare tabelle e database, scrivere<br />
query, impostare moduli (form) e stampe (report ), e costruire applicazioni.<br />
Potete iniziare a creare la vostra applicazione anche aggiungendo basi <strong>di</strong> dati <strong>Visual</strong> FoxPro già esistenti,<br />
oppure utilizzando i file <strong>di</strong> esempio <strong>di</strong> <strong>Visual</strong> Stu<strong>di</strong>o …\Samples\Vfp98\Data <strong>di</strong>rectory.<br />
<strong>Visual</strong>izzare i contenuti del Progetto<br />
Il Project Manager consente la visualizzazione organizzata e gerarchica dei dati. Per focalizzare su un<br />
particolare tipo <strong>di</strong> dati, file o oggetti del progetto, scegliere l’apposita linguetta.<br />
Quando state impostando tabelle e database o creando moduli (form), interrogazioni (query), viste<br />
(view), e prospetti stampa (report) lavorate principalmente con le voci mostrate nella scheda Data and<br />
Documents.<br />
Localizzare gli archivi dati (Data Files)<br />
Questa scheda contiene tutti i componenti <strong>di</strong> un progetto; gli archivi, tavole libere, queries, e viste This<br />
tab contains all the data for a project: the databases, free tables, queries, and views.<br />
Scheda Data del Project Manager
Databases serie <strong>di</strong> tabelle, <strong>di</strong> solito relazionate fra <strong>di</strong> loro attraverso un campo comune.<br />
Per supportare le tabelle e le relazioni, potete includere viste, connessioni,<br />
procedure, regole, e triggers . I database si creano con il Database Designer,<br />
Gli archivi database hanno l’estensione .dbc<br />
Le Free tables sono tabelle che non sono parti <strong>di</strong> un database e sono memorizzate in un archivio con<br />
l’estensione .dbf.<br />
Le Queries sono un modo strutturato <strong>di</strong> richiedere delle informazioni specifiche memorizzate in una<br />
tabella. Utilizzando il Query Designer, formulate una domanda che estrae i record dalle tabelle secondo<br />
il criterio voluto. Le Queries sono coman<strong>di</strong> SQL-Select salvate in un file <strong>di</strong> testo con l’estensione .qpr .<br />
Le Views sono query specializzate che consentono l’accesso sia locale che remoto e consentono<br />
l’aggiornamento dei dati con la mo<strong>di</strong>fica dei record ottenuti dalla query. Le Views esistono solamente<br />
all’interno <strong>di</strong> un database e non sono file in<strong>di</strong>pendenti.<br />
<strong>Visual</strong>izzare Form and Report<br />
La scheda Documents contiene tutti i documenti che utilizzate quando lavorate con i dati, i form<br />
utilizzati per l’immissione e la visualizzazione dei dati, i report e le etichette per la formattazione delle<br />
stampe <strong>di</strong> tabelle e il risultato delle query.
Scheda Documents del Project Manager<br />
Forms sono utilizzati per mostrare e e<strong>di</strong>tare i contenuti delle tabelle.<br />
I Reports sono files che <strong>di</strong>cono a <strong>Visual</strong> FoxPro come impostare i dati provenienti dall’azione <strong>di</strong> query<br />
su tabelle per la stampa.<br />
Le Labels sono report speciali per impostare i dati per la stampa su etichette.<br />
Le altre schede Classes, Code, and Other — sono principalmente utilizzate quando si creano applicazioni<br />
per l’utenza finale.<br />
<strong>Visual</strong>izzare i dettagli degli archivi (Files)<br />
Le voci nel Project Manager sono organizzate in una vista che potete espandere o colassare in modo da<br />
visualizzare <strong>di</strong>versi livelli <strong>di</strong> dettaglio.<br />
Il segno (+) appare vicino ad un simbolo se ci sono uno o più voci <strong>di</strong> quel tipo nel progetto. Cliccate sul<br />
simbolo più (+) per visualizzare i nomi delle voci <strong>di</strong> quel tipo nel progetto.<br />
Per esempio, cliccate il segno più vicino alla voce Free Tables per visualizzare i nomi delle Free Tables<br />
contenute nel progetto.<br />
Il profilo mostra <strong>di</strong>fferenti livelli <strong>di</strong> dettaglio del progetto.
Per colassare la lista una volta che è stata espansa, cliccate sul segno meno.<br />
Aggiungere e rimuovere archivi Files<br />
Attraverso il Project Manager, potete aggiungere archivi già esistenti o potete crearne <strong>di</strong> nuovi. Per<br />
esempio se avete una serie <strong>di</strong> archivi .dbf già esistenti e volete aggiungerli ad un progetto, selezionate<br />
semplicemente Free Tables nella scheda Data e cliccate sul tasto Add per aggiungerli al progetto.<br />
Per aggiungere un archivio ad un progetto<br />
1. Selezionate il tipo <strong>di</strong> file che volete aggiungere.<br />
2. Scegliete Add.<br />
3. Nella finestra che appare Open , selezionate il nome del file che volete aggiungere e quin<strong>di</strong><br />
cliccate su OK.<br />
Per rimuovere un archivio dal progetto<br />
1. Selezionate l’elemento che volete rimuovere.<br />
2. Selezionate Remove.<br />
3. Alla richiesta <strong>di</strong> conferma scegliete ancora Remove.<br />
Se volete cancellare il file dal vostro computer scegliete Delete.<br />
Creazione e mo<strong>di</strong>fica <strong>di</strong> Files<br />
Il Project Manager semplifica la creazione e la mo<strong>di</strong>fica <strong>di</strong> files. Semplicemente selezionate il tipo <strong>di</strong> file<br />
che volete creare o mo<strong>di</strong>ficare e quin<strong>di</strong> cliccate su tasto New or Mo<strong>di</strong>fy. <strong>Visual</strong> FoxPro mostrerà lo<br />
strumento <strong>di</strong> progetto idoneo al tipo <strong>di</strong> file che avete selezionato.<br />
Per creare un file da aggiungere al Project Manager<br />
1.<br />
Selezionate l’elemento che volete creare.
2. Cliccate su New.<br />
Con alcuni elementi, avete l’opzione <strong>di</strong> utilizzare un wizard (procedura automatica) che vi aiuterà nella<br />
creazione del file.<br />
Per mo<strong>di</strong>ficare un file<br />
1. Selezionate un file esistente.<br />
2. Cliccate su Mo<strong>di</strong>fy.<br />
Per esempio, per modoficare una tabella, selezionate il nome della tabella e scegliete Mo<strong>di</strong>fy per<br />
visualizzare la tabella nel Table Designer.<br />
Aggiungere un descrizione ad un File<br />
Quando create o aggiungete un nuovo file, potete aggiungere una descrizione al file. Questa descrizione<br />
è visualizzata in basso alla finestra del Project Manager quando viene selezionato il file.<br />
Per aggiungere una descrizione ad un file<br />
1. Nel Project Manager, selezionate il file.<br />
2. Dal menu Project, selezionate E<strong>di</strong>t Description.<br />
3. Nella finestra <strong>di</strong> <strong>di</strong>alogo Description, scrivete la descrizione per il file.<br />
4. Cliccate su OK.<br />
<strong>Visual</strong>izzazione dei dati delle Tabelle<br />
Dal Project Manager, potete scorrere il contenuto delle tabelle del progetto.<br />
Per scorrere la tabella<br />
1. Selezionate la scheda Data.<br />
2. Selezionate la tabella e scegliete Browse.<br />
Con<strong>di</strong>videre files fra vari progetti<br />
Potete riusare il vostro lavoro <strong>di</strong> un progetto con<strong>di</strong>videndo gli archivi con un altro progetto. Questi files<br />
non sono duplicati, perché il progetto immagazzina solamente un riferimento ai files. I files possono<br />
essere simultaneamente con<strong>di</strong>visi con progetti <strong>di</strong>fferenti.<br />
Per con<strong>di</strong>videre files fra progetti<br />
1. In <strong>Visual</strong> FoxPro, aprite i due progetti che devono con<strong>di</strong>videre i file.<br />
2. Nel Project Manager contenenti il file, selezionate il file.<br />
3.<br />
Trascinate il file nel contenitore dell’altro progetto.
Personalizzare il Project Manager<br />
Potete personalizzare l’area <strong>di</strong> visualizzazione mo<strong>di</strong>ficando la vista del Project Manager o settando il<br />
doppio click per attivare i files nel Project Manager.<br />
Mo<strong>di</strong>ficare la vista<br />
Inizialmente il Project Manager appare in una finestra separata, voi potete muovere la finestra,<br />
mo<strong>di</strong>ficarne le <strong>di</strong>mensioni, chiuderla in modo da vederne solo le voci delle etichette.<br />
Per muovere il Project Manager<br />
●<br />
Mettere ilpuntatore del mouse sulla barra dei titoli e trascinatela nella nuova posizione.<br />
Per ri<strong>di</strong>mensionare Project Manager<br />
●<br />
Mettere il puntatore nell’angolo inferiore o superiore della finestra Project Manager, e trascinate<br />
cliccando per aumentare o <strong>di</strong>minuire la <strong>di</strong>mensione.<br />
Per chiudere il Project Manager<br />
●<br />
Cliccate sulla freccia all’insù nell’angolo superiore destro.<br />
Nella vista chiusa vengono mostrate solo le etichette delle schede<br />
Potete facilmente tornare alla vista iniziale del Project Manager.<br />
Per resettare il Project Manager<br />
●<br />
Cliccate la freccia all’ingiù nell’angolo superiore destro.<br />
Quando il contenitore è chiuso, potete separare le varie scede e sistemarle sullo spazio <strong>di</strong> lavoro a vostra<br />
preferenza. Quando separate la scheda, essa fluttua in<strong>di</strong>pendentemente nella finestra principale <strong>di</strong> <strong>Visual</strong><br />
FoxPro.<br />
Per separare una scheda<br />
1.<br />
2.<br />
Chiudere il contenitore.<br />
Selezionate una linguetta e trascinatela fuori dal Project Manager.<br />
Quando la scheda e fluttuante potette accedere alle opzioni del menu Progetto cliccando cin il punsante<br />
destro del mouse nella scheda fluttuante.<br />
Se volete che la scheda rimanga sempre in vista, cliccate sull’icona fermaglio in alto alla scheda. La
scheda resterà sopra tutte le altre schermate <strong>di</strong> <strong>Visual</strong> FoxPro. Potete impostare più finestre con l’opzione<br />
sempre in vista. Per rimuovere questa funzione cliccate nuovamente sul fermaglio.<br />
Schede del Project Manager<br />
Ripristino <strong>di</strong> una scheda<br />
●<br />
❍<br />
Cliccate su tasto Close della scheda.<br />
-or-<br />
Trascinate <strong>di</strong> nuovo la scheda sul Project Manager.<br />
Potete anche collocare il Project Manager alla barra dei tasti <strong>di</strong> <strong>Visual</strong> FoxPro.<br />
Per trasformare il Project Manager<br />
●<br />
Trascinare il Project Manager sulla barra dei tasti della finestra <strong>Visual</strong> FoxPro.<br />
Quando il Project Manager è ancorato <strong>di</strong>venta una parte della barra dei tasti. Potete espandere il Project<br />
Manager quando è ancorato cliccando sulle varie linguette delle sue schede e potete ancora separare le<br />
varie schede trascinandole via.
Introduzione al <strong>Visual</strong> FoxPro Designers<br />
Il Project Manager vi fornisce un rapido accesso al <strong>Visual</strong> FoxPro designers. Questo strumento<br />
facilita la creazione <strong>di</strong> tabelle, forms, databases, queries e report per la gestione dei vostri dati.<br />
Questa sezione descrive come utilizzare il designer. Potete anche assemblare le voci che create<br />
con il designer in una applicazione.<br />
Potete anche utilizzare il designer in<strong>di</strong>pendentemente dal Project Manager utilizzando le opzioni<br />
<strong>di</strong> New dal menu File.<br />
La seguente tabella in<strong>di</strong>ca quale designer utilizzare a secondo dell’obiettivo:<br />
Per Utilizzare questo designer<br />
Creare tabelle e definire in<strong>di</strong>ci nella tabella Table Designer<br />
Azionare delle queries su una tabella Query Designer<br />
Azionare queries su una sorgente <strong>di</strong> dati remota; Creare queries aggiornabili View Designer<br />
Creare un form per visualizzare e e<strong>di</strong>tare i dati nella vostra tabella Form Designer<br />
Creare un report per mostrare e stampare i vostri dati Report Designer<br />
Definire un database; visualizzare e creare relazioni fra le tabelle Database Designer<br />
Creare una connessione per una vista remota Connection Designer<br />
Per usare il designer per creare un nuovo files<br />
●<br />
dal Project Manager, selezionare il tipo <strong>di</strong> file che volete creare e scegliete New.
Utilizzo delle Toolbars<br />
Ogni designer ha una o più barre <strong>di</strong> pulsanti che vi fornisce l’accesso alle funzioni o azioni<br />
utilizzate con maggior frequenza dello strumento.<br />
Per esempio, il Form Designer ha delle barre pulsanti <strong>di</strong>verse per i controlli, la forma dei<br />
controlli e la palette dei colori.<br />
Potete sistemare tutte le barre pulsanti a vostro piacimento secondo le vostre necessità per il<br />
vostro lavoro.<br />
Potete ancorare le barre pulsanti in alto in basso o a lato in modo da personalizzare l’area <strong>di</strong><br />
lavoro. <strong>Visual</strong> FoxPro salverà la posizione delle toolbars in modo da riposizionarle al<br />
succesivo riavvio.<br />
Per mostrare le barre pulsanti (toolbars)<br />
1.<br />
2.<br />
3.<br />
Dal menu View selezionare Toolbars.<br />
Nella finestra <strong>di</strong> <strong>di</strong>alogo Toolbars, selezionate quella che volete utilizzare.<br />
Cliccate su OK.<br />
Per ancorare una toolbar<br />
●<br />
Trascinate la barra pulsanti in alto o in basso o a lato del vostro schermo.
Utilizzo delle procedure automatiche Wizards<br />
I Wizards sono dei programmi iterattivi che vi aiutano a portare a termine gli obiettivi più<br />
comuni come quelli <strong>di</strong> creare dei forms, <strong>di</strong> impostare dei reports e <strong>di</strong> preparare delle queries<br />
Per avere maggiori informazioni su ogni Wizard premete F1 quando lo richiamate.<br />
Rispondendo semplicemente alle domande o scegliendo delle opzioni nelle varie schermate<br />
del wizard voi <strong>di</strong>rete alla procedura <strong>di</strong> eseguire il lavoro in base alle vostre impostazioni. Per<br />
esempio, se scegliete Report Wizard, voi potrete selezionare il report che volete creare. Il<br />
Wizard vi chiderà quale tabella deve utilizzare e fornirà delle scelte per la impostazione del<br />
report.<br />
Avviare un Wizard<br />
Quando create una nuovo oggetto voce utilizzando il Project Manager o il menu File, potete<br />
scegliere <strong>di</strong> utilizzare un wizard che vi aiuterà nella creazione dell’oggetto.<br />
Per avviare un Wizard<br />
1. Nel Project Manager, selezionate il tipo <strong>di</strong> file che volete creare e scegliete New.<br />
2. Potete anche scegliere New dal menu File e selezionare il tipo <strong>di</strong> file che volete<br />
creare.<br />
3. Selezionate l’opzione Wizard.<br />
Potete anche accedere alla maggior parte dei wizard <strong>di</strong>rettamente scegliendo il comando<br />
Wizard dal menu Tools.<br />
Se utilizzate un wizard <strong>di</strong> <strong>Visual</strong> FoxPro applicandoli ai dati <strong>di</strong> una tabella in un database<br />
potete utilizzare Stili e Formattazioni immagazzinate nel database per i forms, le tabelle, le<br />
Etichette (labels), le queries ed i reports.<br />
Navigare nelle schermate dei Wizard<br />
Una volta attivato il wizard, rispondete alle domande che appaiono in ogni schermata.<br />
Quando siete pronti per procedere alla schermata successiva, cliccate sul tasto Next.<br />
Se commettete un errore o cambiate idea, scegliete uil tasto Back per visualizzare la<br />
schermata precedente così potrete apportare le mo<strong>di</strong>fiche. Cliccando su Cancel uscirete dalla<br />
procedura wizard senza produrre alcun risultato. Se avete delle domande circa il wizard<br />
premete F1 per ottenere l’Help ( in inglese L )<br />
Quando arrivate all’ultima schermata, cliccate su fine per uscire dal wizard.<br />
Se avete fretta, potete scegliere il tasto Finish per procedere alla fine della sequenza del<br />
wizard, saltanto tutte le informazioni opzionali e utilizzando solamente quelle fornite dal<br />
wizard.
Salvataggio del risultato del Wizard<br />
L’ultima schermata <strong>di</strong> ogni wizard potrebbe chiedervi <strong>di</strong> fornire un titolo oppure,<br />
<strong>di</strong>pendentemente dall’oggetto chje stavate creando, fornirvi alcune opzioni ( salvare,<br />
mo<strong>di</strong>ficare, stampare il risultato).<br />
Utilizate l’opzione Preview per vedere i risultati del wizard prima ancora <strong>di</strong> aver terminato,<br />
potrete riavviare iol wizard nuovamente se vorrete fare delle scelte <strong>di</strong>fferenti per cambiare il<br />
risultato. Quando sarete sodd<strong>di</strong>sfatti potrete sceglie il tasto Finish.<br />
Mo<strong>di</strong>fica <strong>di</strong> un oggetto creato con il Wizard<br />
Una volta creato la tabella, il form, la query o il report, potete aprirla nell’apposito<br />
strumento <strong>di</strong> <strong>di</strong>segno e fare delle successive mo<strong>di</strong>fiche. Non è possibile riaprire un oggetto<br />
creato con un wizard con il wizard stesso, ma potete prevedere i risultati prima <strong>di</strong> salvare<br />
l’oggetto e uscire dal wizard.
Uso del Builders<br />
I Builders sono finestre <strong>di</strong> <strong>di</strong>alogo contenenti varie schede che semplificano la creazione e la<br />
mo<strong>di</strong>fica <strong>di</strong> forms, controlli complessi e co<strong>di</strong>ce <strong>di</strong> integrità referenziale. Ogni Builder <strong>di</strong>spone una<br />
serie <strong>di</strong> schede e opzioni che vi consentono <strong>di</strong> impostare le varie proprietà degli oggetti da creare.<br />
Per costruire un controllo<br />
●<br />
❍<br />
Dalla barra pulsanti Form Controls, scegliete iltasto Builder Lock. Ogni volta che<br />
aggiungete un nuovocontrollo ad un form, <strong>Visual</strong> FoxPro mostrerà l’appropriato builder.<br />
-o-<br />
Selezionate un controllo nel form e scegliete il tasto Builder nella finestra Properties.<br />
Utilizzo del Form Builder<br />
●<br />
Dal menu Form, scegliere Quick Form.<br />
Quando avete <strong>di</strong>versi controlli su un form, potete formattarli tutti insieme scegliendo l’<br />
AutoFormat Builder.<br />
Per formattare una serie <strong>di</strong> controlli<br />
1.<br />
2.<br />
Nel Form Designer selezionate i controlli.<br />
Dalla barra pulsanti del Form Designer, scegliete il tasto AutoFormat.<br />
Quando viene mostrato un Builder, selezionate le opzioni in ogni scheda e quin<strong>di</strong> scegliete OK<br />
per salvare le mo<strong>di</strong>fiche.<br />
Per Utilizzare<br />
Costruire una casella combinata (combo box) Combo Box Builder<br />
Costruire gruppo <strong>di</strong> coman<strong>di</strong> Command Group Builder<br />
Costruire casella <strong>di</strong> mo<strong>di</strong>fica ( e<strong>di</strong>ting box) E<strong>di</strong>t Box Builder<br />
Costruire form Form Builder<br />
Costruire griglia Grid Builder<br />
Costruire casella lista (List Box) List Box Builder<br />
Costruire gruppo <strong>di</strong> opzioni (Option Group) Option Group Builder<br />
Costruire casella <strong>di</strong> testo (Text Box) Text Box Builder<br />
Impostare gruppi <strong>di</strong> controlli AutoFormat Builder<br />
Creare controlli dell’integrità referenziale fra <strong>di</strong>verse<br />
tabelle<br />
Referential Integrity Builder
Creare una nuova tabella<br />
Le tabelle sono gli elementi comuni per lavorare con i dati, creare database relazionali e<br />
applicazioni.<br />
Quando avete la necessità <strong>di</strong> creare una nuova tabella, potete ricorrere all’assistenza del Tabel<br />
Wizard oppure utilizzare il Table Designer e impostare la tabella con i campi <strong>di</strong> cui necessitate.<br />
Ricordatevi questi punti principali quando create una tabella:<br />
● Fate corrispondere il tipo <strong>di</strong> dati del campo con l’informazione che andrete ad<br />
immagazzinarvi( per maggiore informazione leggete la parte successiva " Scelta del tipo <strong>di</strong><br />
dati " ).<br />
● Il campo deve essere sufficientemente largo per accomodare il dato che dovrà mostrare.<br />
● Impostate un numero adeguato <strong>di</strong> decimali per i campi numerici e variabili.<br />
● Selezionate NULL se volete che il campo accetti "nullo" come valore.<br />
Scegliere un tipo <strong>di</strong> dati<br />
Ogni campo nella vostra tabella contiene un particolare tipo <strong>di</strong> dati. Potete impostare il tipo <strong>di</strong> dati<br />
per i campi in base ala seguente tabella.<br />
Tipo <strong>di</strong> dati Descrizione Esempio<br />
Character Testo alfanumerico In<strong>di</strong>rizzo <strong>di</strong> un cliente<br />
Currency Unità monetarie Prezzo <strong>di</strong> acquisto<br />
Numeric Numeri interi o decimali Quantità <strong>di</strong> pezzi or<strong>di</strong>nati<br />
Float Lo stesso <strong>di</strong> numerico<br />
Date Mese, Giorno, Anno Data <strong>di</strong> inserimento dell’or<strong>di</strong>ne<br />
DateTime Mese, giorno, anno, ora, minuto, secondo Data <strong>di</strong> arrivo <strong>di</strong> un impiegato al lavoro<br />
Double Cifra in doppia precisione Calcoli che richiedono elevata precisione<br />
Integer Valore numerico non decimale Numero della riga <strong>di</strong> un or<strong>di</strong>ne<br />
Logical Vero o Falso Se un or<strong>di</strong>ne è stato compilato o meno<br />
Memo Testo alfanumerico <strong>di</strong> lunghezza non precisata<br />
Note <strong>di</strong> una chiamata telefonica in una<br />
rubrica<br />
General OLE Foglio <strong>di</strong> calcolo <strong>Microsoft</strong> Excel ®<br />
Character (Binary)<br />
Memo (Binary)<br />
Lo stesso <strong>di</strong> carattere ma i valori non sono<br />
mo<strong>di</strong>ficati quando cambia il il codepage della<br />
nazione<br />
Lo stesso <strong>di</strong> memo ma i valori non sono tradotti<br />
quando cambia il code page<br />
Una password memorizzata in una tabella<br />
utilizzata in più paesi<br />
Uno script <strong>di</strong> accesso usato in Paesi<br />
<strong>di</strong>fferenti
Usare il Wizard<br />
Quando dovete creare una nuova tabella, potete utilizzare il Table Wizard per farvi aiutare<br />
nell’impostazione della tabella. IL wizard vi formulerà una serie <strong>di</strong> domande e costruirà la tabella<br />
per voi in base alle vostre risposte.<br />
Per creare una tabella con il wizard<br />
1.<br />
2.<br />
3.<br />
4.<br />
Nel Project Manager, selezionate la scheda Data e selezionate Free Tables.<br />
selezionate New.<br />
Selezionate il bottone Table Wizard.<br />
Seguite le istruzioni sulle videate del wizard.<br />
Potete anche accedere al wizard dal menu File quando scegliete New e Table e poi<br />
successivamente l’opzione Table Wizard.<br />
Se basate la vostra tabella su un database, potete utilizzare gli stili, l’impostazione dei campi o la<br />
chiave primaria e le relazioni delle tabelle del database.<br />
Avvio del Table Designer<br />
Se volete creare le vostre tabelle <strong>di</strong>rettamente da soli senza il wizard, usate dal Project Manager la<br />
scheda Table oppure scegliete New dal menu File, selezionate Tabella e quin<strong>di</strong> New File. Creare<br />
una nuova tabella nel Table Designer<br />
Se volete creare una tabella da aggiungere ad un database, aprite il database prima <strong>di</strong> creare la<br />
tabella che così <strong>di</strong>venterà parte integrante del database, potete comunque aggiungerla<br />
successivamente. Successivamente troverete maggiori informazioni sulle tabelle <strong>di</strong> database.
Per creare una nuova tabella<br />
1. Dal Project Manager, scegliete Tables sotto Databases, oppure Free Tables.<br />
2. Scegliete New, e poi New Table.<br />
3. Nella finestra <strong>di</strong> <strong>di</strong>alogo Create, inserite il nome della tabella e quin<strong>di</strong> scegliete Save.<br />
4. Nella scheda Fields del Table Designer, inserite il nome del primo campo nella cella<br />
Name.<br />
5. Nel campo Type, selezionate la tipologia del dato che verrà inserito.<br />
6. Nella colonna Width (larghezza), impostate il valore della larghezza del campo.<br />
7. Se Type è <strong>di</strong> tipo Numeric o Float, impostate il numero decimali che devono essere<br />
mostrati nel campo Decimal.<br />
8. Se volete impostare un In<strong>di</strong>ce al campo selezionate l’or<strong>di</strong>namento nella colonna Index.<br />
9. Se volete accettare valori nulli come inserimento valido, selezionate NULL.<br />
Potete anche scegliere <strong>di</strong> inserire imme<strong>di</strong>atamente i dati, oppure riaprire la tabella e inserire i<br />
records successivamente.<br />
Per aggiungere records alla tabella<br />
1.<br />
2.<br />
3.<br />
4.<br />
Nel Project Manager, selezionate il nome della tabella.<br />
Scegliete Browse.<br />
Dal menu View, scegliete Append Mode.<br />
Inserite il nuovo record nella finestra Browse.<br />
Se preferite vedere ogni campo in una riga <strong>di</strong>fferente, cambiate la vista in modo E<strong>di</strong>t scegliendolo<br />
dal menu View.
Salvare e visualizzare informazioni nelle tabelle<br />
Le tabelle salvano i vostri dati nel formato righe e colonne, simile ai fogli elettronici. Ogni riga corrisponde ad un<br />
record e ogni colonna rappresenta un campo <strong>di</strong> quel record.<br />
Righe e colonne nelle tabelle<br />
Potete creare due tipi <strong>di</strong> tabelle in <strong>Visual</strong> FoxPro: tabelle database, che sono incorporate come parti <strong>di</strong> database, e<br />
tabelle libere (free tables) che sono in<strong>di</strong>pendenti da qualsiasi database.<br />
<strong>Visual</strong>izzare il contenuto delle tabelle<br />
IL metodo più veloce per visualizzare il contenuto <strong>di</strong> una tabella e <strong>di</strong> vederla in una finestra <strong>di</strong> scorrimento detta<br />
Browse window. La Browse window mostra i contenuti della tabella come una serie <strong>di</strong> righe e colonne che potette<br />
scorrere.<br />
Per scorrere una tabella<br />
1. Dal menu File, scegliete Open e selezionate il nome della tabella che volete visualizzare.<br />
2. Dal menu View, scegliete Browse.<br />
Potete anche selezionare una tabella dal Project Manager, e cliccare sul bottone Browse.<br />
Vista <strong>di</strong> una Tabella nella finestra Browse
Per un facile inserimento dei dati potete impostare la finestra <strong>di</strong> Browse in modalità E<strong>di</strong>t. In modo E<strong>di</strong>t, il nome delle<br />
colonne sono mostrate nella parte sinistra della finestra.<br />
Per cambiare la finestra Browse in modo E<strong>di</strong>t<br />
Dal menu View, scegliete E<strong>di</strong>t.<br />
Table in E<strong>di</strong>t mode<br />
In entrambi i mo<strong>di</strong> potete scorrere i records, cercare uno specifico record e fare delle mo<strong>di</strong>fiche <strong>di</strong>rettamente nel<br />
contenuto della tabella.<br />
Muoversi all’interno <strong>di</strong> una Tabella<br />
Utilizzate la barra <strong>di</strong> scorrimento per muovervi all’interno <strong>di</strong> una tabella e visualizzare <strong>di</strong>fferenti record o campi.<br />
Potete anche utilizzare le frecce cursore e il tasto TAB per muovervi attorno.<br />
Per visualizzare <strong>di</strong>versi records<br />
1. Dal menu Table, scegliete Go to Record.<br />
2. Nel submenu, scegliete Top, Bottom, Next, Previous, or Record #. (il pound o <strong>di</strong>esis # significa n°)<br />
3.<br />
Se scegliete Record #, inserite il numero del record che volete vedere nella finestra <strong>di</strong> <strong>di</strong>alogo Go to Record,<br />
e quin<strong>di</strong> scegliete Go To.
E<strong>di</strong>tare i campi della tabella<br />
Per cambiare i dati <strong>di</strong> un campo Character, Numeric, Logical, Date or DateTime, potete cliccare col mouse nel<br />
campo e cambiare l’informazione o selezionare l’intero campo e inserire i nuovi dati.<br />
Per e<strong>di</strong>tare i dati in un campo <strong>di</strong> tipo Memo, fate un doppio click nel campo oppure premete i tasti CTRL+PGDN,<br />
apparirà una finestra <strong>di</strong> e<strong>di</strong>ting con il contenuto attuale <strong>di</strong> quel campo.<br />
Un campo General contiene un oggetto <strong>di</strong> tipo OLE ( sia linkato che incluso ). Potete e<strong>di</strong>tare questo oggetto facendo<br />
un doppio click nel campo General della finestra Browse oppure e<strong>di</strong>tare il documento <strong>di</strong>rettamente ( come con un<br />
documento <strong>Microsoft</strong> Word o Excel ) oppure facendo un doppio click sull’oggetto per aprire l’applicazione<br />
generatrice come ad esempio un oggetto creato con <strong>Microsoft</strong> Paint.<br />
Aggiungere record a una tabella<br />
Per aggiungere velocemente record ad una tabella, potete impostare la finestra <strong>di</strong> Browse o <strong>di</strong> E<strong>di</strong>t in modalità<br />
Append. In modalità Append, una serie <strong>di</strong> campi vuoti appariranno in fondo alla tabella, così potete inserirvi i dati<br />
per creare il nuovo record.<br />
Per aggiungere un nuovo record vuoto<br />
Dal menu View, selezionate Append Mode.<br />
Riempite i campi del nuovo record, spostandovi col tasto TAB da una campo all’altro, ogni volta che completerete il<br />
record verrà creata una nuova riga <strong>di</strong> campi vuoti pronti per l’inserimento <strong>di</strong> dati.<br />
Modalità Append della finestra Browse<br />
Cancellare i record<br />
La cancellazione <strong>di</strong> record in una tabella è un processo composto da due fasi. Prima dovete spuntare i record da<br />
cancellare cliccando nella casella all’estrema sinistra <strong>di</strong> ogni record.<br />
Record spuntati per la cancellazione
La spunta non cancella i record. Per rendere effettiva la cancellazione, dovete scegliere Remove Deleted Records dal<br />
menu della Tabella. Questa procedura cancella i records che avete spuntato, e unifica i records rimanenti della<br />
tabella. La procedura <strong>di</strong> rimozione dei records spuntati termina con la chiusura della tabella che dovrete quin<strong>di</strong><br />
riaprire per continuare a lavorare.<br />
Per cancellare i records da una tabella<br />
1. Spuntare i records che si vogliono cancellare cliccando nella casella <strong>di</strong> sinistra.<br />
2. Dal menu Table, scegliete Remove Deleted Records.<br />
3. Scegliete Yes in risposta alla richiesta se volete procedere con la ricompattazione ( pack ) della tabella.<br />
Potete anche selezionare un gruppo <strong>di</strong> records da cancellare impostando le con<strong>di</strong>zioni nella finestra <strong>di</strong> <strong>di</strong>alogo della<br />
procedura Delete. Scegliete Delete Records dal menu Table per impostare i criteri <strong>di</strong> cancellazione.<br />
Finestra <strong>di</strong> <strong>di</strong>alogo della procedura Delete<br />
Cliccate sul tasto Scope per impostare la sequenza dei records da cancellare.<br />
Se è possibile descrivere il set <strong>di</strong> record da cancellare, potete costruire una espressione basata su questa descrizione .<br />
Scegliete il tasto FOR per attivare il costruttore <strong>di</strong> espressioni (Expression Builder) così potete crearla. Per esempio,<br />
utilizzando l’espressione FOR Country = 'UK' selezionerà tutti i records che contengono il dato UK<br />
preimpostandoli per la successiva cancellazione.<br />
Personalizzare la finestra Browse<br />
Per personalizzare la finestra Browse per sod<strong>di</strong>sfare le vostre necessità, potete you riorganizzare o cambiare la<br />
larghezza delle colonne, impostare la griglia visibile o trasparente, oppure <strong>di</strong>videre la finestra <strong>di</strong> Browse in due<br />
pannelli.
Riorganizzare le colonne<br />
Potete riorganizzare le colonne della finestra Browse nell’or<strong>di</strong>ne che più vi piace. Questo non influisce sulla struttura<br />
della tabella.<br />
Per riorganizzare le colonne nella finestra <strong>di</strong> Browse<br />
●<br />
❍<br />
Trascinate l’intestazione della colonna fino alla nuova posizione.<br />
-o-<br />
Dal menu Table, scegliete Move Field, e utilizzate il tasto freccia a sinistra o freccia <strong>di</strong> destra per spostare le<br />
colonne. Premere quin<strong>di</strong> Invio quando avete finito.<br />
Mo<strong>di</strong>ficare la larghezza delle Colonne<br />
Potete anche cambiare la larghezza delle colonne nella finestra <strong>di</strong> Browse. Questo ri<strong>di</strong>mensionamento non ha effetti<br />
sulla lunghezza del campo né sulla struttura della tabella. Se volete cambiare l’attuale larghezza del campo,<br />
mo<strong>di</strong>ficate la struttura della attraverso il Table Designer .<br />
Per cambiare la larghezza della colonna<br />
●<br />
❍<br />
Posizionate il cursore nell’intestazione della colonna fra i due nomi <strong>di</strong> campo, trascinate il puntatore per<br />
ri<strong>di</strong>mensionare la colonna.<br />
-o-<br />
Selezionate un campo. E dal menu Table, scegliete Size Field, e usate le frecce cursore sinistra destra per<br />
ri<strong>di</strong>mensionare la colonna. Premete quin<strong>di</strong> il tasto invio.<br />
Attivare e <strong>di</strong>sattivare la griglia<br />
Potete anche <strong>di</strong>sattivare la visualizzazione della griglia nella finestra <strong>di</strong> Browse.<br />
Per attivare o <strong>di</strong>sattivare la griglia<br />
●<br />
Dal menu View, scegliete Gridlines.<br />
Separare una finestra Browse<br />
Potrebbe essere utile <strong>di</strong>videre la finestra <strong>di</strong> lettura ( browse window ) in modo da poter guardare due aree <strong>di</strong>verse<br />
della tabella, oppure guardare allo stesso record nella modalità Browse e nella modalità E<strong>di</strong>t simultaneamente.<br />
Dividere la finestra Browse
Per <strong>di</strong>videre la finestra <strong>di</strong> Browse<br />
1. Posizionate il puntatore del mouse nella barra <strong>di</strong> separazione nella parte bassa all’angolo sinistra della vista.<br />
2. Trascinate la barra <strong>di</strong> separazione verso destra in modo da <strong>di</strong>videre la finestra Browse in due pannelli.<br />
-oppure-<br />
3. Dal menu Table, scegliere Resize Partitions.<br />
4. Premere il TASTO FRECCIA DESTRA per muovere la barra <strong>di</strong> separazione ( split bar ).<br />
5. Premere INVIO.<br />
Per ri<strong>di</strong>mensionare i pannelli <strong>di</strong> una delle parti della finestra Browse.<br />
1. Posizionate il puntatore sulla barra <strong>di</strong> separazione.<br />
2. Trascinate la barra verso destra o sinistra per cambiare la <strong>di</strong>mensione dei pannelli<br />
-oppure-<br />
3. Dal menu Table, scegliete Resize Partitions.<br />
4. Premete i tasti FRECCIA DESTRA O SINISTRA per muovere la barra <strong>di</strong> separazione.<br />
5. Premete INVIO.<br />
Di default, i due pannelli della finestra <strong>di</strong> scorrimento sono legati insieme; questo significa, che selezionate records<br />
<strong>di</strong>fferenti in un pannello, le mo<strong>di</strong>fiche si riflettono anche nell’altro. Se volete separare i due pannelli in modo che<br />
funzionino in<strong>di</strong>pendentemente, ( ovvero lo scorrimento <strong>di</strong> un pannello non si riflette sull’altro, deselezionate il Link<br />
Partitions nel menu Table.
Mo<strong>di</strong>ficare una tabella<br />
Quando avete la necessità <strong>di</strong> mo<strong>di</strong>ficare la struttura <strong>di</strong> una tabella, usate il Table Designer.<br />
Con il Table Designer, potete aggiungere o eliminare campi, impostare il tipo <strong>di</strong> dati e la<br />
larghezza del campo, visualizzare o impostare gli in<strong>di</strong>ci che organizzano i contenuti <strong>di</strong> una<br />
tabella.<br />
Se la tabella che state mo<strong>di</strong>ficando fa parte <strong>di</strong> un database sono <strong>di</strong>sponibili campi specifici e<br />
proprietà <strong>di</strong> tabella.<br />
Per mo<strong>di</strong>ficare una Tabella<br />
●<br />
Nel Project Manager, selezionate il nome della tabella e scegliete Mo<strong>di</strong>fy.<br />
La struttura <strong>di</strong> una tabella è mostrata nel Table Designer.<br />
Il Table Designer mostra la struttura della tabella attiva<br />
Per aggiungere un campo ad una tabella<br />
1.<br />
Dal Table Designer, selezionate Insert.
2. Nella colonna Name, inserite il nome del nuovo campo.<br />
3. Nella colonna Type, selezionate il tipo <strong>di</strong> dati per quel campo.<br />
4. Nella colonna Width, impostate o inserite la larghezza <strong>di</strong> quel campo.<br />
5. Se il campo ha è <strong>di</strong> tipo Numeric o Float, impostate il numero <strong>di</strong> cifre decimali che<br />
prenderanno posto nella colonna Decimal.<br />
6. Se desiderate accettare valori nulli, selezionate la colonna NULL.<br />
7. Cliccate su OK.<br />
8. Cliccate su Yes per attivare le mo<strong>di</strong>fiche.<br />
Per eliminare un campo dalla tabella<br />
●<br />
Selezionate il campo e cliccate su Delete.
Personalizzare le tabelle<br />
Potete personalizzare le tabelle in modo che solamente alcuni record siano visualizzati attraverso la creazione <strong>di</strong> un filtro.<br />
Potete anche limitare l’accesso a un determinato campo sempre attraverso un filtro <strong>di</strong> campo, che vi consente <strong>di</strong> mostrare<br />
solo alcuni campi.<br />
Filtrare una Tabella<br />
Se volete vedere solo alcuni tipi <strong>di</strong> record, potete impostare un filtro che limita i record mostrati nella finestra <strong>di</strong> Browse. I<br />
filtri sono utili quando volete ad esempio mostrare<br />
Per impostare un filtro usate la finestra <strong>di</strong> <strong>di</strong>alogo Work Area Properties, <strong>di</strong>sponibile attraverso il comando proprietà nel<br />
menu Table.<br />
Finestra <strong>di</strong> <strong>di</strong>alogo Work Area Properties<br />
Per impostare un filtro su una tabella<br />
1. Scorrete la tabella che volete filtrare.<br />
2. Dal menu Table, scegliete Properties.<br />
3. Nella finestra <strong>di</strong> <strong>di</strong>alogo della Work Area Properties, inserite l’espressione filtro <strong>di</strong>rettamente nel campo Data<br />
filter.<br />
❍<br />
-oppure-<br />
Cliccate sul tasto sotto Data Filter, e nell’ Expression Builder, create una espressione che selezioni il tipo <strong>di</strong> record che<br />
volete vedere e cliccate su OK.<br />
Quando scorrerete la tabella, vedrete solo i record che sono selezionati dal filtro.<br />
Risultato <strong>di</strong> un filtraggio <strong>di</strong> tabella
Restringere l’accesso ad un campo<br />
Quando desiderate tenere alcuni campi nascosti quando la tabella viene visualizzata o utilizzata in una form, potete<br />
impostare un filtro <strong>di</strong> campo che restringa l’accesso a quei campi. Selezionate i campi che volete mostrare in modo che<br />
automaticamente resteranno nascosti tutti gli altri.<br />
Per impostare un filtro <strong>di</strong> campo<br />
1. Da menu Table scegliete Properties.<br />
2. Nella finestra <strong>di</strong> <strong>di</strong>alogo Work Area Properties, sotto Allow access to, selezionate Only fields specified by 'field<br />
filter' e scegliete Field Filter.<br />
3. Nella finestra <strong>di</strong> <strong>di</strong>alogo Field Picker, aggiungete i campi nella colonna Selected fields e scegliete OK.<br />
Filtri <strong>di</strong> campo e suoi effetti sulla finestra Browse<br />
Quando scorrerete la tabella, solo i campi che avete selezionato saranno visualizzati.
Or<strong>di</strong>nare i dati attraverso un in<strong>di</strong>ce<br />
Quando create una tabella, potete or<strong>di</strong>nare i dati per velocizzare il recupero dei dati<br />
utilizzando gli in<strong>di</strong>ci. Con gli in<strong>di</strong>ci potete velocemente processare i vostri records per la<br />
visualizzazione, o per l’interrogazione o la stampa. Potete anche selezionare i record,<br />
controllare se vengono inseriti valori duplicati, e mantenere relazioni fra tabelle.<br />
Potete utilizzare in<strong>di</strong>ci per incrementare la velocità con cui i record sono estratti o ricercati<br />
per la visualizzazione o la stampa.<br />
Gli in<strong>di</strong>ci sono importanti anche per la creazione <strong>di</strong> relazioni fra tabelle <strong>di</strong> un database.<br />
Gli in<strong>di</strong>ci in <strong>Visual</strong> FoxPro sono come gli in<strong>di</strong>ci <strong>di</strong> un libro: una lista <strong>di</strong> numeri <strong>di</strong> pagine<br />
che portano il lettore ad una pagina specifica del libro.<br />
Nello stesso modo, un in<strong>di</strong>ce della tabella è una lista <strong>di</strong> numeri <strong>di</strong> record che puntano ad uno<br />
specifico record da processare e determinano l’or<strong>di</strong>ne <strong>di</strong> processo per quel record.<br />
Un in<strong>di</strong>ce <strong>di</strong> una tabella immagazzina una lista <strong>di</strong> puntatori ai records.<br />
Per esempio, potete visualizzare un record nella tabella clienti in or<strong>di</strong>ne alfabetico, oppure in<br />
or<strong>di</strong>ne <strong>di</strong> denominazione dell’azienda, prepararlo per la stampa <strong>di</strong> etichette in or<strong>di</strong>ne <strong>di</strong><br />
CAP, oppure organizzarli solo per velocizzare la ricerca. Gli in<strong>di</strong>ci non cambiano l’or<strong>di</strong>ne<br />
con cui sono salvati i dati nella tabella ma solamente l’or<strong>di</strong>ne con cui VFP legge ogni<br />
record.<br />
Potete creare più <strong>di</strong> un in<strong>di</strong>ce per una tabella, ognuno rappresenterà un modo <strong>di</strong>verso per<br />
processare i vostri records. Gli in<strong>di</strong>ci che create sono salvati in un file in<strong>di</strong>ce a struttura<br />
composta che viene aperto e aggiornato ogni volta che viene utilizzata la tabella.<br />
Il nome per il file in<strong>di</strong>ce è lo stesso della tabella associata e ha l’estensione .cdx<br />
Gli in<strong>di</strong>ci sono molto semplici da creare che potreste essere tentati <strong>di</strong> in<strong>di</strong>cizzare ogni
campo, tuttavia, gli in<strong>di</strong>ci che vengono utilizzati solo raramente possono ridurre le<br />
prestazioni.
Creare un In<strong>di</strong>ce<br />
Una volta che avete una tabella, potete creare un campo o una espressione. Per usare gli in<strong>di</strong>ci con efficienza, create in<strong>di</strong>ci<br />
su campi che usate con maggiore frequenza nelle tabelle, queries o nei reports. Se impostate un in<strong>di</strong>ce in un campo che<br />
non è molto utile per l’applicazione <strong>di</strong> filtri o query, come ad esempio l’in<strong>di</strong>rizzo <strong>di</strong> casa, potreste rallentare inutilmente le<br />
prestazioni del database.<br />
Per creare un in<strong>di</strong>ce<br />
1. Nel Project Manager, selezionate la tabella a cui volete aggiungere un in<strong>di</strong>ce, e scegliete Mo<strong>di</strong>fy.<br />
2. Nel Table Designer, selezionate la scheda Indexes.<br />
La scheda Indexes del Table Designer<br />
3. Nela campo Name, inserite il nome per l’in<strong>di</strong>ce.<br />
4. Dalla lista Type, selezionate il tipo <strong>di</strong> in<strong>di</strong>ce.<br />
Maggiori informazioni nella sezione seguente, Scegliere una tipologia <strong>di</strong> in<strong>di</strong>ce<br />
Nella finestra Expression, inserite il nome del campo con cui volete creare l’or<strong>di</strong>ne.<br />
-oppure-<br />
Costruite una espressione selezionando il tasto in fondo alla finestra in modo da attivare l’ Expression Builder.<br />
Maggiori informazioni nella sezione seguente Or<strong>di</strong>nare attraverso Campi Multipli<br />
Se volete selezionare records, immettete una espressione nella finestra Filter oppure selezionate il tasto alla fine<br />
della finestra per costruire una espressione..<br />
(Per maggiori informazioni consultate la sezione Filtrare un record)<br />
5. Cliccate su OK.<br />
Una volta che avete creato un in<strong>di</strong>ce per la tabella, potete utilizzarlo per or<strong>di</strong>nare i vostri record.<br />
Per or<strong>di</strong>nare i record utilizzando un in<strong>di</strong>ce<br />
1. Nel Project Manager, selezionate la tabella con l’in<strong>di</strong>ce che avete creato.<br />
2. Selezionate Browse.<br />
3. Dal menu Table, scegliete Properties.<br />
4.<br />
Nella finetra Index order, selezionate l’in<strong>di</strong>ce che volete utilizzare.
5. Scegliete OK.<br />
La tabella apparirà nella finestra <strong>di</strong> Browse, mostrando i records nell’or<strong>di</strong>ne in base all’in<strong>di</strong>ce che avete specificato.<br />
Potete anche or<strong>di</strong>nare il risultato <strong>di</strong> queries o <strong>di</strong> reports azionandoli quando è selezionato l’in<strong>di</strong>ce<br />
Scegliere il tipo <strong>di</strong> In<strong>di</strong>ce<br />
Potete scegliere fra quattro tipi <strong>di</strong> in<strong>di</strong>ci:<br />
● primario (Primary)<br />
● can<strong>di</strong>dato (Can<strong>di</strong>date )<br />
● regolare (Regular )<br />
● unico (Unique )<br />
Gli in<strong>di</strong>ci Primary assicurano che solamente valori unici siano inseriti in un campo e determinano l’or<strong>di</strong>ne con cui<br />
vengono processati i records. Potete creare solamente un in<strong>di</strong>ce primario per ogni tabella se la tabella è inserita in un<br />
database. Se la tabella ha già un in<strong>di</strong>ce primario potete aggiungere un in<strong>di</strong>ce Can<strong>di</strong>date.<br />
Anche gli in<strong>di</strong>ci Can<strong>di</strong>date forzano l’inserimento <strong>di</strong> valori unici nei campi e determinano in che or<strong>di</strong>ne i records vengono<br />
processati, così come i Primary ma è possibile averne più <strong>di</strong> uno per ogni tabella del database e per le free tables.<br />
Gli in<strong>di</strong>ci Regular determinano l’or<strong>di</strong>ne in cui i records vengono processati ma consentono anche l’inserimento <strong>di</strong> valori<br />
duplicati. E’ possibile utilizzare più <strong>di</strong> un in<strong>di</strong>ce <strong>di</strong> tipo Regular in una tabella.<br />
Per questioni <strong>di</strong> compatibilità con le precedenti versioni sono <strong>di</strong>sponibili anche in<strong>di</strong>ci <strong>di</strong> tipo unique che selezionano e<br />
or<strong>di</strong>nano un sottor<strong>di</strong>ne <strong>di</strong> record basati sul primo valore <strong>di</strong> un campo che specificate. Se volete selezionare record in<br />
questo modo è preferibile creare una query o una view.<br />
Or<strong>di</strong>namento per campi multipli<br />
Per aumentare la velocità delle queries o delle views che hanno filtri in più <strong>di</strong> un campo, potete or<strong>di</strong>nare i vostri record<br />
specificando più <strong>di</strong> un campo per l’espressione in<strong>di</strong>ce. I campi saranno considerati nello stesso or<strong>di</strong>ne con cui appaiono<br />
nell’espressione. Se create una espressione filtro utilizzando campi numerici, l’in<strong>di</strong>ce or<strong>di</strong>nerà i records attraverso la<br />
somma dei valori dei campi, non solamente quello <strong>di</strong> un campo.<br />
Per or<strong>di</strong>nare i records utilizzando più <strong>di</strong> un campo<br />
Dal Project Manager, selezionate la tabella a cui volete aggiungere un in<strong>di</strong>ce e scegliete Mo<strong>di</strong>fy.<br />
1) Nella scheda Indexes, inserite il nome e il tipo dell’in<strong>di</strong>ce.<br />
2) Nel campo Expression, inserite l’espressione che elenca i campi con cui volete l’or<strong>di</strong>namento.<br />
Per esempio, poterste volere un or<strong>di</strong>namenti per Nazione, CAP all’interno delle nazioni e Ragione Sociale<br />
all’interno del co<strong>di</strong>ci CAP. Potete utilizzare il segno (+) per creare una espressione in<strong>di</strong>ce da un campo<br />
carattere.<br />
Cliente.nazione + cliente.cap + cliente.ragsociale<br />
Fate caso che il campo che cambia <strong>di</strong> meno è il primo della lista in<strong>di</strong>ce.<br />
3) Scegliete OK.<br />
Se volete utilizzare campi <strong>di</strong> tipo <strong>di</strong>verso, potete convertire i valori dei campi non carattere in valori carattere includendo<br />
il campo con la funzione STR( ). Per esempio potete provare a or<strong>di</strong>nare i record per MassimoImportoOr<strong>di</strong>ne e quin<strong>di</strong><br />
per RagioneSociale in questo modo ( considerando che MassimoImportoOr<strong>di</strong>ne è <strong>di</strong> tipo Currency mentre RagioneSociale<br />
è <strong>di</strong> tipo Character)<br />
STR(cliente.maximpord,20,4) + cliente.ragsoc
Filtrare i record<br />
Potete decidere quali records saranno inclusi in un in<strong>di</strong>ce aggiungendo una espressione filtro.<br />
Per filtrare i records<br />
1. Dal Project Manager, selezionate la tabella a cui volete aggiungere in in<strong>di</strong>ce e cliccate su Mo<strong>di</strong>fy.<br />
2. Nella scheda Indexes, create o selezionate un in<strong>di</strong>ce.<br />
3. Nella casella Filter, inserite l’espressione filtro.<br />
Per esempio, volendo creare un filtro che selezioni solamente i clienti residenti in Canada:<br />
customer.country = "Canada"<br />
4.<br />
cliccate su OK.
Uso degli In<strong>di</strong>ci<br />
Potete aumentare le prestazioni creando e utilizzando gli in<strong>di</strong>ci che rispondano a determinate<br />
operazioni ricorrenti per esempio, or<strong>di</strong>namenti e relazioni fra tabelle, è possibile sod<strong>di</strong>sfare<br />
<strong>di</strong>versi compiti in base al tipo <strong>di</strong> in<strong>di</strong>ce utilizzato.<br />
Se volete Usate<br />
Organizzare i record per aumentare la velocità <strong>di</strong><br />
visualizzazione o <strong>di</strong> interrogazione o <strong>di</strong> stampa<br />
Controllare l’inserimento <strong>di</strong> valori duplicati e or<strong>di</strong>nare i<br />
records<br />
Or<strong>di</strong>nare i records<br />
Un in<strong>di</strong>ce <strong>di</strong> tipo regular, can<strong>di</strong>date, o primary<br />
Un in<strong>di</strong>ce primary or can<strong>di</strong>date per tabelle <strong>di</strong> database e un<br />
can<strong>di</strong>cate index per le free table.<br />
Potete or<strong>di</strong>nare i record in base al nome del campo oppure attraverso un’altra espressione in<strong>di</strong>ce.<br />
L’in<strong>di</strong>ce valuta l’espressione per determinare l’or<strong>di</strong>ne in cui i records andranno organizzati<br />
dopo<strong>di</strong>ché salva una lista <strong>di</strong> puntatori au records per l’esecuzione dell’or<strong>di</strong>namento.<br />
Per creare un in<strong>di</strong>ce per organizzare records<br />
1.<br />
2.<br />
3.<br />
4.<br />
5.<br />
Nel Project Manager, selezionate la tabella a cui volete aggiungere un in<strong>di</strong>ce e selezionate<br />
Mo<strong>di</strong>fy.<br />
Nella scheda Indexes, inserite il nome e tipo <strong>di</strong> in<strong>di</strong>ce.<br />
Nella colonna Expression, inserite il nome del campo con cui volete organizzare<br />
l’or<strong>di</strong>namento.<br />
-oppure-<br />
Scrivete l’espressione che volete utilizzare per or<strong>di</strong>nare i records o costruite una<br />
espressione cliccando sul tasto alla fine della finestra per visualizzare l’ Expression<br />
Builder.<br />
Se volete che i records appaiano in or<strong>di</strong>ne <strong>di</strong>scendente o ascendente, selezionate la freccia<br />
alla sinistra del nome dell’in<strong>di</strong>ce.<br />
Cliccate su OK.<br />
Controllare l’inserimento in un campo <strong>di</strong> valori duplilcati<br />
Potreste voler controllare l’inserimento <strong>di</strong> valori duplicati in un campo, per esempio ogni cliente<br />
deve avere un unico valore Co<strong>di</strong>ce.Cliente nel campo Co<strong>di</strong>ce della tabella Clienti.<br />
Un in<strong>di</strong>ce può obbligare l’inserimento <strong>di</strong> un valore unico in un campo
Potete utilizzare un campo come campo chiave che identifica il record. Se la tabella è parte del<br />
database, si può utilizzare sia un in<strong>di</strong>ce Primary che un in<strong>di</strong>ce Can<strong>di</strong>date, se invece la tabella è <strong>di</strong><br />
tipo Free Table oppure possiede già un in<strong>di</strong>ce Primary, dovete utilizzare un in<strong>di</strong>ce Can<strong>di</strong>date.<br />
Per creare un in<strong>di</strong>ce che forzi l’inserimento <strong>di</strong> un valore unico in un campo<br />
1.<br />
2.<br />
3.<br />
4.<br />
Nel Project Manager, selezionate la tabella a cui volete creare l’in<strong>di</strong>ce e selezionate<br />
Mo<strong>di</strong>fy.<br />
Nella scheda Indexes, create l’in<strong>di</strong>ce.<br />
Nella colonna Type, selezionate Primary o Can<strong>di</strong>date.<br />
Cliccate su OK.
Lavorare con un database<br />
Un database fornisce un ambiente <strong>di</strong> lavoro dove potete immagazzinare tabelle, stabilire relazioni fra<br />
tabelle e inpostare relazioni fra le tabelle e le regole <strong>di</strong> convalida che controlli come le tabelle relazionate<br />
lavorano insieme. Un database viene salvato in un file con l’estensione.dbc<br />
Contenuto <strong>di</strong> un database
Potete untilizzare databases in<strong>di</strong>pendentemente oppure incorporandoli in un progetto aggiungendoli al<br />
Project Manager. Per accedere alle tabelle <strong>di</strong> un database, il database deve essere prima aperto.<br />
Per aprire un database<br />
1. Dal Project Manager, selezionate il nome <strong>di</strong> un database che volete utilizzare.<br />
2. Cliccate su Mo<strong>di</strong>fy.<br />
Potete anche scegliere Open dal menu File e quin<strong>di</strong> sceglire il nome del database.<br />
Per visualizzare la struttura <strong>di</strong> un database <strong>di</strong> esempio, provate ad aprire Testdata.dbc che si trova nel<br />
database <strong>Visual</strong> Stu<strong>di</strong>o …\Samples\Vfp98\Data <strong>di</strong>rectory.<br />
Quando aprite un database, appare il Database Designer, che vi mostra le tabelle con cui è formato il<br />
database e le relazioni fra le tabelle.<br />
Tabelle nel Database Designer
Tramite la barra pulsanti del Database Designer potete accedere velocemente accedere alle opzioni relative<br />
al database. I coman<strong>di</strong> del Database sono <strong>di</strong>sponibili dal Menu Database, potete avere una scorciatoia ai<br />
coman<strong>di</strong> cliccando col tasto destro del mouse nel Database Designer.<br />
Potete ri<strong>di</strong>mensionare le tabelle nel Database Designer in modo da visualizzar più o meno campi e in<strong>di</strong>ci<br />
contenuti nella tabella, oppure colassare la tabella per visualizzare solamente il nome della tabella che può<br />
essere utile se il database contiene molte tabelle.<br />
Per espandere o colassare una singola tabella<br />
1. Posizionate il puntatore del mouse nel Database Designer e cliccate col tasto destro del mouse<br />
2. Scegliete Expand oppure Collapse.<br />
Per Espandere o colassare tutte le tabelle contemporaneamente<br />
1. Posizionate il puntatore del mouse nel Database Designer cliccate col destro del mouse<br />
2. Scegliete quin<strong>di</strong> Expand All oppure Collapse All.<br />
Vista <strong>di</strong> tabelle colassate in un database<br />
Potete cambiare il modo <strong>di</strong> visualizzazione delle tabelle <strong>di</strong> un database, per esempio, dopo aver lavorarto<br />
con il database potreste voler riportare le tabelle all’impostazione <strong>di</strong> partenza oppure migliorarne l’estetica
allineandole tutte.<br />
Per sistemare le tabelle in un database<br />
●<br />
Dal menu Database, scegliete Arrange, e quin<strong>di</strong> selezionate le opzioni appropriate nella finestra <strong>di</strong><br />
<strong>di</strong>alogo Find Table o View.<br />
Nel Database Designer, la barra dei titoli della tabella selezionata appare evidenziata.<br />
Per Selezionate<br />
Impostare le tabelle or<strong>di</strong>nate in or<strong>di</strong>ne alfabetico By name<br />
Sistemate per tipo By type<br />
Allineare le tabelle in una riga Horizontally<br />
Allineare le tabelle in una colonna Vertically<br />
Riportare le tabelle alle <strong>di</strong>mensioni originali Resize objects to default height and width<br />
E’ possibile memorizzare anche commenti ad un database.<br />
Per aggiungere una descrizione ad un database<br />
Da menu Database, scegliete Properties, e quin<strong>di</strong> inserite il vostro commento nella finestra <strong>di</strong> <strong>di</strong>alogo<br />
Comment.
Creare un nuovo database<br />
Per inserire dati in un database, prima create un nuovo database, dopo aggiungete le tabelle<br />
con cui volete lavorare e definite le relazioni fra le tabelle. Potete anche creare delle viste sia<br />
a dati locali che remoti attraverso il Database Designer e inserirle nel database.<br />
Usare il wizard per costruire i database<br />
Potete utilizzare il Database Wizard per aiutarvi a creare un nuovo database. Il wizard<br />
fornisce uno schema e formula una serie <strong>di</strong> domande per aiutarvi a creare un nuovo database<br />
impostato in base alle vostre risposte.<br />
Per creare un databse utilizzando il wizard<br />
1.<br />
2.<br />
3.<br />
4.<br />
Dal Project Manager, selezionate la scheda Data e quin<strong>di</strong> selezionate Databases.<br />
Selezionate New.<br />
Selezionate il tasto Database Wizard .<br />
Seguite le istruzioni che compaiono nella finestra del wizard.<br />
Potete anche accedere al Database Wizard dal menu scegliendo New dal menu File,<br />
selezionate Database e selezionate l’opzione Wizard.<br />
Il wizard fornisce una maschera ( template ) per le tabelle e le viste, in<strong>di</strong>cim chiavi primarie<br />
e relazioni che potete scelgliere e e<strong>di</strong>tare.<br />
Per creare un nuovo database<br />
1.<br />
2.<br />
Nel Project Manager, selezionate Databases.<br />
Scegliete New.<br />
Quado create un nuovo database, uviene mostrata una finestra del Database Designer vuota<br />
insieme ad una barra pulsanti.<br />
Un nuovo database nel Database Designer
Aggiungere una tabella ad un database<br />
Iniziate a costruire il vostro database aggiungendo le tabelle che volete utilizzare. Potete<br />
selezionare qualsiasi tabella che non sia attualmente parte <strong>di</strong> un altro database. Poiché una<br />
tabella può appartenere ad un database alla volta, dovete rimuovere una tabella dal database<br />
per utilizzarla in un nuovo database.<br />
Per aggiungere una tabella ad un database<br />
1.<br />
2.<br />
Dal menu Database, scegliete Add Table.<br />
Nella finestra <strong>di</strong> <strong>di</strong>alogo Open, selezionate tabella e scegliete OK.<br />
Potete rimuovere una tabella dal database se non è più necessaria, oppure se vi serve in un<br />
altro database.<br />
Per rimuovere una tabella dal database<br />
1.<br />
2.<br />
3.<br />
Selezionate la tabella.<br />
Dal menu Database, scegliete Remove.<br />
Nella finestra <strong>di</strong> <strong>di</strong>alogo, scegliete Remove.<br />
Creare e aggiungere Viste<br />
Le viste mostrano i records da una o più tabelle e possono essere utilizzate per aggiornare<br />
queste tabelle <strong>di</strong> origine. Se volete aggiumgere una vista locale al vostro database, potete<br />
crearne una dalle viste o dalle tabella attualmente esistenti nel vostro database, oppure dalle<br />
tabelle libere al <strong>di</strong> fuori del vostro database.<br />
Se le informazioni <strong>di</strong> cui necessitate si trovano su una sorgente remota, potete creare una<br />
vista remota e incorporarla nel vostro database locale. Poiché le viste esistono<br />
esclusivamente all’interno <strong>di</strong> un contesto, dovete creare le viste all’interno del database allo<br />
scopo <strong>di</strong> poterle incorporare.
Cercare una tabella o una vista in un database<br />
Se il vostro database contiene molte tabelle e molte viste, potreste voler localizzare<br />
velocemente una tabella specifica. Potete utilizzare allo scopo il comando find per<br />
evidenziare la tabella o la vista coin cui volete lavorare.<br />
Per trovare una tabella in un database<br />
●<br />
Dal menu Database, scegliete Find Object, e quin<strong>di</strong> selezionate la tabella che volete<br />
ricercare nella finestra <strong>di</strong> <strong>di</strong>alogo Find Table or View.<br />
Se volete mostrare solamente le tabelle o solamente alcune viste, potete scegliere <strong>di</strong><br />
mostrare solamente alcune viste o tabelle.<br />
Per mostrare solamente le tabelle o le viste<br />
●<br />
Dal menu Database, scegliete Properties, e quin<strong>di</strong> selezionate le apposite opzioni <strong>di</strong><br />
visualizzazione nella finestra <strong>di</strong> <strong>di</strong>alogo Database Properties.<br />
Relazionare le tabelle<br />
Il Database Designer rende molto semplice la procedura per creare relazioni tra le varie<br />
tabelle collegando i loro in<strong>di</strong>ci. La relazioni che create in un database si chiamano Relazioni<br />
Persistenti, perché vengono salvate come parte del database. Ogni volta che utilizzate una<br />
tabella nel Query or View Designers, o nel Data Environment Designer quando create un<br />
modulo, queste relazioni persistenti appaiono come collegamenti o unioni fra le tabelle.<br />
Impostare le Relazioni<br />
Prima che possiate creare delle relazioni fra le tabelle, le tabelle che volete creare devono<br />
avere alcuni campi e in<strong>di</strong>ci in comune. I campi sono chiamati primari o esterni, i campi<br />
primari identificano un record specifico all’interno del database. Dovete anche aggiungere<br />
un in<strong>di</strong>ce primario ad un campo chiave primario e un regular index ad un campo chiave<br />
estraneo<br />
In<strong>di</strong>ci per supportare una relazione tra due tabelle.
Per determinare quali tabelle hanno bisogno <strong>di</strong> campi, pensate come il vostro dato sia in<br />
relazione con un gruppo <strong>di</strong> record. Per esempio, un cliente può avere molti or<strong>di</strong>ni. Cos’ la<br />
tabella dei clienti contiene il record principale. E le altre tabelle hanno i record in relazione.<br />
Per preparare la tabella principale per le relazioni alla tabella contenente i record correlati,<br />
dovete aggiungere in campo chiave primario nella tabella principale, che nel nostro<br />
esempio è Clienti. Voi siete a conoscenza <strong>di</strong> questo perché la tabella clienti conterrà un<br />
record per molti record relazionati nella tabella degli or<strong>di</strong>ni.<br />
Per fornire un campo comune fra le due tabelle dovete aggiungere un campo chiave<br />
esterno alla tabella con i campi relazionati che nel nostro esempio è la tabella or<strong>di</strong>ni. Il<br />
campo esterno deve combaciare il campo primario con lo stesso tipo <strong>di</strong> dati e solitamente lo<br />
stesso nome del campo chiave primario.<br />
Come preparare le relazioni<br />
1. Determinare quale tabella ha i record principali e quali ha i record relativi (in relazione)<br />
2. Nella tabella con i record principali, aggiungete un campo intero, quin<strong>di</strong> aggiungete l’in<strong>di</strong>ce<br />
sul nuovo campo.<br />
3.<br />
Nella tabella con i campi in relazione, aggiungete un campo che corrisponda al campo<br />
primario dell’altra tabella, quiin<strong>di</strong> aggiungete un in<strong>di</strong>ce regolare su quel nuovo campo.
Nota Utilizzate la stessa espressione per entrambi gli in<strong>di</strong>ci. Per esempio, se utilizzate una<br />
funzione nell’espressione nel campo primario, dovete aggiungere la stessa funzione<br />
nell’espressione nel campo chiave esterno aggiunto nell’altra tabella.<br />
Creare e revisionare relazioni<br />
Con i campi chiave e gli in<strong>di</strong>ci definiti, potete creare ora le relazioni. Se le vostre tabelle non<br />
sono ancora in<strong>di</strong>cizzate, dovete aprirle nel Table Designer e aggiungervi gli in<strong>di</strong>ci.<br />
Creare una relazione fra tabelle<br />
●<br />
●<br />
Trascinate dall’in<strong>di</strong>ce <strong>di</strong> una tabella sull’in<strong>di</strong>ce corrispondente dell’altra.<br />
Una volta che definite la relazione, vedrete una linea che connette le due tabelle nel<br />
Database Designer.<br />
Nota Potete vedere le linee delle relazioni solamente se l’opzione relazioni della finestra <strong>di</strong><br />
<strong>di</strong>alogo del Database Properties è selezionata. Potete accedere alle finestra <strong>di</strong> <strong>di</strong>alogo delle<br />
proprietà del database scegliendo proprietà dal menu scorciatoia nel Database Designer.<br />
Linee che mostrano le relazioni fra due tabelle.<br />
Potete anche mo<strong>di</strong>ficare le relazioni.<br />
Per mo<strong>di</strong>ficare una relazione fra tabelle<br />
●<br />
Fate doppio click sulla linea della relazione fra le tabelle. E quin<strong>di</strong> selezionate le<br />
opzioni appropriate nella finestra <strong>di</strong> <strong>di</strong>alogo <strong>di</strong> E<strong>di</strong>t Relationship.<br />
Finestra <strong>di</strong> <strong>di</strong>alogo <strong>di</strong> E<strong>di</strong>t Relationship
La tipologia <strong>di</strong> relazione è determinata dal tipo <strong>di</strong> in<strong>di</strong>ce utilizzato nella tabella figlia. Per<br />
esempio, se l’in<strong>di</strong>ce nella tabella figlia è primario oppure un in<strong>di</strong>ce can<strong>di</strong>dato, la relazione è<br />
uno a uno, altrimenti ( per in<strong>di</strong>ci unici e regular ) è una relazione uno a molti.
Definire la visualizzazione <strong>di</strong> un campo<br />
Quando aggiungfete delle tabelle ad un database, potete trarre imme<strong>di</strong>atamente vantaggio<br />
dalle opzioni ad<strong>di</strong>zionali <strong>di</strong>versamente non <strong>di</strong>sponibili nelle tabelle libere. Queste proprietà<br />
vengono salvate come parte del database stesso e restano con la tabella solamente<br />
fintantochè la tabella resta nel database.<br />
Uitilizzando le proprietà dei campi in un database, è possibile:<br />
● Assegnare delle intestazioni ai campi.<br />
● Inserire commenti circa lo scopo del campo.<br />
● Impostare il valore <strong>di</strong> default per i campi.<br />
● Impostare una maschera <strong>di</strong> inserimento e visualizzare il formato <strong>di</strong> un campo.<br />
● Impostare una classe <strong>di</strong> controllo e una libreria per il campo.<br />
●<br />
Impostare delle regole <strong>di</strong> convalida per restringere il tipo <strong>di</strong> dati inseribili in quel<br />
campo.<br />
La sezione seguente descrive alcune <strong>di</strong> queste proprietà.<br />
Impostare l’intestazione <strong>di</strong> un campo<br />
Potete visualizzare delle etichette descrittive per i campi che visualizzate nella finestra<br />
Browse o nei moduli (form) utilizzando la proprietà captions.<br />
Per assegnare una intestazione ad un campo<br />
1.<br />
2.<br />
3.<br />
4.<br />
Selezionate la tabella nel Database Designer e scegliete Mo<strong>di</strong>fy.<br />
Selezionate il campo a cui volete aggiungere una intestazione.<br />
Nella casella Caption, inserite l’intestazione che volete visualizzate.<br />
Scegliete OK.<br />
Per esempio, se il nome del campo è Cust_ID, potete aggiungere una instestazione come:<br />
"Customer ID" al campo. Ogni volta che scorrerete la tabella, utilizzerete il campo in una<br />
query o in una vista, oppure aggiungerete il campo ad un modulo, vedrete l’intestazione al<br />
posto del nome come etichetta del campo.<br />
Nome <strong>di</strong> colonna utilizzando le instestazioni
Inserire commenti per un campo<br />
Quando definite la struttura <strong>di</strong> una tabella, potreste voler inserire una nota <strong>di</strong> commento per<br />
ricordare cosa rappresenta il campo della tabella. Potete inserire commenti in ogni campo<br />
inserendo un messaggio nella casella Field Comment del Table Designer.<br />
Per chiarire lo scopo <strong>di</strong> un campo.<br />
Aggiungere un commento ad un campo<br />
1. Nel Table Designer, selezionate il campo.<br />
2. Nella casella Field Comment, inserite il vostro commento.<br />
Scegliete quin<strong>di</strong> OK.
Controllare l’inserimento in un campo<br />
Potete facilitare l’inserimento dei dati nei campi fornendo valori <strong>di</strong> default e definando regole <strong>di</strong><br />
convalida per i dati che devono essere imputati.<br />
Impostare i valori <strong>di</strong> default <strong>di</strong> un campo<br />
Se volete avere un determinato valore inserito automaticamente in un campo ogni volta che create<br />
un record, potete impostare un valore <strong>di</strong> default per quel campo utilizzando le proprietà del campo<br />
nel Table Designer. Per esempio, se la maggior parte delle vostre ven<strong>di</strong>te provengono da una<br />
regione, potreste voler impostare questa regione come valore <strong>di</strong> default per quel campo. Definire il<br />
valore <strong>di</strong> default <strong>di</strong> un campo<br />
1. Nel Database Designer, selezionate la tabella.<br />
2. Dal menu Database, scegliete Mo<strong>di</strong>fy.<br />
3. Nel Table Designer, selezionate il campo a cui volete aggiunegere il valore <strong>di</strong> default.<br />
4. Nella casella Default value, inserite il valore <strong>di</strong> default che volete visualizzare in ogni nuovo<br />
record (incluso campi carattere fra virgolette).<br />
5. Scegliete OK.<br />
Ad esempio se volete che in ogni record nella tabella prodotti contenga il " rior<strong>di</strong>nare a" 15 pezzi.<br />
Impostare un valore <strong>di</strong> default per un campo
Impostare una regola <strong>di</strong> convalida e un testo <strong>di</strong> convalida<br />
Definendo una regola <strong>di</strong> convalida quando definiamo una struttura della tabella, potete controllare<br />
il tipo <strong>di</strong> inserimento che può essere eseguito in quel campo. Per esempio potete restringere le<br />
possibilità accettabili per l’inserimento <strong>di</strong> una lista <strong>di</strong> provincie, aprire numeri <strong>di</strong> acquisto, vali<strong>di</strong><br />
numeri <strong>di</strong> ID, ecc. ecc.<br />
Impostare regole <strong>di</strong> convalida e testi <strong>di</strong> convalida per un campo.<br />
Aprite una tabella nel Table Designer.<br />
1. Nel Table Designer, selezionate il nome <strong>di</strong> un campo a cui volete definire una regola.<br />
2. Scegliete il bottone <strong>di</strong> <strong>di</strong>alogo a fianco alla casella Rule.<br />
3. Nell’ Expression Builder, definite una espresisone <strong>di</strong> convalida e cliccate su OK.<br />
4. Nella casella Message, inserite il testo da visualizzare in caso <strong>di</strong> errore fra virgolette.<br />
5. Cliccate su OK.<br />
Per esempio, provate a creare un semplice tabella <strong>di</strong> in<strong>di</strong>rizzi e restringete l’inserimento dei dati nel<br />
campo Nazione a "UK" o "USA."<br />
Customer.country = "UK" OR Customer.country = "USA"<br />
Potete anche specificare il messaggio da visualizzare se non viene rispettata la regola <strong>di</strong> convalida.<br />
Per esempio potreste visualizzare il messaggio:<br />
"La nazione deve essere USA o UK. Per favore reinserire il dato."<br />
Quando create una regola <strong>di</strong> convalida, dovete creare un’espresione valida <strong>di</strong> <strong>Visual</strong> FoxPro che<br />
tiene conto della lunghezza del campo, che un campo può essere anche vuoto oppure contenere il<br />
valore desiderato ecc. ecc. L’espressione può contenere funzioni se le funzioni esprimono da vero a<br />
falsa.<br />
Ad esempio assumendo che stiate utilizzando la tabella Cliente della <strong>di</strong>rectory <strong>di</strong> <strong>Visual</strong> Stu<strong>di</strong>o<br />
…\Samples\Vfp98\Data, e volete essere sicuri che ogni nuovo co<strong>di</strong>ce ID cliente sia inferiore <strong>di</strong> 6<br />
carattere <strong>di</strong> lunghezza, nella casella Validation Rule del campo Cust_ID, potete inserire:<br />
LEN(ALLTRIM(CUST_ID)) < 6<br />
Quin<strong>di</strong>, nella casella Validation Text, potreste inserire il messaggio <strong>di</strong> errore:<br />
"IL co<strong>di</strong>ce cliente ID deve essere inferiore a 6 caratteri. Per cortesia<br />
reinseriscilo."<br />
Se tentate <strong>di</strong> inserire un co<strong>di</strong>ce cliente ID troppo lungo, il testo <strong>di</strong> convalida apparirà nella finestra<br />
<strong>di</strong> <strong>di</strong>alogo.<br />
Testo <strong>di</strong> convalida appare quando vengono inseriti dati errati.
Controllare l’inserimento dei dati in un record<br />
Così come potete assegnare delle proprietò ad un database ad una singolo campo all’interno <strong>di</strong> una tabella,<br />
potete definire proprietà che vengono applicate all’intera tabella. Potete accedere alle proprietà dalla sceda<br />
Tabella del Table Designer.<br />
Impostare una regola <strong>di</strong> convalida per una tabella<br />
Se volete che due o più campi siano confrontati, o sod<strong>di</strong>sfino determinate con<strong>di</strong>zioni nel momento che i<br />
record vengono inserite nella tabella, potete impostare una regola <strong>di</strong> convalida per la tabella.<br />
Per impostare una regola <strong>di</strong> convalida<br />
1. Selezionate la tabella e scegliete Mo<strong>di</strong>fy.<br />
2. Nel Table Designer, scegliete la scheda Table.<br />
3. Nella casella Rule, inserite una espressione valida <strong>di</strong> <strong>Visual</strong> FoxPro che definisca la regola.<br />
Selezionate il tasto per utilizzare l’ Expression Builder.<br />
4. Nella finestra <strong>di</strong> <strong>di</strong>alogo Message, inserite il messaggio che deve apparire se la regola non viene<br />
rispettata.<br />
5. Cliccate su OK.<br />
6. In the Table Designer, choose OK.<br />
Ad esempio, assumendo che stiate utilizzando la tabella Clienti <strong>di</strong>sponibile nel database <strong>di</strong> esempio in<br />
<strong>Visual</strong> Stu<strong>di</strong>o nella <strong>di</strong>rectory …\Samples\Vfp98\Data, e che non desideriate or<strong>di</strong>ni dei clienti <strong>di</strong> Washington<br />
eccedenti i $ 10.000 dollari.<br />
Potete forzare questa regola scrivendo la seguente espressione nella casella Validation Rule della scheda<br />
Tabella:<br />
IIF(Customer.region = "WA" and Customer.maxordamt > 10000, .F.,.T.)<br />
Il messaggio <strong>di</strong> avvertimento potrebbe essere il seguente:<br />
"Gli or<strong>di</strong>ni da Washington non possono superare i $10,000"<br />
Inserimento rifiutato da una violazione <strong>di</strong> regola.
Impostare un Trigger<br />
I Triggers sono espressioni che si attivano ogni volta che quando vengono inseriti, cancellati o aggiornati<br />
dati in una tabella. Di solito per creare trigger bisogna creare dei programmi o delle procedure che si<br />
attivano quando la tabella viene mo<strong>di</strong>ficata.<br />
Gestire dati in un database<br />
Dopo aver impostato delle relazioni, potete anche impostare regole per la gestione dei dati relativi nel<br />
vostro database. Le regole governano l’integrità referenziale. Per esempio se aggiungete il record <strong>di</strong> un<br />
fornitore, potreste volere aggiungere informazioni circa i prodotti forniti alla tabella prodotti. Per aiutarvi ad<br />
impostare le regole per controllare come vengono inseriti, aggiornati, o cancellati i record nelle tabelle<br />
relazionate, potete utilizzare il costruttore (builder) dell’integrità referenziale.<br />
Tasto dell’integritaà referenziale nella finestra <strong>di</strong> <strong>di</strong>alogo E<strong>di</strong>t Relationship
Per utilizzare il Referential Integrity Builder<br />
1.<br />
2.<br />
3.<br />
4.<br />
Nel Database Designer, create una relazione tra due tabelle, oppure fate un doppio click sulla linea<br />
della realazione.<br />
Nella finestra E<strong>di</strong>t Relationship, scegliete il tasto Referential Integrity.<br />
Nel Referential Integrity Builder, selezionate la regola che volete far rispettare per<br />
l’aggiornamento, la cancellazione o l’inserimento dei records.<br />
Scegliete OK, e quin<strong>di</strong> Yes per salvare le mo<strong>di</strong>fiche, generate il co<strong>di</strong>ce RI, e uscite dal builder.
Creare una Query<br />
Potreste voler creare delle queries per varie ragioni: organizzare informazioni per una stampa, rispondere ad<br />
una veloce interrogazione, oppure esaminare un rilevante sottoinsieme <strong>di</strong> dati. Qualunque sia lo scopo, il<br />
processo <strong>di</strong> base è lo stesso. Utilizzando il Query Designer, selezionate la tabella o la vista da cui volete<br />
prelevare le informazioni, specificate i criteri con cui estrarre i records dalla tabella o dalla vista, e<br />
in<strong>di</strong>rizzate i risultati della vostra query al tipo <strong>di</strong> uscita dei dati che desiderate, come ad esempio una<br />
finestra <strong>di</strong> visualizzazione, una stampa, una etichetta, e così via. Quando avete creato una query che volete<br />
mantenere, potete salvarla assegnandole un nome. Le queries sono salvate con l’estensione .qrp<br />
IL processo <strong>di</strong> progettazione <strong>di</strong> una query<br />
Dopo aver deciso <strong>di</strong> quale informazione avete bisogno <strong>di</strong> ricercare, e in quale tabella o vista sono<br />
inmagazzinate, dovrete seguire i seguenti passi per creare le queries:<br />
1. Iniziate a creare la query con il query wizard del Query Designer<br />
2. Selezionate la tabella o la vista che contiene le informazioni che volete ricuperare.<br />
3. Definite i risultati della query scegliendo quali campi volete, l’or<strong>di</strong>ne in cui volete appaiano, e quali<br />
record desiderate.<br />
4. Organizzate i risultati attraverso l’or<strong>di</strong>namento e il raggruppamento delle righe nel risultato.<br />
5. Scegliete il tipo <strong>di</strong> emissione <strong>di</strong> dati per la query: Tabella, stampa, visualizzazione, ecc.<br />
6.<br />
Run and verify the query.
Uso del Query Wizard<br />
Se volete aiuto per creare una query velocemente, utilizzate quello fornito dal <strong>Visual</strong> FoxPro query wizards.<br />
Il query wizard vi porrà delle domande: da quale tabella o vista volete prelevare le informazioni, e<br />
imposterà una query in base alle risposte che fornirete alla serie <strong>di</strong> domande.<br />
Per ottenere più informazioni circa il query wizard, premete F1 per ottenere l’help mentre state utilizzando<br />
il query wizard.<br />
Per creare una query con il wizard<br />
1. Nel Project Manager, selezionate la scheda Data e selezionate Queries.<br />
2. Selezionate New.<br />
3. Cliccate su tasto Query Wizard.<br />
4. Selezionate il tipo <strong>di</strong> query che volete creare.<br />
5. Seguite le istruzioni sulle finestre del wizard.<br />
Potete anche selezionare il Wizards dal menu Tools.<br />
Avvio del Query Designer<br />
Se non volete utilizzare il query wizard,potete utilizzare il Query Designer per creare la vostra query. Potete<br />
avviare il Query Designer dal Project Manager o dal menu File.<br />
Per avviare il Query Designer<br />
1.<br />
2.<br />
3.<br />
4.<br />
Nel Project Manager, selezionate la scheda Data.<br />
Selezionate Queries.<br />
Scegliete New.<br />
Scegliete New Query.<br />
Potete anche avviare il Query Designer scegliendo New dal menu File, selezionando l’opzione Query, e<br />
selezionando New File.<br />
Quando create una nuova query, vi verrà chiesto <strong>di</strong> selezionare la tabella o la vista da cui prelevare le<br />
informazioni dal database corrente.<br />
Selezionare una tabella o la query
Dopo aver selezionato una tabella o una vista, <strong>Visual</strong> FoxPro mostra la finestra Query Designer.<br />
La finestra Query Designer<br />
Potete facilmente cambiare la tabella o la vista selezionata.
Per utilizzare una tabella o una vista <strong>di</strong>fferente<br />
1.<br />
Selezionate la tabella corrente e cliccate sul tasto Remove Table nella tastiera del Query Designer.<br />
Dalla tastiera del Query Designer, selezionate il tasto Add, quin<strong>di</strong> selezionate la tabella o la vista che<br />
desiderate.
Definire i risultati<br />
Dopo che avete aerto il Query Designer e selezionato la tabella o la vista che contiene le informazioni che desiderate,<br />
potete definire i risultati. Almeno avrete bisogno <strong>di</strong> definire i campi che desiderate. Potete anche definire i risultati<br />
inpostando l’or<strong>di</strong>ne in cui devono apparire i campi selezionati e definendo un filtro per definire quali records devono<br />
apparire.<br />
Selezionate i campi che volete<br />
Prima che possiate lanciare la query, dovete selezionare qualche campo da includere nel risultato. In alcuni casi, potreste<br />
volere tutti i campi della tabella o della vista. In altri casi potreste voler concentrare la query solo su alcuni campi<br />
selezionati, come ad esempio i campi che volete includere nella stampa.<br />
Assicuratevi <strong>di</strong> includere ogni campo che volete utilizzare per selezionare o raggruppare nel risultato della vostra query,<br />
Quando selezionate i campi potete anche definire l’or<strong>di</strong>ne con cui dovranno apparire in uscita.<br />
Utilizzate la scheda Field nel pannello inferiore del Query Designer per selezionare i campi che volete includere nel<br />
risultato della vostra query.<br />
La scheda Fields nel Query Designer<br />
Per aggiungere un campo nel uscida dei dati <strong>di</strong> una query<br />
❍<br />
❍<br />
Selezionate il nome <strong>di</strong> un campo e scegliete Add.<br />
-oppure-<br />
Trascinate il nome del campo nella cella Selected fields.<br />
Selezionare tutti i campo per l’uscita<br />
Potete anche selezionare tutti i campi attraverso il nome oppure utilizzando l’asterisco come carattere jolly ( valido quin<strong>di</strong><br />
per qualsiasi caso ). Se selezionate i campi attraverso il nome, l’esatto nome è incluso nella query. Se lanciate la query<br />
dopo che avete inserito un nuovo campo nella tabella esso non sarà incluso nei risultati della query.<br />
Se utilizzate il carattere jolly ( asterisco ) l’asterisco viene incluso nella query e tutti i campi presrenti nella tabella nel<br />
momento in cui viene eseguita la query saranno <strong>di</strong>sponibili nei risultati.<br />
Per aggiungere tutti i campi <strong>di</strong>sponibili in un colpo solo<br />
❍<br />
Scegliete Add All per aggiungere i campi attraverso il nome.<br />
-oppure-
❍<br />
Trascinate l’asterisco in cima alla tabella nella casella Selected fields.<br />
Mostrare un Alias ( pseudonimo ) per un campo<br />
Potete rendere i risultati della vostra query maggiormente comprensibili aggiungendo un titolo descrittivo al campo<br />
presente nei risultati. Ad esempio, potreste mostrare la parola "SumMaxOrd" in cima alla colonna dei risultati al postoi del<br />
nome o dell’espressione, SUM(MaxOrdAmount).<br />
Per aggiungere un alias<br />
1.<br />
1.<br />
Nella cella Functions and expressions, inserite il nome del campo, e scrivete AS e il nome pseudonimo come<br />
nell’esempio:<br />
SUM(maxorderamt) AS SumMaxOrd<br />
Scegliete Add per inserire il campo con l’alias nella cella Selected fields.<br />
Impostare l’or<strong>di</strong>ne dei campi in uscita<br />
L’or<strong>di</strong>ne con cui i campi appaiono nella scheda Fields determina l’or<strong>di</strong>ne delle colonne o delle informazioni nel risultato<br />
della query.<br />
Impostare l’or<strong>di</strong>ne delle colonne nel risultato in uscita<br />
●<br />
Trascinate la cella <strong>di</strong> movimento, posizionata a sinistra del nome del campo, su o giù.<br />
Se volete mo<strong>di</strong>ficare l’or<strong>di</strong>ne con cui vengono mostrate le righe contenenti le informazioni, utilizzate invece la scheda<br />
Order By tab.<br />
Selezionare i records desiderati<br />
Selezionando i records che volete trovare è il passo chiave che determina i risultati della vostra query. Attraverso la scheda<br />
Filter Tab nel Query Designer, potete formulare la con<strong>di</strong>zione WHERE <strong>di</strong> una <strong>di</strong>chiarazione per <strong>di</strong>re a <strong>Visual</strong> FoxPro<br />
quali records cercare per il ricupero.<br />
Potreste voler trovare una serie specifica <strong>di</strong> dati da includere in una stampa o in altri tipi <strong>di</strong> risultati d’uscita: per esempio<br />
tutti i clienti con sopesi, tutti i clienti <strong>di</strong> una specifica regione o co<strong>di</strong>ci postali, e così via. Per vedere solo i records che<br />
volete, inserite un valore o raggio d’azione per confrontare <strong>di</strong> nuovo i records.<br />
In <strong>Visual</strong> FoxPro, usate la scheda Filter tab per specificare i campi che volete utilizzare per i records selezionati, scegliete<br />
i criteri <strong>di</strong> confronto, e inserite un valore <strong>di</strong> riferimento con cui volete confrontare i campi.<br />
Definire i criteri dei risultati <strong>di</strong> una query
Per specificare un filtro<br />
1.<br />
Dalla lista Field Name, scegliete un campo da utilizzare come base per la selezione dei records.<br />
Nota Non potete utilizzare i campi General o Memo nei filtri.<br />
2. Dalla lista Criteria, scegliete il tipo <strong>di</strong> comparazione da utilizzare.<br />
3. Inserite il criterio comparativo nella cella Example.<br />
●<br />
●<br />
●<br />
●<br />
1.<br />
Utilizzate i segni virgolette solo se la stringa è uguale al nome <strong>di</strong> un campo nella tabella della query; altrimenti, non<br />
racchiudete le stringhe carattere fra le virgolette.<br />
Se utilizzate le date, non racchiudetele fra graffe<br />
Mettete i punti prima e dopo la lettera logica (.T.).<br />
Se inserite un nome <strong>di</strong> campo <strong>di</strong> una tabelle in una query, <strong>Visual</strong> FoxPro lo riconoscerà come campo.<br />
Se volete ignorare le maiuscole nella ricerca dei dati carattere, selezionate il tasto Case.<br />
Se volete rovesciare il significato <strong>di</strong> un operatore logico, selezionate il tasto Not. Per esempio, se volete selewzionare i<br />
clienti <strong>di</strong> tutte le regioni eccetto Washington, utilizzate l’espressione <strong>di</strong> selezione nel seguente modo:<br />
Customer.region Not Like WA<br />
Per migliorare la ricerca, potete aggiungere più filtri nella scheda Filtri. To further tune your search, you can add more<br />
filters in the Filter tab.<br />
Se state utilizzando più <strong>di</strong> una tabella o vista nella vostra query, potete espandere i records che selezionate attraverso il tipo<br />
<strong>di</strong> join (unioni) che scegliete.
Organizzare i risultati<br />
Una volta definiti il tipo <strong>di</strong> risultati, potete definire il modo in cui li volete organizzati or<strong>di</strong>nandoli o raggruppandoli.<br />
Se volete anche applicare un filtro sui dati in uscita risultanti dalla query.<br />
Or<strong>di</strong>rare il risultato <strong>di</strong> una query<br />
L’or<strong>di</strong>namento , determina il modo in cui i records o le righe <strong>di</strong> dati vengonoo estratti quando appaiono nel risultato<br />
dell’applicazione della query. Ad esempio, potete or<strong>di</strong>nare i record in base alla provincia e quin<strong>di</strong> in base alla citta,<br />
oppure organizzandoli in or<strong>di</strong>ne ascendente <strong>di</strong> sal<strong>di</strong> contanili insoluti.<br />
Utilizzate la scheda Order By per impostare l’or<strong>di</strong>ne della vostra query. L’or<strong>di</strong>namento determina in che modo<br />
vengono mostrati i record nel risultato della query.<br />
Innanzi tutto selezionate i campi che volete usare dalla finestra Selected Fields e spostateli nella finestra Ordering<br />
Criteria. Quin<strong>di</strong> sistemate i campi nell’or<strong>di</strong>ne in cui desiderate appaia il risultato della query.<br />
Per impostare il criterio do or<strong>di</strong>namento<br />
1. Nella finestra Selected fields, selezionate il nome del campo.<br />
2. Selezionate Add.<br />
Per imuovere un criterio <strong>di</strong> or<strong>di</strong>namento<br />
1. Selezionate uno o più campi che desiderate rimuovere.<br />
2. Scegliete Remove.<br />
L’or<strong>di</strong>ne in cuii appaiono i campi nella finestra Ordering Criteria determina l’or<strong>di</strong>ne <strong>di</strong> importanza quando viene<br />
organizzato il risultato <strong>di</strong> una query. Il primo campo determina l’or<strong>di</strong>namento principale.<br />
Per esempio, se il primo campo nella finestra Ordering Criteria è Cliente.regione e il secondo campo è Cliente.città il<br />
risultato srà or<strong>di</strong>nato prima per Cliente.regione, se più <strong>di</strong> un cliente abita nella medesima regione verrà applicato il<br />
secondo criterio Cliente.città.<br />
Impostare l’or<strong>di</strong>ne me<strong>di</strong>ante la scheda Order By
Per aggiungere l’importanza <strong>di</strong> un or<strong>di</strong>namento in base ai campi. Utilizzare il tasto a sinistra del campo e trascinatelo<br />
nella posizione desiderata nella finestra Ordering criteria.<br />
Potete or<strong>di</strong>nare i dati in or<strong>di</strong>ne ascendente e <strong>di</strong>scendente impostando il tasto nell’area opzioni or<strong>di</strong>namento ( Order<br />
option ). Ogni campo or<strong>di</strong>namento appare nella finestra Output Field nella scheda Filter con una freccia rivolta verso<br />
l’alto o verso il basso che in<strong>di</strong>ca se l’or<strong>di</strong>namento deve essere fatto in senso ascendente o <strong>di</strong>scendente.<br />
Raggruppare il risultato <strong>di</strong> una query<br />
Il raggruppamento fonde o raccoglie record simili in un record in modo da consentire calcoli basati su gruppi <strong>di</strong> record.<br />
Ad esempio, potreste voler trovare la somma <strong>di</strong> tutti gli <strong>di</strong> una regione specifica. Al posto <strong>di</strong> controllare tutti i records<br />
singolarmente, potete raggruppare tutti i records <strong>di</strong> una stessa regione in un solo record, e ottenere la somma <strong>di</strong> tutti gli<br />
or<strong>di</strong>ni <strong>di</strong> quella regione.<br />
Per controllare il modo con cui i records vengono raggruppati, utilizzate la scheda Grup By Query Designer.<br />
To control how records are grouped, use the Group By tab in the Query Designer. Il raggruppamento è molto più utile<br />
quando viene utilizzata in unione con la funzione <strong>di</strong> somma come SUM, COUNT, AVG e così via.<br />
Ad esempio, supponiamo <strong>di</strong> volere il totale degli importi <strong>di</strong> ogni co<strong>di</strong>ce cliente nella tabella clienti. Avete bisogno <strong>di</strong><br />
raggruppare tutti i records degli or<strong>di</strong>ni per ogni co<strong>di</strong>ce cliente in un solo record, e quin<strong>di</strong> trovare la somma totale degli<br />
or<strong>di</strong>ni.<br />
Prima <strong>di</strong> tutto dovete usare la scheda Fields per aggiungere l’espressione SUM(Or<strong>di</strong>ni.or<strong>di</strong>ne_netto) al risultato della<br />
query, quin<strong>di</strong> raggruppate i risultati in base al co<strong>di</strong>ce cliente. Il risultato mostra il totale netto degli or<strong>di</strong>ni <strong>di</strong> ogni<br />
cliente.<br />
Impostare le opzioni <strong>di</strong> Group By
Per impostare le opzioni <strong>di</strong> raggruppamento<br />
1.<br />
Nella scheda Fields, inserite l’espressione nella cella Functions and expressions.<br />
-oppure-<br />
Cliccate sul tasto Expression Builder per inserire una espressione nella cella Functions and expressions.<br />
2. Cliccate il tasto Add per inserire l’esspressione nella finestra Selected fields.<br />
3. Nella scheda Group By, aggiungete l’espressione <strong>di</strong> raggruppamento.<br />
Si può inoltre applicare un filtro ai risultati <strong>di</strong> un raggruppamento.<br />
Selezionare i gruppi desiderati<br />
Per impostare un filtro si una raggruppamento o una fusione <strong>di</strong> records piuttosto che su ogni singolo records, scegliete<br />
dalla scheda Group By l’opzione Having. Potete usare il nome <strong>di</strong> un campo, una funzione <strong>di</strong> raggruppamento, oppure<br />
un’altra espressione nella cella Field Name.<br />
Segueno l’esempio precedente, si può utilizzare la query che mostra il totale delle ven<strong>di</strong>te per co<strong>di</strong>ce cliente, quin<strong>di</strong><br />
usando il tasto Having restringere il risultato a clienti che hanno più <strong>di</strong> $50.000 dollari <strong>di</strong> or<strong>di</strong>ne netto.<br />
Impostare il criterio <strong>di</strong> un gruppo
Per impostare l’opzione Having su un gruppo<br />
1. Nella scheda Group By, scegliete Having.<br />
2. Nella finestra <strong>di</strong> <strong>di</strong>alogo Having, selezionate una funzione e un nome <strong>di</strong> campo nel campo Field Name.<br />
3.<br />
Cliccate su OK.
Applicare le query<br />
Quando avete terminato la progettazione della vostra query, potete applicare la query attraverso il tasto Run.<br />
<strong>Visual</strong> FoxPro esegue le espressioni SQL che avete costruito con il Query Designer, e produce il risultato sulla<br />
Finestra Browser.<br />
Per applicare una query<br />
Nel Project Manager, selezionate il nome della query, quin<strong>di</strong> scegliete Run.<br />
Se desiderate che il risultato venga rappresentato in un'altra destinazione, potete re<strong>di</strong>rigere il risultato su un<br />
modulo, tabella, stampa, o altra destinazione. Se desiderate conoscere come è scritta l’istruzione SQL potete<br />
visualizzarla.<br />
Re<strong>di</strong>rigere il risultato delle query<br />
Potete inviare il risultato della query a <strong>di</strong>verse destinazioni. Se non avete selezionato la destinazione questa sarà<br />
una finestra <strong>di</strong> Browser.<br />
Quando scegliete una Query Destination nel Query menu, oppure scegliete il tasto Query Destination sulla Query<br />
toolbar, verrà mostrata una finestra <strong>di</strong> <strong>di</strong>alogo Destination, dove potete scegliere in che modo mostrare i risultati.<br />
Per scegliere la destinazione <strong>di</strong> una query<br />
1. Dalla barra dei pulsanti del Query Designer, scegliete Query Destination.<br />
2. Nella finestra <strong>di</strong> <strong>di</strong>alogo Query Destination, scegliete la destinazione del risultato, e compilate ogni<br />
campo ad<strong>di</strong>zionale per come richiesto.<br />
Scegliere una destinazione per una query<br />
Utilizzate questa tabella per scegliere la destinazione dei risultati <strong>di</strong> una query.
Se desiderate Scegliete questa opzione<br />
Mostrare il risultati <strong>di</strong> una query in una finestra <strong>di</strong> scorrimento Browse<br />
Salvare il risultato <strong>di</strong> una query in una tabella temporanea <strong>di</strong> sola lettura Cursor<br />
Salvare i risultati <strong>di</strong> una query in una tabella assegnandole un nome Table<br />
Rendere il risultato <strong>di</strong>sponibile per l’utilizza con <strong>Microsoft</strong> Graph, una<br />
applicazione separata acclusa <strong>Visual</strong> FoxPro<br />
Mostrare i risultati <strong>di</strong> una query nella finestra principale <strong>di</strong> <strong>Visual</strong><br />
FoxPro, o nella finestra attiva<br />
Graph<br />
Screen<br />
Inviare alla stampa report (.frx) Report<br />
Inviare il risultato su una etichetta (.lbx) Label<br />
Molte <strong>di</strong> queste opzioni hanno delle ulteriori possibilità che mo<strong>di</strong>ficano i risultati. Ad esempio, le opzioni <strong>di</strong><br />
stampa report consentono <strong>di</strong> aprire un la stampa su un file consentendo la mo<strong>di</strong>fica prima ancora della stampa<br />
vera, oppure potete utilizzare il wizard per la configurazione della stampa.<br />
Verifica della query<br />
Se desiderate essere certi che la query sia definita propriamente, potete visualizzare l’istruzione SQL costruita dal<br />
Query Designer. Inoltre, potete aggiungere commenti alle query che ne descrivano lo scopo. I commenti delle<br />
query appaiono nella finestra <strong>di</strong> SQL.<br />
<strong>Visual</strong>izzare le istruzioni SQL<br />
In qualsiasi momento della fase <strong>di</strong> creazione delle vostre query, potete visualizzare l’istruzione SQL che si sta<br />
generando me<strong>di</strong>ante il View SQL del menu Query, oppure cliccando sul tasto SQL della barra dei pulsanti.<br />
Una finestra <strong>di</strong> sola lettura mostra l’espressione SQL.<br />
Potete copiare il testo della finestra e passarlo nella finestra <strong>di</strong> Comando oppure incorporarla in un programma.<br />
Per vedere l’espressione SQL della query<br />
❍<br />
Nella barra pulsanti del Query Designer, scegliete il tasto SQL.<br />
L’espressione SQL <strong>di</strong> una query
Aggiungere un commento ad una query<br />
Se volete identificare le vostre query in qualche modo, oppure aggiungere un commento alle vostre query in modo<br />
da potervi ricordare lo scopo per futuri riferimenti.<br />
Per aggiungere un commento in una query<br />
1. Dal menu Query, scegliete Comments.<br />
2. Nella finestra Comment, inserite le note che desiderate.<br />
3. scegliete OK.<br />
Aggiungere un commento alle query<br />
I commenti che inserite appaiono in alto nella finestra SQL, preceduto da un asterisco.
Personalizzazione delle queries<br />
Altre opzioni <strong>di</strong>sponibili con il Query Designer rendono semplici future personalizzazioni. Potete utilizzare<br />
filtri per espandere o restringere le vostre ricerche. Potete anche aggiungere espressioni per effettuare calcoli o<br />
funzioni sui dati dei campi.<br />
Perfezionare la ricerca<br />
Potreste aver la necessità <strong>di</strong> aver maggior controllo sui risultati <strong>di</strong> una query, ad esempio. Potreste voler cercare<br />
records che sod<strong>di</strong>sfino più <strong>di</strong> un criterio, come clienti <strong>di</strong> una provincia che hanno sal<strong>di</strong> passivi maggiori <strong>di</strong> 1000<br />
dollari. Oppure, potreste aver necessità <strong>di</strong> ricuperare record che sod<strong>di</strong>sfino sia un criterio che anche un altro:<br />
clienti <strong>di</strong> Washington o della California. In entrambi i casi dovete inserire più espressioni nella scheda Filter.<br />
In <strong>Visual</strong> FoxPro, le espressioni sono automaticamente combinate con l’operatore logico AND quando ne<br />
inserite più <strong>di</strong> una su altre righe della scheda Filter. Se dovete ricercare dati che sod<strong>di</strong>sfino due o più con<strong>di</strong>zioni<br />
alternative, dovete inserire l’operatore logico OR fra le varie righe con il tasto Add Or.<br />
Restringere la ricerca<br />
Se volete che la query estragga solamente i records che sod<strong>di</strong>sfino uno o più criteri, elencate i criteri su righe<br />
separate nella scheda Filter. I criteri vengono combinati automaticamente con l’operatore AND, così solo i dati<br />
che sod<strong>di</strong>sfano entrambi i criteri sono estratti.<br />
Ad esempio, supponiamo che stiate facendo delle ricerche in una tabella <strong>di</strong> impiegati e desideriate tutti gli<br />
Agenti Rappresentanti del Regno Unito. Dovete inserire le due con<strong>di</strong>zioni su due linee separate:<br />
Combinazione <strong>di</strong> due filtri<br />
Per impostare la con<strong>di</strong>zione AND
●<br />
Inserite il filtro nella scheda filtri Filter, scegliete AND nella colonna Logical.<br />
Espandere la ricerca<br />
Se desiderate che la query estragga i records che sod<strong>di</strong>sfino una qualsiasi delle con<strong>di</strong>zioni imposte le dovete<br />
combinare con l’operatore logico OR.<br />
Per esempio potreste voler ricercare tutti i clienti che vivono in California e nello stato <strong>di</strong> Washington:<br />
Aggiungere un OR fra due filtri<br />
Per impostare una con<strong>di</strong>zione OR<br />
●<br />
Selezionate il filtro e quin<strong>di</strong> scegliete OR nella colonna Logical.<br />
Combinare le con<strong>di</strong>zioni <strong>di</strong> ricerca<br />
Potete anche combinare le con<strong>di</strong>zioni And e Or per estrarre dei records specifici dalle tabelle.<br />
Combinare filtri <strong>di</strong>versi
Eliminare i records duplicati da una query<br />
I record duplicati sono records in cui ogni campo del risultato combacia. Se desiderate rimuovere i record<br />
duplicati dal risultato <strong>di</strong> una query selezionate nella scheda Miscellaneus l'’pzione No Duplicates. Altrimenti,<br />
assicuratevi che l’opzione No Duplicates non sia selezionata.<br />
Nota Se è selezionata l’opzione No Duplicates, la parola DISTINCT precede i campi nella parte riferita a<br />
Select del comando Select.<br />
Estrarre una certa percentuale <strong>di</strong> dati nei primi records<br />
Potete specificare quanti o in che percentuale <strong>di</strong> records con il valore più alto o più basso <strong>di</strong> un certo campo<br />
devono essere restituiti dalla query. Ad esempio potete richiedere che la query vi mostri i records con i 10<br />
maggiori o minori valori in un dato campo.<br />
Utilizzando l’impostazione Top della scheda Miscellaneus, potete impostare un numero <strong>di</strong> percentuale <strong>di</strong><br />
records che volete visualizzare. Per impostare la parte più alta o la parte più bassa, impostate l’or<strong>di</strong>ne con cui<br />
devono essere estratti i records in modo che siano mostrati in or<strong>di</strong>ne ascendente per vedere i più alti o in or<strong>di</strong>ne<br />
<strong>di</strong>scendenti per vedere i più bassi.<br />
Per estrarre una certa percentuale dei primi records<br />
1.<br />
2.<br />
3.<br />
Nella scheda Order By, selezionate il campo da cui volete prelevare i valori più alti, quin<strong>di</strong> scegliete<br />
Descen<strong>di</strong>ng allo scopo <strong>di</strong> vedere questi valori oppure Ascen<strong>di</strong>ng per vedere quelli più bassi. Se dovete<br />
impostare l’or<strong>di</strong>namento anche su altri campi, sistemateli il secondo criterio dopo quello precedente,<br />
Nella scheda Miscellaneous, inserite la percentuale <strong>di</strong> dati che volete estrarre nella cella Number of<br />
records. Per vedere la percentuale selezionate Percent.<br />
Se non volete records duplicati, selezionate No duplicates.
Aggiungere una espressione ad una Query<br />
Potete creare delle query molto più flessibili e potenti se incorporate delle espressioni<br />
Aggiungere una espressione al risultato <strong>di</strong> una query<br />
Potete anche includere funzioni e espressioni nel risultato <strong>di</strong> una query, utilizzando la cella alla fine della<br />
scheda Fields. Se volete, potete anche assegnare un nome al campo che ospita l’espressione, assegnandogli un<br />
alias<br />
Ad esempio potreste voler includere nel risultato <strong>di</strong> una query la somma <strong>di</strong> tutti gli or<strong>di</strong>ni in un campo con<br />
l’alias Totale:<br />
SUM(orders.order_amt) AS Total<br />
Creare una espressione da includere nel risultato <strong>di</strong> una query<br />
Potete inserire l’espressione <strong>di</strong>rettamente nella cella oppure utilizzare l’Espression Buider della scheda Fields<br />
Per aggiungere una espressione al risultato <strong>di</strong> una query<br />
1.<br />
Nella scheda Fields, inserite l’espressione nella cella Functions and Expressions.<br />
-oppure-<br />
Scegliete il tasto Expression Builder e inserite l’espressione nella cella Functions and expressions.<br />
2. Cliccate sul tasto Add per inserire l’espressione nella cella Selected fields.<br />
Nota Valori nulli vengono ignorati nei calcoli.<br />
Eseguire un filtro con una espressione<br />
Al posto <strong>di</strong> ricercare semplicamente un records che corrisponda a un o più campi, potete utilizzare una<br />
espressione che combini due campi, o esegua dei calcoli basati su un campo e quin<strong>di</strong> ricercare altri campi che<br />
combacino con i campi combinati o calcolati.
Potete inserire l’espressione <strong>di</strong>rettamente nella cella Example. Se desiderate aiuto, potete utilizzare<br />
l’Expression Builder, che è <strong>di</strong>sponibile tramite il tasto vicino alla cella Expressions and Functions della scheda<br />
Fields.<br />
Ad esempio, nella scheda or<strong>di</strong>ni, potreste controllare il totale sconto <strong>di</strong> un cliente combinando il totale or<strong>di</strong>ni e<br />
lo sconto applicato in questo modo:<br />
Orders.order_amt * Orders.order_dsc<br />
Creare una espressione me<strong>di</strong>ante l’ Expression Builder
Pianificare la stesura del proprio modulo<br />
E' possibile impostare il proprio modulo in modo da visualizzare i dati in svariate modalità sulla pagina stampata.<br />
utilizzando Report Designer o l'autocomposizione del modulo. La progettazione <strong>di</strong> un modulo si compone <strong>di</strong> quattro passi principali:<br />
1. Determinare il tipo <strong>di</strong> modulo da creare.<br />
2. Creare un file <strong>di</strong> modello per l'impagianzione del modulo.<br />
3. Personalizzare il modello a seconda delle esigenze.<br />
4. <strong>Visual</strong>izzare un'anteprima del modulo e, quin<strong>di</strong>, procedere alla stampa.<br />
Il processo <strong>di</strong> creazione del modulo<br />
Stabilire il formato <strong>di</strong> base<br />
Prima <strong>di</strong> creare un modulo è necessario decidere il formato <strong>di</strong> base che si desidera attribuire al modulo. Il proprio modulo puo' essere semplice<br />
quanto una lista <strong>di</strong> numeri telefonici basata su un'unica tabella o, <strong>di</strong> contro, complesso come un fattura basata su tabelle molteplici. E' inoltre<br />
possibile creare delle tipologie speciali; ad esempio un modulo <strong>di</strong> etichette per buste (mailing label) potrà avere un'impaginazione specifico<br />
per un determinato tipo <strong>di</strong> carta.<br />
Formati generici <strong>di</strong> un modulo
Come aiuto nella scelta <strong>di</strong> un formato <strong>di</strong> base, seguono le descrizioni delle tipologie più comuni, del loro utilizzo ed alcuni esempi.<br />
Formato Descrizione Esempi<br />
Per colonne<br />
Per righe<br />
Un record per riga con i campi <strong>di</strong>sposti<br />
orizzontalmente lungo la pagina<br />
Una colonna <strong>di</strong> record con i campi <strong>di</strong>sposti<br />
verticalmente<br />
Uno-a-molti Relazioni uno-a-molti<br />
Multi-colonna<br />
Etichette<br />
Più <strong>di</strong> una colonna <strong>di</strong> record con i campi <strong>di</strong>sposti<br />
verticalmente e allineati a sinistra<br />
Più <strong>di</strong> una colonna <strong>di</strong> record con i campi <strong>di</strong>sposti<br />
verticalmente e allineati a sinistra , pre<strong>di</strong>sposto per la<br />
stampa su un tipo particolare <strong>di</strong> carta<br />
Riepilogo dei totali<br />
Moduli finanziari<br />
Inventari<br />
Resoconti <strong>di</strong> ven<strong>di</strong>ta<br />
Liste<br />
Fatture<br />
Account statements<br />
Cartelle telefoniche<br />
Business cards<br />
Etichette per buste postali<br />
Biglietti da visita<br />
Dopo aver scelto il formato <strong>di</strong> base che più risponde alle proprie esigenze, è possibile procedere alla creazione del file contenente il modello <strong>di</strong><br />
impaginazione con "Report Designer."<br />
I file modello per il modulo<br />
Ad un file <strong>di</strong> modello viene attribuita l'estensione .frx; in questo file vengono memorizzate le specifiche per il modulo da creare. Ad ognuno <strong>di</strong><br />
questi file ne è associato un altro con l'estensione .frt. In questo file sono specificati i campi da comprendere nel modulo, il testo da stampare e<br />
la <strong>di</strong>sposizione delle informazioni all'interno della pagina. Il file non memorizza i valori <strong>di</strong> ciascun campo <strong>di</strong> dati ma solamente il formato e la<br />
<strong>di</strong>sposizione generale; è quin<strong>di</strong> possibile mo<strong>di</strong>ficare i valori all'interno del database sorgendo mantenendo invariata la struttura della pagina <strong>di</strong><br />
stampa.
Creare un formato per il modulo<br />
<strong>Visual</strong> FoxPro consente la creazione <strong>di</strong> un formato-modulo in tre mo<strong>di</strong> <strong>di</strong>fferenti:<br />
●<br />
●<br />
●<br />
Utilizzando un "Report Wizard": è possibile creare un modulo basato su una o più tabelle<br />
Utilizzando "Quick Report": è possibile creare un modulo basato su una singola tabella.<br />
Utilizzando "Report Designer" per mo<strong>di</strong>ficare un modulo esistente o per crearne uno ex-novo.<br />
Attraverso ognuno <strong>di</strong> questi meto<strong>di</strong> viene creato un file <strong>di</strong> modello mo<strong>di</strong>ficabile con "Report Designer".<br />
L'uso dei "Report Wizard" costituisce il modo più facile per iniziare ed mette inoltre a <strong>di</strong>sposizione<br />
molte delle caratteristiche <strong>di</strong> personalizzazione proprie <strong>di</strong> "Report Designer".<br />
Utilizzare "Quick Report" è invece il modo più veloce per creare un semplice modulo<br />
Se si sceglie <strong>di</strong> creare il modulo da "Report Designer" si partirà invece dal foglio bianco per costruire<br />
dal principio il proprio formato personalizzato.<br />
Usare un "Report Wizard"<br />
Ogni qual volta si desideri creare un modulo, è possibile utilizzare un "report wizard" per essere guidati<br />
nella sua composizione. La procedura porrà all'utente una serie <strong>di</strong> domande creando un formato basato<br />
sulle risposte fornite.<br />
I Report Wizard previsti da <strong>Visual</strong> FoxPro sono i seguenti:<br />
● Resoconti (Report )<br />
● Uno-a-molti (One-to-Many)<br />
● Etichette (Label)<br />
● Sintesi <strong>di</strong> corrispondenza (Mail Merge)<br />
Il Wizard da scegliere <strong>di</strong>pende dal tipo e dalla complessità <strong>di</strong> modulo che si intende generare.<br />
Per utilizzare un Report Wizard<br />
1.<br />
2.<br />
3.<br />
4.<br />
5.<br />
Selezionare Reports da Project Manager.<br />
Scegliere New.<br />
Scegliere quin<strong>di</strong> Report Wizard.<br />
Selezionare il tipo <strong>di</strong> modulo da creare.<br />
Seguire le in<strong>di</strong>cazioni delle finestre <strong>di</strong> <strong>di</strong>alogo presentate dalla procedura guidata.<br />
Si può accedere ai Report Wizard selezionando Wizards dal menù Tools specificando la voce Report.<br />
Una volta utilizzato un wizard è possibile ricorrere a Report Designer per aggiungere controlli e<br />
personalizzare ulteriormente il modulo.<br />
Ulteriori informazioni verranno fornite più avanti all'interno <strong>di</strong> questo capitolo (ve<strong>di</strong> "Personalizzare il<br />
formato")<br />
Iniziare a progettare il modulo<br />
Se non si desidera ricorrere alla composizione guidata tramite Wizard, è possibile iniziare a tracciare la<br />
struttura del modulo a partire dal foglio vuoto stabilendo autonomamente ogni tipo <strong>di</strong> controllo.<br />
Per creare un nuovo modulo vuoto<br />
1.<br />
Selezionare Reports da Project Manager.
2.<br />
3.<br />
Scegliere New.<br />
Scegliere quin<strong>di</strong> New Report.<br />
Comparità Report Designer, da cui sarà dunque possibile costruire e personalizzare il modulo.
Creare un formato etichette per buste<br />
Un'etichetta non è altro che un modulo multicolonna con impostazioni speciali per adeguar<strong>di</strong> ad un<br />
particolare tipo <strong>di</strong> carta. In <strong>Visual</strong> FoxPro si possono creare etichette molto velocemente ricorrendo<br />
all'apposito Wizard oppure a "Label Designer".<br />
Creare etichette tramite Wizard<br />
Il Wizard per la creazione <strong>di</strong> etichette costituisce un modo facile per raggiungere lo scopo. Una volta<br />
creato il file modello è comunque possibile ricorrere a Report Designer per aggiungere ogni tipo <strong>di</strong><br />
personalizzazione necessaria.<br />
Per creare etichette tramite Wizard:<br />
1.<br />
2.<br />
3.<br />
4.<br />
Selezionare Labels in Project Manager.<br />
Scegliere New.<br />
Scegliere quin<strong>di</strong> Label Wizard.<br />
Seguire le istruzioni fornite dalle varie finestre <strong>di</strong> <strong>di</strong>alogo.<br />
Il formato ottenuto può essere utilizzato così com'è oppure mo<strong>di</strong>ficato grazie alle procedure menzionate<br />
finora oppure lanciando il comando Add Label wizard cliccando il tasto "New Label" nel secondo<br />
passaggio del proce<strong>di</strong>mento descritto sopra.<br />
Avviare Label Designer<br />
Se si desidera fare a meno del Wizard per la creazione delle proprie etichette, si puo' definire il modulo<br />
con Label Designer. Label Designer è concettualmente analogo a Report Designer e utilizza i suoi stessi<br />
menù e barre <strong>di</strong> strumenti; si <strong>di</strong>fferenziano solo per la pagina iniziale e per il tipo <strong>di</strong> carta su cui<br />
lavorano. Report Designer usa una pagina completa <strong>di</strong> carta standard mentre Label Designer organizza<br />
la propria pagina <strong>di</strong> inizio e la carta in adeguamento allo standard per la carta da etichette.<br />
Creare etichette con Label Designer<br />
1.<br />
2.<br />
3.<br />
4.<br />
Selezionare Labels in Project Manager.<br />
Scegliere New.<br />
Scegliere New Label: verrà visualizzata la finestra <strong>di</strong> <strong>di</strong>alogo New Label.<br />
la finestra <strong>di</strong> <strong>di</strong>alogo New Label<br />
Dalla finestra <strong>di</strong> <strong>di</strong>alogo New Label scegliere un formato per le etichette e premere quin<strong>di</strong> il<br />
tasto OK.
Label Designer mostrerà un'anteprima per la pagina definita dal formato prescelto.<br />
La specifica della fonte dei dati e i controlli su <strong>di</strong> essi funzionano nello stesso modo rispetto ad un<br />
normale modulo. Ulteriori informazioni verranno fornite più avanti all'interno <strong>di</strong> questo capitolo (ve<strong>di</strong><br />
"Personalizzare il formato")
Mo<strong>di</strong>ficare il formato<br />
Se il modulo che si è ottenuto non risponde del tutto alle proprie esigenze si può intervenire con mo<strong>di</strong>fiche ricorrendo a Report Designer che<br />
permette <strong>di</strong> inserire una varietà <strong>di</strong> controlli su etichette, campi, variabili ed espressioni nella modalità in cui appariranno sulla pagina<br />
stampata.<br />
Per esempio in una lista telefonica è possibile migliorare l'aspetto e la leggibilità del modulo aggiungendo linee, racchiudendo i titoli dei<br />
campi o ad<strong>di</strong>rittura inserendo immagini; ognuno <strong>di</strong> questi controlli è rappresentato in figura 63.<br />
File <strong>di</strong> modello e modulo risultante<br />
Aprendo il modulo con Report Designer il formato è mo<strong>di</strong>ficabile e personalizzabile<br />
Per mo<strong>di</strong>ficare la struttura <strong>di</strong> un modulo o <strong>di</strong> etichette<br />
1. Scegliere report (o label) in Project Manager.<br />
2. Scegliere Mo<strong>di</strong>fy.<br />
Le barre <strong>di</strong> controllo visualizzate possono essere utilizzate per determinare l'aspetto <strong>di</strong> ogni parte costitutiva del modulo; uqeste barre sono<br />
ri<strong>di</strong>mensionabili e, al loro interno, è possibile aggiungere controlli e gestire la <strong>di</strong>sposizione <strong>di</strong> testo e campi.<br />
Pianificare la <strong>di</strong>sposizione dei dati<br />
Una volta definita l'impaginazione del modulo si può mo<strong>di</strong>ficare la <strong>di</strong>sposizione dei dati sulla pagina; ricorrendo alle barre <strong>di</strong> controllo <strong>di</strong><br />
Report Designer si può determinare la posizione della pagina in cui verrà stampato il dato. La propria struttura <strong>di</strong> modulo può comporsi <strong>di</strong><br />
varie barre; nella tabella che segue ne sono riportati alcuni tipi assieme ai tipici contenuti per ciascuna.<br />
Nota: ogni <strong>di</strong>citura sottostante a ciascuna barra identifica la barra stessa.<br />
Barre <strong>di</strong> controllo in Report Designer
Un modulo può contenere <strong>di</strong>verse barre <strong>di</strong> controllo; queste si possono inserire utilizzando le procedure descritte in questo capitolo alle voci<br />
"Definire la pagina del modulo" e "Raggruppare i dati sul formato scelto". La tabella che segue può servire per determinare quali barre<br />
usare.<br />
Usa questa barra Per stampare Usa questo comando<br />
Titolo (title) Una volta per modulo Title/Summary dal menù Report<br />
Intestazione <strong>di</strong> pagina<br />
(page header)<br />
Intestazione <strong>di</strong> colonna<br />
(Column Header)<br />
Intestazione del gruppo<br />
(Group header)<br />
Una volta per pagina Disponibile <strong>di</strong> default<br />
Una volta per colonna<br />
Page Setup dal menù File: impostare poi Column Number<br />
maggiore <strong>di</strong> 1<br />
Una volta per gruppo Data Grouping dal menù Report<br />
Dettaglio (Detail band) Una volta per record Disponibile <strong>di</strong> default<br />
Piè <strong>di</strong> pagina del gruppo<br />
(Group footer)<br />
Piè <strong>di</strong> pagina <strong>di</strong> colonna<br />
(Column footer)<br />
Piè <strong>di</strong> pagina (Page<br />
Footer)<br />
Una volta per gruppo Data Grouping dal menù Report<br />
Una volta per colonna<br />
Una volta per pagina Disponibile <strong>di</strong> default<br />
Page Setup dal menù File; impostare poi Column Number<br />
maggiore <strong>di</strong> 1.<br />
Sommario (Summary) Una volta per modulo Title/Summary dal menù Report .<br />
Ogni controllo per il modulo in oggetto può essere posizionato in ognuna delle barre; si possono includere anche funzioni definite<br />
dall'utente che verranno elaborate al momento dell'attivazione del modulo.<br />
Barre ri<strong>di</strong>mensionabili<br />
Ogni barra <strong>di</strong> controllo è ri<strong>di</strong>mensionabile:<br />
Per ri<strong>di</strong>mensionare una barra<br />
●<br />
Trascinare il bordo della barra alla giusta altezza; si può usare il righello <strong>di</strong> sinistra come guida; la misura del righello si riferisce<br />
strettamente all'altezza della barra e non include i margini della pagina.<br />
Suggerimento: Non è possibile rendere una barra più corta dell'altezza dei controlli; prima vanno trascinati all'interno della
arra e poi si può procedere con il ri<strong>di</strong>mensionamento.
Aggiungere controlli al modulo<br />
In un modulo si possono inserire i seguenti tipi <strong>di</strong> controllo:<br />
Per visualizzare Scegli questo controllo<br />
Campi <strong>di</strong> tabella, variabili e altre espressioni Campo (Field)<br />
Testo letterale Etichetta (Label)<br />
Linee <strong>di</strong>ritte Linea (Line)<br />
Bor<strong>di</strong> e contorni Rettangolo (Rectangle)<br />
Cerchi, ovali, contorni arrotondati, bor<strong>di</strong><br />
Rettangolo arrotondato (Rounded<br />
Rectangle)<br />
Immagini bitmap o campi generici Immagine (Picture/OLE Bound)<br />
Dopo aver <strong>di</strong>sposto i controlli si può mo<strong>di</strong>ficare il loro formato, la loro <strong>di</strong>mensione, posizione e colore; si possono inoltre aggiungere<br />
commenti visibili solo da schermo che non verranno riportati in fase <strong>di</strong> stampa.<br />
Aggiungere controlli con Quick Report<br />
Quick Report rappresenta un modo rapido per creare un semplice formato <strong>di</strong> modulo automaticamente. Selezionando pochi componenti <strong>di</strong><br />
base, <strong>Visual</strong> FoxPro crea il formato in base alla scelta fatta.<br />
Create un controllo con Quick Report<br />
1. Selezionare Reports in Project Manager<br />
2. Scegliere New.<br />
3. Scegliere New Report.<br />
4. Scegliere Quick Report dal menù Report.<br />
5. Selezionare la tabella da usare e premere quin<strong>di</strong> OK.<br />
La finestra <strong>di</strong> <strong>di</strong>alogo <strong>di</strong> Quick Report<br />
6. Selezionare il formato dei campi, il titolo e le opzioni necessarie.<br />
7.<br />
Per selezionare campi per il modulo, scegliere Fields e completare la finestra <strong>di</strong> <strong>di</strong>alogo Field Picker<br />
La finestra <strong>di</strong> <strong>di</strong>alogo Field Picker .
8. Premere infine il tasto OK.<br />
Le opzioni scelte si rifleteranno nel formato del modulo.<br />
Esito delle operazioni <strong>di</strong> Quick Report in Report Designer<br />
Il modulo può essere salvato, visualizzato in anteprima e attivato così com'è.<br />
N.B. Quick Reports non include i campi generali al formato del modulo.<br />
Selezionare la fonte dei dati<br />
La fonte dei dati a cui si riferiscono i controlli nel modulo è facilmente definibile nel cosiddetto "data environment". E' possibile inoltre<br />
aggiungere tabelle o viste e or<strong>di</strong>nare i dati usando gli in<strong>di</strong>ci <strong>di</strong> queste ultime.<br />
Usare una vista come fonte dei dati<br />
Il "data environment" gestisce i dati nel seguente modo:<br />
● Apre le tabelle o le viste nel momento in cui il modulo viene aperto o, comunque, attivato.<br />
● Seleziona il set <strong>di</strong> dati richiesti dal report.<br />
● Chiude le tabelle al momento della chiusura del modulo.<br />
Per aggiungere una tabella o una vista al data environment<br />
1. Dal menu View scegliere Data Environment.<br />
2. Dal menu Data Environment scegliere Add.<br />
3. Nella finestra <strong>di</strong> <strong>di</strong>alogo Add Table or View selezionare un database.<br />
4.<br />
Nell'area Select scegliere Tables o Views.<br />
La selezione determina quali campi appariranno nella lista Tables in database.<br />
Data Environment Designer
5. Nella lista Tables in Database, selezionare una tabella o una vista.<br />
6.<br />
Premere quin<strong>di</strong> il tasto OK.<br />
Si può scegliere l'or<strong>di</strong>ne in cui appariranno i record nel modulo creando un in<strong>di</strong>ce per il data environment.<br />
Per creare un in<strong>di</strong>ce per il data environment<br />
1.<br />
2.<br />
3.<br />
4.<br />
Dal menù View, scegliere Data Environment e, quin<strong>di</strong>, Properties.<br />
Nella finestra Properties scegliere Cursor1 dalla casella Object.<br />
Scegliere la scheda Data e selezionare la proprietà Order.<br />
Digitare un nome per l'in<strong>di</strong>ce - oppure - Selezionare un in<strong>di</strong>ce dall'elenco degli in<strong>di</strong>ci <strong>di</strong>sponibili.<br />
Aggiungere controlli <strong>di</strong> campo<br />
Il proprio modulo può includere controlli <strong>di</strong> campo che rappresentano i valori <strong>di</strong> campi, variabili e calcoli.<br />
Per aggiungere campi <strong>di</strong> tabelle al "data environment "<br />
1.<br />
2.<br />
3.<br />
Aprire il data environment del modulo.<br />
Selezionare una tabella o una vista.<br />
Trascinare i campi all'interno della struttura.<br />
Per aggiungere campi <strong>di</strong> tabelle dalla barra degli strumenti<br />
1.<br />
Dalla barra e Report Controls inserire un controllo Field.<br />
2. Nella finestra <strong>di</strong> <strong>di</strong>alogo Report Expression scegliere il bottone a fianco della casella Expression.<br />
3. Nella casella Fields fare doppio-click sul nome del campo necessario.<br />
4.<br />
5.<br />
I nomi della tabella e del campo appariranno nella casella Expression for Field on Report .<br />
N.B. Se la casella Fields è vuota, aggiungere una tabella o una vista al data environment.<br />
Non è necessario mantenere nell'espressione l'alias del nome della tabella; si può cancellare oppure azzerare le opzioni Expression<br />
Builder.<br />
Premere il tasto OK.<br />
Selezionare infine OK nella finestra <strong>di</strong> <strong>di</strong>alogo Report Expression.<br />
Aggiungere controlli <strong>di</strong> etichetta<br />
I controlli <strong>di</strong> etichetta si riferiscono al tipo <strong>di</strong> testo che si desidera appaia nel modulo. Ad esempio l'etichetta "Grand Total" identifica i<br />
contenuti <strong>di</strong> un controllo <strong>di</strong> campo contenente un'espressione <strong>di</strong> totale.<br />
Per aggiungere un controllo <strong>di</strong> etichetta<br />
1. Scegliere il tasto Label dalla barra strumenti Report Controls.<br />
2. In Report Designer, fare click per posizionare il controllo.<br />
3. Digitare i caratteri per l'etichetta come se fosse un e<strong>di</strong>tor: usare il tasto INVIO per andare a capo e il menù E<strong>di</strong>t per tagliare, copiare e<br />
incollare testo.<br />
Per visualizzare un controllo <strong>di</strong> etichetta<br />
1.<br />
Scegliere il tasto Label in Report Designer e quin<strong>di</strong> fare click sull'etichetta da visualizzare.
2. Digita le eventuali mo<strong>di</strong>fiche.<br />
Dopo aver posizionato il testo è possibile mo<strong>di</strong>ficarne il carattere e il colore; per ulteriori informazioni in proposito vedere le sezioni<br />
"Mo<strong>di</strong>ficare il carattere" e "Mo<strong>di</strong>ficare il colore dei controlli" più avanti in questo capitolo.<br />
Aggiungere un campo Generale<br />
All'interno del modulo è possibile inserire un campo "Generale" contenente oggetti OLE.<br />
Per inserire un campo "Generale"<br />
1. Aggiungere un controllo Picture/OLE Bound in Report Designer.<br />
2. Nell'area Picture From selezionare Field.<br />
La finestra <strong>di</strong> <strong>di</strong>alogo Report Picture<br />
3. Nella casella Field <strong>di</strong>gitare il nome <strong>di</strong> un campo -oppure- Scegliere il tasto <strong>di</strong> <strong>di</strong>alogo <strong>di</strong> <strong>di</strong>alogo per selezionare il campo o la variabile.<br />
4. Scegliere OK.<br />
Il segnaposto per il campo Generale apparirà racchiuso in un'area personalizzabile. Di default l'immagine mantiene la sua<br />
<strong>di</strong>mensione originale.<br />
Selezionare, spostare e ri<strong>di</strong>mensionare i controlli <strong>di</strong> un modulo<br />
In un modulo contenente controlli già esistenti è possibile mo<strong>di</strong>ficarne il posizionamento e la <strong>di</strong>mensione. Ogni controllo è mo<strong>di</strong>ficabile<br />
in<strong>di</strong>vidualmente o per gruppi, gestibili come un'unica entità.<br />
Per spostare un controllo<br />
●<br />
Selezionare il controllo e trascinarlo in una nuova posizione all'interno <strong>di</strong> una barra <strong>di</strong> controllo.<br />
Il controllo si muove in modo incrementale all'interno della struttura. Gli incrementi si basano sulle impostazioni della griglia;<br />
per ignorare la griglia premere il tasto CTRL trascinando il controllo.<br />
Per selezionare più <strong>di</strong> un controllo<br />
●<br />
Trascinate per creare una griglia <strong>di</strong> selezione attorno ai controlli. Delle maniglie <strong>di</strong> selezione appariranno attorno ad ogni controllo.<br />
Mentre questi sono selezionati, potete spostarli, copiareli, o cancellarli tutti insieme.<br />
E’ possibile associare un gruppo <strong>di</strong> controlli insieme per più <strong>di</strong> uno scopo oltre a quello corrente, identificandoli come gruppo. Ad esempio<br />
potreste voler associare un controllo <strong>di</strong> etichetta ad un controllo <strong>di</strong> campo uno con l'altro, in modo da poterli spostare senza doverli selezionare<br />
separatamente. Questa caratteristica è utile anche dopo aver formattato ed allineato i controlli perchè preserva la loro posizione l’uno rispetto<br />
all’altro.<br />
Per raggruppare controlli insieme<br />
1.<br />
Selezionate i controlli che volete trattare come gruppo.
2. Dal menu Format scegliete Group.<br />
Le maniglie <strong>di</strong> selezione si spostano al <strong>di</strong> fuori dell'intero gruppo. Potete gestire quin<strong>di</strong> il gruppo o come se fosse una singola unità.<br />
Per separare un gruppo <strong>di</strong> controlli<br />
1.<br />
2.<br />
Selezionate un gruppo <strong>di</strong> controlli.<br />
Dal menu Format, scegliere Ungroup.<br />
Le maniglie <strong>di</strong> selezione appariranno attorno a ciascun dei controlli che costituivano il gruppo<br />
Una volta che un controllo è nel vostro layout, potete cambiare le sue <strong>di</strong>mensioni in<strong>di</strong>vidualmente oppure potete ri<strong>di</strong>mensionare il gruppo <strong>di</strong><br />
controlli in modo che combacino uno con l'altro. Potete ri<strong>di</strong>mensionare qualsiasi controllo <strong>di</strong> un modulo ad eccezione delle etichette; la loro<br />
<strong>di</strong>mensione è determinata dal testo, dal font e dalla <strong>di</strong>mensione dei punti.<br />
Per ri<strong>di</strong>mensionare un controllo<br />
❍<br />
Selezionate il controllo, quin<strong>di</strong> trascinate una delle maniglie <strong>di</strong> selezione in modo da ottenere la <strong>di</strong>mensione voluta.<br />
Per far combaciare la <strong>di</strong>mensione <strong>di</strong> più controlli<br />
1. Selezionate il controllo <strong>di</strong> cui volete ottenere le stesse <strong>di</strong>mensioni<br />
2. Dal menu Format scegliete Size.<br />
3. Scegliete le opzioni appropriate in modo da far combaciare larghezza, altezza e <strong>di</strong>mensione. I controlli si ri<strong>di</strong>mensioneranno in modo<br />
da combaciare con le opzioni selezionate.<br />
Copiare e cancellare i controlli-modulo<br />
Potete copiare e cancellare qualsiasi dei controlli presenti sulla layout in<strong>di</strong>vidualmente o come gruppo.<br />
Per copiare i controlli<br />
1. Selezionate i controlli<br />
2. Dal menu E<strong>di</strong>t scegliete Copy e quin<strong>di</strong> Paste. Una copia del controllo apparirà al <strong>di</strong> sotto della sua posizione<br />
3. Trascinate la copia nella posizione voluta.<br />
Per cancellare i controlli<br />
1. Selezionate i controlli.<br />
2. Dal menu E<strong>di</strong>t scegliete Cut oppure premete il tasto cancellazione.<br />
Allineare i controlli<br />
Potete allineare i controlli in relazione uno con l'altro oppure posizionarli secondo la griglia fornita da Report Designer. Potete allineare i<br />
controlli su un lato particolare oppure con il centro.<br />
Per allineare i controlli fra <strong>di</strong> loro<br />
1. Selezionate i controlli che volete allineare<br />
2. Dal menu Format menu, scegliete Align.<br />
3. Dal sottomenu scegliete l’opzione <strong>di</strong> allineamento appropriate. <strong>Visual</strong> FoxPro utilizza il controllo il cui angolo è più vicino alla <strong>di</strong>rezione<br />
selezionata come ancora per l'allineamento.<br />
Potete anche utilizzare e la barra degli strumenti Layout. Utilizzando questa barra potete allineare il controllo più lontano da quello<br />
selezionato premendo il tasto CTRL mentre cliccate il tasto <strong>di</strong> allineamento.<br />
Lo strumento <strong>di</strong> allineamento a sinistra
Allineate i controlli con un margine in modo che tutti controlli selezionati siano equi<strong>di</strong>stanti. I controlli che sono su una riga e sono selezionati<br />
per allinearsi con il loro lato destro o con il loro lato sinistro si sovrapporranno uno con l'altro. Allo stesso modo i controlli che sono in linea<br />
verticale e sono selezionati per allinearsi con la loro parte alta, o bassa, si sovrapporranno. Per maggiori informazioni sulle barra degli<br />
strumenti ricercate il nome della barra attraverso l'Help.<br />
Per centrare controllo all'interno della barra <strong>di</strong> controllo<br />
1. Selezionate i controlli che volete allineare<br />
2. Dal menu Format scegliete Align.<br />
3. Dal sottomenu scegliete Center Vertically or Center Horizontally. I controlli si sposteranno verticalmente o orizzontalmente alla loro<br />
rispettiva barra <strong>di</strong> controllo.<br />
Sistemare la posizione dei controlli<br />
Potete posizionare un controllo in una posizione specifica sulla pagina utilizzando la barra <strong>di</strong> stato o la griglia. Di base, i controlli si<br />
posizionano automaticamente alla griglia. Potete scegliere <strong>di</strong> <strong>di</strong>sattivare la funzione "calamita" oppure la visualizzazione della griglia. La<br />
griglia vi può aiutare nel posizionamento dei controlli.<br />
Per sistemare un controllo in una posizione specifica<br />
1. Dal menu View scegliere Show Position.<br />
2. Scegliete il controllo, quin<strong>di</strong> spostate il controllo nella posizione utilizzando le informazioni <strong>di</strong>sponibili sulla barra <strong>di</strong> stato.<br />
Per allineare i controlli manualmente<br />
●<br />
Dal menu Format deselezionare Snap to Grid.<br />
Per mostrare la griglia<br />
●<br />
Dal menu View, scegliete Grid Lines. La griglia apparirà sulle barra <strong>di</strong> controllo del modulo.<br />
Per mo<strong>di</strong>ficare le <strong>di</strong>mensioni della cella unitaria della griglia<br />
●<br />
Dal menu Format scegliete Set Grid Scale inserite il numero <strong>di</strong> pixel per la larghezza orizzontale e l'altezza verticale <strong>di</strong> ogni cella<br />
della griglia.
Raggruppare i dati sul vostro modulo<br />
Un volta progettata l'impostazione <strong>di</strong> base, potete decidere come raggruppare i records in base a certi<br />
campi o altri criteri che possono rendere più semplice la lettura.<br />
Il raggruppamento vi permette <strong>di</strong> separare i gruppi <strong>di</strong> raccordo visivamente e <strong>di</strong> mostrare dei riepiloghi<br />
<strong>di</strong> dati per ogni gruppo. L'interruzione del gruppo si basa su una espressione <strong>di</strong> raggruppamento.<br />
Questa espressione <strong>di</strong> solito si basa su campi <strong>di</strong> una o più tabelle ma può essere <strong>di</strong> qualsiasi complessità.<br />
Qualora vi siano dei gruppi, il vostro modulo avrà delle sezioni <strong>di</strong> intestazioni <strong>di</strong> gruppo e <strong>di</strong> piè <strong>di</strong><br />
pagina a cui voi potete aggiungere controlli.<br />
Solitamente le sezioni dell'intestazione contengono i controlli <strong>di</strong> campo utilizzati per ogni gruppo. Voi<br />
potete aggiungere linee, rettangoli, rettangoli arrotondati, o qualsiasi etichetta che volete fare apparire<br />
prima del primo record <strong>di</strong> un gruppo. Il gruppo piè <strong>di</strong> pagina contiene <strong>di</strong> solito i totali o altri sommari<br />
per quel gruppo.<br />
Potete anche specificare altre opzioni per il gruppo:<br />
● Stampare del testo sia nell'intestazione che nei piè <strong>di</strong> pagina per identificare gruppi specifici<br />
● Stampare ogni gruppo in una nuova pagina<br />
● Ridefinire il numero delle pagine quando i gruppi sono stampati su nuove pagine<br />
Se la sorgente dei dati è una tabella, i record saranno probabilmente or<strong>di</strong>nati in modo non appropriato<br />
per il raggruppamento. Potete rior<strong>di</strong>nare i dati impostando un in<strong>di</strong>ce per quella tabella, oppure<br />
utilizzando una vista or<strong>di</strong>nata o una query per la visualizzazione dei dati nel gruppo.<br />
L'impostazione della stampa non effettua nessuna organizzazione ma estrae i dati nell'or<strong>di</strong>ne in cui si<br />
trovano nella sorgente. L'organizzazione dei dati deve essere fatta attraverso delle viste o degli in<strong>di</strong>ci o<br />
altri mo<strong>di</strong> al <strong>di</strong> fuori del report.<br />
Aggiungere un singolo gruppo<br />
Una stampa <strong>di</strong> un singolo gruppo ha un suo livello <strong>di</strong> dati raggruppati in base a una espressione. Ad<br />
esempio, potete decidere un gruppo o in base al campo nazione in modo da stampare i dati <strong>di</strong> una stessa<br />
nazione insieme. La sorgente dei dati deve essere organizzata sulla base <strong>di</strong> quel campo.<br />
Per aggiungere un gruppo<br />
1.<br />
Dal menu Report scegliete Data Grouping.<br />
La finestra <strong>di</strong> <strong>di</strong>alogo Data Grouping
2.<br />
3.<br />
4.<br />
Nella casella del primo gruppo inserite l’espressione <strong>di</strong> raggruppamento.<br />
-oppure-<br />
Scegliete il tasto <strong>di</strong> <strong>di</strong>alogo per creare una espressione per mezzo <strong>di</strong> Expression Builder<br />
Nell’area Group properties area, selezionate la proprietà desiderata.<br />
Scegliete OK.<br />
Dopo aver aggiunto l'espressione, potete posizionare qualsiasi controllo che desiderate nelle sezioni. Di<br />
solito il controllo campo utilizzato per il raggruppamento è spostato dalla sezione "Dettaglio" alla<br />
sezione "Intestazione".<br />
Aggiungere ragggruppamenti con molti dati<br />
Potete definire fino a 20 livelli <strong>di</strong> raggruppamento all'interno <strong>di</strong> una stampa. I gruppi unificati sono<br />
molto utili per organizzare i dati con totali a <strong>di</strong>fferenti livelli.<br />
Per scegliere un livello <strong>di</strong> un gruppo valutate quanto spesso il valore può cambiare, quin<strong>di</strong> definite per<br />
primo il gruppo che cambia <strong>di</strong> più.<br />
Per esempio, la vostra stampa potrebbe aver bisogno <strong>di</strong> raggruppare i dati per ragione e quin<strong>di</strong> per città.<br />
Il valore <strong>di</strong> una città cambia più frequentemente rispetto al valore <strong>di</strong> una regione, quin<strong>di</strong> la città deve<br />
essere il primo criterio <strong>di</strong> raggruppamento e la regione il secondo. In questa stampa con più gruppi, la<br />
tabella deve essere organizzata e in<strong>di</strong>cizzata sulla chiave <strong>di</strong> espressione Regione+Città.<br />
Per aggiungere più raggruppamenti<br />
1.<br />
Dal menu Report scegliete Data Grouping.<br />
La finestra <strong>di</strong> <strong>di</strong>alogoData Grouping
2.<br />
3.<br />
4.<br />
5.<br />
Nella prima casella Group inserite l’espressione <strong>di</strong> gruppo.<br />
-oppure-<br />
Cliccate sul tasto <strong>di</strong> <strong>di</strong>alogo per creare un espressione con Expression Builder. Nell’area Group<br />
properties scegliete la proprietà che desiderate.<br />
Scegliete Insert e ripetete i passi 2 e 3 per ogni gruppo.<br />
Cliccate su OK.<br />
I gruppi vengono numerati nella lista Data Grouping nell'or<strong>di</strong>ne in cui sono creati. In Report Designer il<br />
nome delle sezioni dei gruppi contiene il numero del gruppo e un'espressione troncata per quel gruppo.<br />
Le intestazioni del gruppo e i piè <strong>di</strong> pagina con il numero più basso appaiono più vicino alla sezione<br />
"Dettaglio."<br />
Cambiare la sezione <strong>di</strong> un gruppo<br />
Potete cambiare l'espressione <strong>di</strong> un gruppo e le opzioni <strong>di</strong> stampa <strong>di</strong> un gruppo<br />
Per mo<strong>di</strong>ficare la sezione <strong>di</strong> un gruppo<br />
1. Dal menu Report scegliete Data Grouping.<br />
2. Nella finestra <strong>di</strong> <strong>di</strong>alogo Data Grouping <strong>di</strong>alog box selezionate il gruppo <strong>di</strong> espressione da mo<strong>di</strong>ficare.<br />
3. Inserite la nuova espressione<br />
-oppure-<br />
Scegliete il tasto <strong>di</strong> <strong>di</strong>alogo in modo da mo<strong>di</strong>ficare l'espressione attraverso Expression Builder<br />
4.<br />
Mo<strong>di</strong>ficate le opzioni <strong>di</strong> raggruppamento come necessario<br />
Proprietà <strong>di</strong> gruppo nella finestra <strong>di</strong> <strong>di</strong>alogo Data Grouping
5. Scegliete OK.<br />
6.<br />
Nella finestra <strong>di</strong> <strong>di</strong>alogo Data Grouping scegliete OK.<br />
Cancellare una sezione raggruppamento<br />
Se non avete più necessità <strong>di</strong> un particolare gruppo sulla vostra stampa, potete cancellarlo.<br />
Per cancellare una sezione <strong>di</strong> gruppo<br />
1.<br />
2.<br />
3.<br />
Dal menu Report scegliete Data Grouping<br />
Selezionate il gruppo che volete cancellare<br />
Scegliete Delete.<br />
La sezione del gruppo viene rimossa dalla stampa nel caso in cui il gruppo conteneva<br />
controlli e verrà richiesto se dovete cancellare anche i gruppi.<br />
Cambiare l’or<strong>di</strong>ne <strong>di</strong> raggruppamento<br />
Potete cambiare l'or<strong>di</strong>ne dei gruppi in un modulo <strong>di</strong> stampa una volta che essi sono definiti. Quando i<br />
gruppi sono riorganizzati, tutti i controlli definiti in un gruppo sono spostati nella nuova posizione.<br />
Rior<strong>di</strong>nando i gruppi non si mo<strong>di</strong>fica qualsiasi precedente definizione dei controlli. Le celle e le linee<br />
sono state posizionate relativamente all'inizio o alla fine <strong>di</strong> una sezione <strong>di</strong> gruppo rimarranno ancorati<br />
alla sezione.<br />
Per mo<strong>di</strong>ficare l'or<strong>di</strong>ne dei gruppi<br />
1. Dal menu Report scegliete Data Grouping.<br />
2.<br />
Selezionate il tasto <strong>di</strong> spostamento alla sinistra del gruppo che volete spostare e trascinatelo nella nuova<br />
posizione.
Personalizzare i vostri moduli<br />
Potete mo<strong>di</strong>ficare l'ambiente dati, l'impostazione della pagina e dei controlli del modulo. L'ambiente dati<br />
definisce il sorgente dei dati da includere nella stampa; l'impostazione della pagina definisce un aspetto della<br />
pagina <strong>di</strong> stampa e delle sezioni, i controlli della stampa definiscono gli oggetti che appaiono sulla pagina<br />
Definizione della stampa<br />
Quando progettato un report, <strong>di</strong> solito avete idea <strong>di</strong> come dovrà apparire la pagina. Ad esempio, sapete i<br />
margini, il tipo <strong>di</strong> carta e l'aspetto che desiderate. Questa sezione descrive l'impostazione dei margini,<br />
l'orientamento della carta e l'altezza delle sezioni del modulo.<br />
Impostare i margini, la <strong>di</strong>mensione della carta, e l'orientamento<br />
Potete impostare il margine <strong>di</strong> sinistro, le <strong>di</strong>mensioni della carta e l'orientamento delle vostre stampe, così come<br />
la larghezza delle colonne e lo spazio fra le colonne per una stampa su colonne. In questo contesto la parola<br />
"colonne" si riferisce al numero dei record che saranno stampati attraverso la pagina e non al numero dei campi<br />
per un singolo report. Report Designer non mostra queste impostazioni; egli mostra solamente l'area all'interno<br />
del quale saranno contenuti i record in colonna quin<strong>di</strong>, se la vostra stampa ha delle colonne e voi mo<strong>di</strong>ficate il<br />
margine <strong>di</strong> sinistra, la larghezza della colonna sarà automaticamente mo<strong>di</strong>ficata per adeguarsi al nuovo margine.<br />
Se mo<strong>di</strong>ficate la <strong>di</strong>mensione della carta e l'orientamento, assicuratevi che quest’ultimo sia adeguato al tipo <strong>di</strong><br />
carta che selezionate. Ad esempio, se selezionate una busta, l'orientamento dev'essere quello verticale<br />
Per impostare il margine <strong>di</strong> sinistra<br />
1.<br />
2.<br />
3.<br />
4.<br />
Dal menu File scegliete Page Setup.<br />
La finestra <strong>di</strong> <strong>di</strong>alogo Page Setup<br />
Per impostare il margine, inserite il numero del margine nella casella <strong>di</strong> testo Left Margin. L'immagine<br />
della pagina si mo<strong>di</strong>ficherà per mostrare il nuovo margine.<br />
Per impostare le <strong>di</strong>mensioni della carta, scegliete Print Setup.<br />
Nella finestra <strong>di</strong> <strong>di</strong>alogo Print Setup selezionate le <strong>di</strong>mensioni della carta dalla lista Size.
5.<br />
6.<br />
Per selezionare l'orientamento della carta, scegliete un orientamento nell'area Orientation, e quin<strong>di</strong><br />
Cliccate su OK<br />
Nella finestra <strong>di</strong> <strong>di</strong>alogo Page Setup Cliccate su OK<br />
Definire l'intestazione e il piè <strong>di</strong> pagina<br />
I controlli sistemati nella intestazione o nel piè <strong>di</strong> pagina appariranno in ogni pagina della stampa. Un modulo <strong>di</strong><br />
stampa che contiene molte pagine deve includere il nome della stampa, il numero delle pagine, la data, e le<br />
etichette (se <strong>di</strong>sponibili) nell’ intestazione e nel piè <strong>di</strong> pagina.<br />
Definire la sezione dettaglio<br />
Tipicamente, i controlli posizionati nella sezione dettaglio vengono stampati una volta per ogni singolo record.<br />
Aggiungere sezione titoli e sommario<br />
La sezione titolo contiene le informazioni che vengono stampate una volta all'inizio del modulo e la sezione<br />
sommario contiene le informazioni che vengono stampate una volta alla fine. Sia la sezione sommario che<br />
quella del titolo possono essere nella loro propria pagina. I campi con espressioni <strong>di</strong> totale <strong>di</strong>ventano "gran<br />
totale" quando si posizionano nella sezione sommario.<br />
Per aggiungere una sezione titolo o sommario<br />
1. Dal menu Report scegliete Title/Summary.<br />
2. Selezionate la sezione che volete<br />
3. Se volete che la sezione appaia nella propria pagina selezionate "Nuova pagina"<br />
4. Scegliete OK.<br />
Report Designer mostrerà le nuove sezioni<br />
Formattare i controlli <strong>di</strong> campo<br />
Una volta che avete inserito un controllo <strong>di</strong> campo, potete mo<strong>di</strong>ficare il formato dei dati <strong>di</strong> quel controllo. Il tipo<br />
<strong>di</strong> dati può essere; carattere, numerico o data. Ciascuno <strong>di</strong> questi tipi <strong>di</strong> dati ha le sue opzioni <strong>di</strong> formato, incluse<br />
le opzioni per creare una propria impostazione. Il formato determina come i dati saranno stampati o visualizzati.<br />
Tipicamente, potreste convertire tutti caratteri alfanumerici nel loro equivalente maiuscolo, inserire le virgolette<br />
o il punto decimale in un campo numerico e mostrare i caratteri numerici in formato valuta, oppure convertire<br />
una data da un formato a un altro.<br />
Definire il formato <strong>di</strong> un controllo campo<br />
Potete impostare una vasta serie <strong>di</strong> opzioni per ogni tipo <strong>di</strong> dati<br />
Per impostare un controllo campo<br />
1.<br />
2.<br />
3.<br />
4.<br />
fate un doppio click sul controllo Field.<br />
Nella finestra <strong>di</strong> <strong>di</strong>alogo Report Expression scegliete il tasto <strong>di</strong> <strong>di</strong>alogo dopo la casella Format.<br />
Nella finestra <strong>di</strong> <strong>di</strong>alogo Format, selezionate il tipo <strong>di</strong> dati per il campo, Character, Numeric, o Date.<br />
L’area E<strong>di</strong>ting mostra le opzioni <strong>di</strong>sponibili <strong>di</strong> formattazione per quel tipo <strong>di</strong> dati.<br />
Nota Questo tipo <strong>di</strong> dati si applica solamente sui controlli <strong>di</strong> stampa. Essi si ripercuotono sul tipo <strong>di</strong> dati<br />
o sulle espressioni ma non cambiano il tipo <strong>di</strong> dati nel campo della tabella.<br />
Selezionate la giustificazione e le opzioni <strong>di</strong> formato o che desiderate.<br />
La finestra <strong>di</strong> <strong>di</strong>alogo Format mostrerà <strong>di</strong>verse opzioni a seconda del tipo <strong>di</strong> dato scelto. E' anche<br />
possibile creare un nuovo stile inserendo i caratteri nella finestra <strong>di</strong> <strong>di</strong>alogo Format. Per maggiori<br />
informazioni cercare la voce "Tipi <strong>di</strong> formato"
Giustificare il testo in un campo<br />
Potete giustificare il testo contenuto all'interno <strong>di</strong> un controllo in due mo<strong>di</strong>. Questa impostazione non mo<strong>di</strong>fica<br />
la posizione del controllo sul modulo, ma solamente il contenuto all'interno del controllo.<br />
Per giustificare il testo in un controllo campo<br />
1.<br />
2.<br />
3.<br />
Selezionati controllo che volete mo<strong>di</strong>ficare.<br />
Dal menu Format scegliete Text Alignment.<br />
Dal sotto-menu, scegliete gli appropriati coman<strong>di</strong>.<br />
Per giustificare il testo in un campo<br />
1.<br />
2.<br />
3.<br />
4.<br />
Fate un doppio click nel controllo del campo<br />
Nella finestra <strong>di</strong> <strong>di</strong>alogo Report Expression scegliete il tasto <strong>di</strong> <strong>di</strong>alogo dopo la casella Format.<br />
Finestra <strong>di</strong> <strong>di</strong>alogo Format per una espressione numerica<br />
Nella finestra <strong>di</strong> <strong>di</strong>alogo Format selezionate il tipo <strong>di</strong> dati per quel campo: Character, Numeric, or<br />
Date.<br />
Selezionate la giustificazione e le opzioni <strong>di</strong> formato che volete<br />
Mo<strong>di</strong>ficare i font<br />
Potete mo<strong>di</strong>ficare i font e la <strong>di</strong>mensione del testo per ogni controllo <strong>di</strong> campo o etichetta oppure potete<br />
mo<strong>di</strong>ficare il font <strong>di</strong> default per la stampa<br />
Per mo<strong>di</strong>ficare font e <strong>di</strong>mensioni carattere <strong>di</strong> una stampa<br />
1. Selezionate il controllo<br />
2. Dal menu Format selezionare Font.<br />
Apparirà la finestra <strong>di</strong> <strong>di</strong>alogo Font.<br />
3.<br />
Selezionate il font appropriato e la <strong>di</strong>mensione dei punti, e quin<strong>di</strong> Cliccate su OK
Per mo<strong>di</strong>ficare il font <strong>di</strong> default<br />
1.<br />
2.<br />
Dal menu Report selezionate Default Font<br />
Nella finestra <strong>di</strong> <strong>di</strong>alogo font selezionate il font appropriato e la <strong>di</strong>mensione in punti che volete<br />
impostare come <strong>di</strong> default e quin<strong>di</strong> Cliccate su ok. Solamente i controlli inseriti dopo una vostra<br />
mo<strong>di</strong>fica per i font <strong>di</strong> default saranno influenzati da questa nuova impostazione.<br />
Aggiungere linee, rettangoli, cerchi<br />
Linee, rettangoli, e cerchi possono rendere più attraente le vostre stampe. Potete utilizzarli per separare delle<br />
sezioni o per enfatizzarne delle altre<br />
Disegnare delle linee<br />
Potete aggiungere delle linee verticali o orizzontali ai vostre report con Line Control. Spesso potreste avere la<br />
necessità <strong>di</strong> inserire delle linee in mezzo a dei dettagli nel corpo del vostro report e le informazioni contenute<br />
nell'intestazione e nel piè <strong>di</strong> pagina<br />
Per <strong>di</strong>segnare una linea<br />
1.<br />
2.<br />
Dalla barra strumenti Report Controls scegliete il tasto Line.<br />
Da Report Designer, trascinate per <strong>di</strong>mensionare la linea<br />
Dopo aver <strong>di</strong>segnato la linea, la potete spostare o ri<strong>di</strong>mensionare, o potete mo<strong>di</strong>ficare il suo spessore e il suo<br />
colore.<br />
Disegnare dei rettangoli<br />
Potete <strong>di</strong>segnare dei rettangoli sul vostro Layout in modo da organizzare le informazioni che vengono stampate.<br />
Potete utilizzarli per creare dei bor<strong>di</strong> attorno alle vostre stampe, attorno a delle sezioni, attorno ai controlli, ecc.<br />
Per <strong>di</strong>segnare un rettangolo<br />
1.<br />
2.<br />
Dalla barra degli strumenti Report Control scegliete il tasto Rectangle<br />
In Report Designer, trascinare per creare il rettangolo.<br />
Disegnare rettangoli arrotondati e cerchi<br />
Potete <strong>di</strong>segnare cerchi e rettangoli con una serie <strong>di</strong> angoli arrotondati<br />
Per <strong>di</strong>segnare un rettangolo o cerchio<br />
1. Dalla barra degli strumenti Report Control scegliete il tasto Rounded Rectangle.<br />
2. In Report Designer trascinare per creare il controllo.<br />
3.<br />
Fate un doppio click sul controllo<br />
Finestra <strong>di</strong> <strong>di</strong>alogo Round Rectangle
4.<br />
5.<br />
Nell’area Style selezionate lo stile dell'angolo che desiderate.<br />
Scegliete OK.<br />
Mo<strong>di</strong>ficare lo spessore lo stile delle linee<br />
Potete mo<strong>di</strong>ficare lo spessore delle linee utilizzate orizzontalmente o verticalmente, dei rettangoli, dei rettangoli<br />
con angolo arrotondato, dal sottilissimo fino a sei punti <strong>di</strong> spessore. Potete anche mo<strong>di</strong>ficare lo stile della linea<br />
da punteggiata a una combinazione <strong>di</strong> punti e linee.<br />
Per mo<strong>di</strong>ficare le <strong>di</strong>mensioni e lo stile <strong>di</strong> una linea<br />
1. Selezionate la linea, rettangolo, o il controllo con angolo arrotondato che volete mo<strong>di</strong>ficare.<br />
2. Dal menu Format scegliete Pen.<br />
3. Dal sottomenu selezionate l’appropriato stile e <strong>di</strong>mensione.<br />
Aggiungere un'immagine<br />
Potete inserire un immagine come parte <strong>di</strong> una stampa. Ad esempio, il logo <strong>di</strong> una azienda può apparire<br />
nell'intestazione <strong>di</strong> una pagina o <strong>di</strong> una fattura. Le immagini <strong>di</strong> un file sono statiche, esse non cambiano per ogni<br />
record o gruppo <strong>di</strong> record. Se volete mo<strong>di</strong>ficare l'immagine <strong>di</strong>pendentemente dai record, inserite invece un<br />
campo General.<br />
Per aggiugere un immagine<br />
1. Dalla barra degli strumenti Report Controls, scegliete Picture/OLE Bound Control.<br />
2.<br />
In Report Designer, trascinate per <strong>di</strong>mensionare l’immagine.<br />
Finestra <strong>di</strong> <strong>di</strong>alogo Report Picture
3.<br />
4.<br />
5.<br />
Nell’area Picture from selezionate File e quin<strong>di</strong> in<strong>di</strong>cate l’origine<br />
-oppure-<br />
Cliccate sul tasto <strong>di</strong> <strong>di</strong>alogo per selezionare il file<br />
Se appropriato, impostate <strong>di</strong>mensione, posizione, e opzioni <strong>di</strong> stampa.<br />
Scegliete OK.<br />
Mo<strong>di</strong>ficare il colore dei controlli<br />
Potete cambiare il colore <strong>di</strong> un campo, etichetta, linea, o rettangolo.<br />
Per cambiare i colori<br />
1.<br />
2.<br />
3.<br />
Selezionare il controllo da mo<strong>di</strong>ficare.<br />
Nella barra degli strumenti Color Palette, scegliete Foreground Color o Background Color.<br />
Selezionate il colore che desiderate.<br />
Aggiungere un commento a un controllo<br />
Mentre create o mo<strong>di</strong>ficate un controllo potreste volere includere una descrizione. La finestra <strong>di</strong> <strong>di</strong>alogo <strong>di</strong> ogni<br />
controllo offre una casella per i commenti. Questi commenti vengono salvati all'interno del layout ma non<br />
appaiono sulla stampa.<br />
Per aggiungere un commento a un controllo
1. Fate doppio click sul controllo.<br />
2.<br />
Nella finestra <strong>di</strong> <strong>di</strong>alogo del controllo, inserite il commento nella casella Comment.<br />
3.<br />
Scegliete OK.
Anteprima e stampa dei vostri report o delle vostre etichette<br />
Una volta che avete iniziato a impostare la vostra stampa, potete visualizzare una anteprima dei risultati del vostro lavoro oppure potete effettuare la<br />
stampa. L'anteprima è possibile in qualsiasi momento della progettazione.<br />
Anteprima dei risultati<br />
Con l'anteprima della stampa, potete visualizzare come apparirà la stampa senza stamparla.<br />
Ad esempio, potete verificare l'allineamento e il posizionamento delle colonne dei dati, o verificare se la stampa fornisce i dati desiderati. Voi avete<br />
due possibilità: visualizzare l'intera pagina o solamente una porzione della pagina.<br />
La finestra <strong>di</strong> anteprima alla propria barra degli strumenti con tasti che vi spostano da pagina pagina.<br />
Attenzione: se ottenete il messaggio: volete mo<strong>di</strong>ficare i cambiamenti del vostro file? Voi avrete selezionato <strong>di</strong> chiudere non solo l'anteprima ma<br />
anche la progettazione in corso. Potete selezionare cancella per ritornare in anteprima oppure Salva per salvare i vostri cambiamenti e chiudere il<br />
file; se voi selezionate No, qualsiasi cambiamento abbiate fatto sul l'impostazione non sarà salvato.<br />
Per avere l'anteprima dei risultati<br />
1.<br />
Dal menu View scegliete Preview.<br />
Anteprima del Report<br />
2. Nella barra degli strumenti Print Preview scegliete Previous Page o Next Page per cambiare pagina.<br />
3. Per mo<strong>di</strong>ficare la <strong>di</strong>mensione della visualizzazione, scegliete Zoom.<br />
4. Per stampare il report scegliete Print.<br />
5. Per tornare alla progettazione cliccate su Close Preview.<br />
Stampa dei report<br />
La stampa o le etichette che voi avete creato utilizzando il Report Designer, è una serie <strong>di</strong> coman<strong>di</strong> che vi consente <strong>di</strong> impostare i dati in modo<br />
gradevole per la stampa. Egli processa i dati nell'or<strong>di</strong>ne in cui appaiono nel sorgente. Se utilizzate i dati <strong>di</strong>rettamente da una tabella, i dati non<br />
vengono estratti organizzati secondo i vari gruppi <strong>di</strong>sponibili nel layout. Prima <strong>di</strong> passare alla stampa, dovete verificare che i dati del sorgente siano<br />
organizzati e or<strong>di</strong>nati nel modo appropriato. Se la tabella è parte <strong>di</strong> un database, create una vista e aggiungetela al Report Data environment. La<br />
vista or<strong>di</strong>na i dati al posto vostro. Se i dati vengono da una Free Table potete creare una query che usa la stampa come destinazione.<br />
Per stampare un report<br />
1. Dal menu File cliccate su Print.<br />
2. Cliccate su OK.<br />
Nota Se l'ambiente dati non è impostato, si aprirà una finestra <strong>di</strong> <strong>di</strong>alogo Open con una lista <strong>di</strong> tabelle da cui potete selezionare i dati,<br />
<strong>Visual</strong> FoxPro invierà il report alla stampante.
Creare i form (moduli - maschera)<br />
I form mostrano i campi e i records nelle vostre tabelle e nelle viste, e <strong>di</strong> solito, includono i controlli per muoversi fra<br />
i vari records<br />
Potete creare form i <strong>Visual</strong> FoxPro in uno <strong>di</strong> questi mo<strong>di</strong>:<br />
● Utilizzate i form wizard per creare un form pronto all’uso.<br />
● Scegliete Quick Form nel menu Form per creare un semplice form che potete personalizzare aggiungendo<br />
vostri controlli.<br />
● Utilizzate il Form Designer per mo<strong>di</strong>ficare dei form esistenti o per creare i vostri form.<br />
Utilizzare il Form Wizard<br />
Ogni volta che intendete creare un nuovo form, potete utilizzare il wizard per farvi aiutare. Il wizard formerà una<br />
serie <strong>di</strong> domande per aiutarvi a crearlo e per crearlo utilizzerà le vostre risposte. Potete utilizzare <strong>di</strong>fferenti stili e<br />
opzioni e avere delle anteprime prima <strong>di</strong> crearlo.<br />
Per creare un form con un wizard<br />
1. Nel Project Manager, selezionate la scheda Document e quin<strong>di</strong> Forms.<br />
2. Scegliete New.<br />
3. Scegliete quin<strong>di</strong> Form Wizard.<br />
4. Scegliete il modello <strong>di</strong> form che intendete creare.<br />
5. Seguite le istruzioni che appariranno sullo schermo.<br />
Sono <strong>di</strong>sponibili due generatori wizard per aiutarvi a creare form.<br />
Potete anche accedere al form wizard dal menu scegliendo il comando Wizard dal menu Tools, e quin<strong>di</strong> scegliendo la<br />
voce Form.<br />
<strong>Visual</strong> FoxPro fornisce due <strong>di</strong>fferenti wizard per i form:<br />
● Per creare un form <strong>di</strong> base per una tabella, scegliete il Form Wizard<br />
● Per creare un form che incorpora dati da due tabelle unite in una relazione uno-a-molti, scegliete<br />
One-to-Many-Form-Wizard.<br />
I form che create con il wizard hanno un set <strong>di</strong> strumenti <strong>di</strong> navigazioni in modo da visualizzare <strong>di</strong>fferenti record nel<br />
form, e<strong>di</strong>tarli, cercarli, ecc. ecc. il wizard può utilizzare maschere <strong>di</strong> inserimento e formattazioni immagazzinati nel<br />
database.
Avviare il Form Designer<br />
Se desiderate creare il vostro form senza utilizzare il wizard, dovete utilizzare il Form Designer. Con il Form<br />
Designer, potete aggiungere campi e controlli nel vostro form, e personalizzarli successivamente.<br />
Il comando Quick Form è <strong>di</strong>sponibile per velocizzare il processo <strong>di</strong> creazione <strong>di</strong> un form, esso attiva il Form Builder,<br />
che aggiunge i campi selezionati e le viste.<br />
Per creare un nuovo form<br />
1. Dal Project Manager, scegliete la scheda Document.<br />
2. Selezionate l’icona Forms.<br />
3. Scegliete New.<br />
4. Selezionate New Form.<br />
Apparirà quin<strong>di</strong> la finestra Form Designer così potete iniziare a creare il vostro form.<br />
La finestra Form Designer<br />
Aggiungere velocemente Campi<br />
Quando desiderate aggiungere velocemente campi da una tabella o da una vista in un form, scegliete Quick Form dal<br />
menu Form. Quick Form avvia il Form Builder, che aggiunge i campi selezionati <strong>di</strong> una tabella o da una vista nel<br />
vostro form, utilizzando lo stile che desiderate.<br />
Il Form Builder vi aiuta a creare un form da una tabella o da una vista.
●<br />
●<br />
●<br />
Per aggiungere campi a un form con il Form Builder<br />
1. Nel Form Designer, selezionate Quick Form dal menu Form.<br />
2. Fate le scelte riguardanti lo stile nel Form Builder e cliccate su OK per generare il form.<br />
Il Form Builder crea il form senza controlli <strong>di</strong> navigazione, così dovrete aggiungere i vostri. Potete anche utilizzare il<br />
Control Builder allo scopo, oppure potete scegliere quelli <strong>di</strong>sponibili nella libreria <strong>di</strong> controlli forniti da <strong>Visual</strong><br />
FoxPro.<br />
Salvare i Forms<br />
Quando il form è terminato potete salvarli per un futuro uso.<br />
Per salvare un form<br />
Nel Form Designer, scegliete Save dal menu File.<br />
I form vengono salvati con l’estensione .scx<br />
Utilizzare un Form<br />
Una volta salvato un form, potete avviarlo per vedere come si comporta.<br />
Per utilizzare un form<br />
Nel Project Manager, selezionate il nome <strong>di</strong> un form nella scheda Documents e quin<strong>di</strong> cliccate su Run.<br />
-oppure-<br />
Dal menu Form, scegliete Run Form.<br />
Potete anche utilizzare il tasto Run dalla barra degli strumenti standard.<br />
Suggerimento - quando avviate un form, potete passare velocemente alla modalità progettazione cliccando su<br />
Mo<strong>di</strong>fy Form nella barra strumenti standard
Aggiungere controlli ad un Form<br />
Potete aggiungere nuovi controlli selezionandoli dalla barra degli strumenti Form Controls e posizionandoli nella<br />
finestra del Form Designer. Ad esempio, potreste voler aggiungere nuove etichette per i campi del form, nuovi<br />
controlli come bottoni, caselle <strong>di</strong> testo, liste e così via, oppure immagini o linee e forme per migliorare l’aspetto<br />
del form.<br />
Per aggiungere un controllo ad un form<br />
1. Scegliete un controllo nella barra degli strumenti Form Controls toolbar.<br />
2. Nella finestra del Form Designer, trascinate il mouse in modo da creare un rettangolo dove volete sistemare il<br />
controllo, oppure cliccate per creare un controllo con <strong>di</strong>mensioni preimpostate.<br />
3. Il nuovo controllo apparirà dove siete posizionati. Potete quin<strong>di</strong> spostarlo nella posizione finale sul form e<br />
ri<strong>di</strong>mensionarlo per come necessario.<br />
Se avete bisogno <strong>di</strong> aiuto per aggiungere un controllo potete utilizzare un builder per aggiungerlo e per farlo<br />
lavorare nel form, oppure potete aggiungere i controlli utilizzando la barra degli strumenti Form Controls e la<br />
finestra delle proprietà.<br />
Aggiungere controlli tramite il Builder<br />
Così come i wizard possono essere utilizzati per costruire i moduli form molto velocemente, i builder possono<br />
essere utilizzati per aggiungere i controlli con la stessa facilità. Il buider porrà una serie <strong>di</strong> domande in relazione al<br />
controllo che volete aggiungere al form e imposterà le giuste proprietà in modo da far funzionare il controllo come<br />
desiderato.<br />
Ad esempio. Se volete aggiungere un finestra per il testo in un form, il builder chiede che stile <strong>di</strong> testo desiderate e<br />
quale campo della tabella deve mostrare. Per accedere ai Builders ci sono uno o due mo<strong>di</strong>: dal menu scorciatoia<br />
del Form Designer, oppure attivando il tasto lock del builder nella barra degli strumenti Form Control.<br />
Per aggiungere un controllo tramite un builder<br />
1. Nella barra degli strumenti Form Controls selezionate il tasto Builder Lock.<br />
2. Selezionate il controllo che desiderate dalla barra degli strumenti Form Controls, e <strong>di</strong>segnatelo sul form.<br />
3. Compilate le informazioni nelle schede del buider.<br />
Aggiungere campi ad un Form con il Form Builder<br />
Un modo veloce per aggiungere un nuovo campo ad un form è quello <strong>di</strong> utilizzare il Form Builder. Anche se avete<br />
già dei campi nel vostro form, potete aggiungere nuovi campi che si allineino allo stile degli altri campi esistenti.<br />
Potete anche scegliere sorgenti <strong>di</strong> dati <strong>di</strong>fferenti per il campo che aggiungete al form ad esempio da altre tabelle o<br />
viste.<br />
Per aggiungere campi ad un form<br />
1. Nel Project Manager, aprite il form.<br />
2. Dal menu del Form, scegliete Quick Form. Apparirà il Form Builder.<br />
3. Nella scheda Style, selezionate lo stile desiderato per il nuovo controllo.<br />
4. Nella scheda Field Selection, selezionate la sorgente dei dati, e il o i campi che volete aggiungere.<br />
5. Cliccate su OK.<br />
Utilizzare i Builders per tutti i controlli<br />
Selezionando il tasto Builder Lock nella barra degli strumenti Form Control, potete automaticamente utilizzare un<br />
control builder ogni volta che aggiungete un controllo ad un form.<br />
Per attivare il Builder<br />
●<br />
Nella barra strumenti Form Control cliccate sul tasto Builder Lock.
Aggiungere controlli in un form tramite il Component Gallery<br />
Potete utilizzare il Component Gallery per aggiungere velocemente controlli speciali e oggetti in un form. Il<br />
Component Galleri contiene dozzine <strong>di</strong> oggetti e controlli speciali che possono ridurre notevolmente i lavoro <strong>di</strong><br />
co<strong>di</strong>fica on moduli form molto specializzati.<br />
Per aprire il Component Gallery.<br />
●<br />
Da menu Tools, scegliete Component Gallery.<br />
Quando il Component Gallery è aperto, potete trascinare i controlli speciali e gli oggetti dal component Gallery e<br />
incollarli nel form attivo.<br />
Aggiungere controlli a un Form generato con wizard.<br />
Se create un form con uno dei wizard <strong>di</strong>sponibili e quin<strong>di</strong> desiderate aggiungervi dei controlli, potete far si che lo<br />
stile del nuovo controllo sia identico allo stile dei controlli presenti nel form utilizzando i controlli nella libreria<br />
wizard controls, Wizstyle.vcx.<br />
Quando aprite la libreria wizards control, i controlli wizard-style (come: chiselfield, embossedmemo,<br />
e così via) sono <strong>di</strong>sponibili nella barra degli strumenti Form Controls. Per scoprire quali controlli utilizzare,<br />
selezionate un controllo esistente e osservate la sua classe e la sua libreria. Per esempio, un wizard per campi<br />
standard si deve trovare nella classe Standardfield class, che si trova nel Wizstyle.vcx.<br />
Suggerimento: Utilizzate ToolTips nella barra degli strumenti Form Controls per aiutarvi ad identificare il nome<br />
della classe.<br />
Per confrontare i controlli in un form generato con wizard.<br />
1. Nel Form Designer, aprite il form.<br />
2. Dalla barra degli strumenti Form Controls, scegliete il tasto View Classes e cliccate su Add.<br />
3. Nella finestra <strong>di</strong> <strong>di</strong>alogo Open, localizzate Wizstyle.vcx nella sotto <strong>di</strong>rectory Wizards e cliccate su OK.<br />
4. Nella barra degli strumenti Form Controls, selezionate il controllo che corrisponde ad un controllo esistente nel<br />
form e trascinatelo nel form per aggiungerlo.<br />
Nota: Se spostate un form in un nuova <strong>di</strong>rectory in un altro sistema, dovete anche trasferire il la libreria dei<br />
controlli associata con quel form.<br />
Aggiungere Controlli e impostare le proprietà dei controlli<br />
Per aggiungere un nuovo controllo ad un form senza utilizzare un builder, basta semplicemente selezionare il<br />
controllo desiderato dalla barra strumenti del Form Control e trascinarlo nel from.<br />
Alcuni controlli come etichetta, forme e linee. Non mostrano dati da una tabella o da una vista, e non effettuano<br />
alcuna azione. Ma la maggior parte degli altri controlli lo fanno, e quin<strong>di</strong> occorre informare VFP quali campi<br />
volete che mostrino, o quale azione volete che essi eseguano. Ad esempio, <strong>di</strong> solito si desidera che una casella <strong>di</strong><br />
testo mostri il contenuto <strong>di</strong> un campo, e in tasto esegua un determinato comando.<br />
Per far si che i controlli lavorino in modo corretto nei vostri fom, è necessario associarli, o unirli con una tabella e<br />
un campo che devono mostrare. I controlli vengono collegati alla sorgente controllata. I dati che volete che questi<br />
controlli mostrino o gestiscano vengono impostati tramite la proprietà ControlSource.<br />
Ad esempio, se volete aggiungere una casella <strong>di</strong> testo in un form, dovete <strong>di</strong>re a VFP dove dovrà attenere i valori <strong>di</strong><br />
testo impostando la proprietà ControlSource in modo che essa punti ad uno specifico campo <strong>di</strong> una tabella o <strong>di</strong> una<br />
vista, potete poi impostare anche il modo con cui viene visualizzato il controllo stesso.<br />
Uno strumento chiamato Data Environment Designer rende estremamente semplice aggiungere un nuovo campo<br />
ad un form e impostare le proprietà per quel campo.<br />
Impostare l’ambiente dei dati<br />
Sistemando le tabelle e le viste associate con le vostre form nel data environment rendete semplice il loro<br />
collegamento a nuovi controlli per i campi della tabella o della vista.
Quando avete terminato <strong>di</strong> impostare l’ambiente dati, le proprietà del ControlSource mostrerà i campi <strong>di</strong>sponibili<br />
in modo da rendere possibile, con la semplice selezione, il collegamento al controllo associato.<br />
Se state mo<strong>di</strong>ficando un form creato con un wizard, potrete constatare che il il data environment è popolato da<br />
tabelle o viste che avete impostato tramite il form wizard.<br />
Per mostrare l’ambiente dati ( data environment )<br />
●<br />
Nel Form Designer, scegliete Data Environment dal menu View.<br />
Finestra progetto Data Environment Designer<br />
Per aggiungere una tabella o una vista nel data environment<br />
Dal menu Data Environment, scegliete Add.<br />
1.<br />
2.<br />
3.<br />
Nota se il data environment è vuoto, la finestra <strong>di</strong> <strong>di</strong>alogo Add Table or View apparirà<br />
automaticamente.<br />
Nella finestra <strong>di</strong> <strong>di</strong>alogo Add Table or View, selezionate Tables or Views.<br />
Selezionate la tabella o la vista che volete aggiungere.<br />
Cliccate su Add.<br />
Nota Per aggiungere delle viste al Data Environment Designer, dovete avere un database aperto.<br />
Aggiungere un controllo ad un Form<br />
La barra degli strumenti del Form Control rende semplifica l’aggiunta <strong>di</strong> un nuovo controllo ai vostri form in<br />
modo che possiate mostrare un campo dalla vostra tabella o dalla vostra vista.. Dovrete selezionare il tipo <strong>di</strong><br />
controllo appropriato al tipo <strong>di</strong> dati che intendete visualizzare. Ad esempio, usate un controllo casella <strong>di</strong> testo, per<br />
mostrare un campo <strong>di</strong> una sola riga, oppure una controllo finestra <strong>di</strong> e<strong>di</strong>ting (e<strong>di</strong>t box) per visualizzare un memo.<br />
La finestra proprietà mostra tutte le proprietà dei controlli che aggiungete al form. Utilizzate la proprietà nella<br />
finestra delle proprietà per collegare il controllo che avete aggiunto con uno specifico campo <strong>di</strong> una tabella<br />
definito nel Data Environment Designer.<br />
Per visualizzare la finestra delle Proprietà<br />
●<br />
Dal menu View, scegliete Properties.<br />
Nota Se volete utilizzare la finestra delle proprietà per impostare le proprietà dei controlli dovete<br />
<strong>di</strong>sattivare il Builder Lock.<br />
Per aggiungere un nuovo campo a un form<br />
1.<br />
2.<br />
3.<br />
Nella barra degli strumenti Form Controls scegliete un controllo dati e trascinatelo nella finestra del Form<br />
Designer per creare il controllo.<br />
Nella finestra Properties, scegliete la scheda Data, e selezionate la proprietà ControlSource.<br />
Inserite il nome del campo.
-oppure-<br />
Selezionate un campo dalla lista dei campi <strong>di</strong>sponibili.<br />
Campi <strong>di</strong>sponibili nelle proprietà ControlSource <strong>di</strong> un controllo<br />
Aggiungere più Controlli in una volta<br />
Quando selezionate il tasto Button Lock, potete aggiungere più controlli dello stesso tipo senza dover cliccare il<br />
tasto del controllo più <strong>di</strong> una volta. Ad esempio, se desiderate aggiungere 5 caselle <strong>di</strong> testo ad un form, controllate<br />
che sia selezionato il Button Lock, cliccate sul controllo Casella <strong>di</strong> testo nella barra degli strumenti del Form<br />
Controls e aggiungete tutti e cinque le caselle al form.<br />
Il Button lock si attiva automaticamente se effettuate un doppio click su tasto del controllo della barra strumenti.<br />
Per <strong>di</strong>sattivarlo cliccate nuovamente sul tasto Button Lock oppure cliccate il tasto puntatore nella barra strumenti.<br />
Aggiungere controlli velocemente<br />
Potete creare velocemente controlli singoli o multipli cliccando sui campi o nelle tabelle e trascinandoli<br />
<strong>di</strong>rettamente in un form o in una classe contenitore che state progettando:<br />
● Data Environment Designer<br />
● Database Designer (tabelle singole, viste locali singole, viste remote singole, singoli campi)<br />
● Project Manager (Singole tabelle, singole viste locali, singole viste remote, singoli campi)<br />
Quando trascinate un campo o una tabella su un form, VFP determina che tipo <strong>di</strong> controllo da creare basandosi<br />
sulle opzioni che avete impostato.<br />
Impostare le opzioni <strong>di</strong> associazione dei campi<br />
Potete specificare il tipo <strong>di</strong> controllo che deve essere creato quando trascinate un campo e una tabella su un form.<br />
Ad esempio potete creare una controllo casella <strong>di</strong> testo ogni volta che un campo carattere viene trascinato su un<br />
form.<br />
Per associare tipi <strong>di</strong> campi in classe<br />
1. Dal menu Tools, scegliete Options.<br />
2.<br />
Selezionate la scheda Field Mapping.
3.<br />
4.<br />
5.<br />
6.<br />
7.<br />
8.<br />
Per mo<strong>di</strong>ficare l’associazione del tipo <strong>di</strong> campo, scegliete una voce nella finestra Map fields to classes for<br />
drag and drop e quin<strong>di</strong> cliccate su Mo<strong>di</strong>fy.<br />
Nella finestra Mo<strong>di</strong>fy Field Mapping, selezionate il tipo <strong>di</strong> campo dalla lista Type list.<br />
Per impostare la classe che viene creata nel momento in cui trascinate una tabella o campi multipli,<br />
selezionate Multiple dalla lista Type.<br />
Per selezionare la libreria <strong>di</strong> classe (.vcx file) che contiene il controllo a cui volete associare il tipo <strong>di</strong><br />
campo che avete selezionato, scegliete browse.<br />
Selezionate il nome della classe dalla lista Name. La classe che specificate qui verrà creata ogni volta che<br />
trascinerete un campo del tipo selezionato su un form.<br />
Cliccate su OK per accettare l’associazione.<br />
Impostare le opzioni nel Database options:<br />
Per … Selezionate…<br />
Creare una etichetta in aggiunta al controllo dei margini quando trascinate<br />
un campo o una tabella in un form o contenitore<br />
Impostare la proprieta commento del controllo margini sul testo<br />
specificato nel campo Field Comment nella scheda Fields del Table<br />
Designer<br />
Impostare la proprietà della maschera <strong>di</strong> inserimento InputMask del<br />
controllo margini specificata nella scheda Fields del Table Designer<br />
Impostare le proprietà <strong>di</strong> formattazione del controllo con il formato<br />
specificato nella scheda Fields del Table Designer<br />
●<br />
Drag and drop field caption<br />
Copy field comment<br />
Copy field input mask<br />
Copy field format<br />
Nota Potete anche specificare le classi per il trascina e incolla nella finestra Display Class della scheda Fields del<br />
Table Designer. Le impostazioni del Table Designer sovrascrivono le impostazioni che impostate qui.<br />
Creare velocemente un Controllo singolo<br />
Potete creare un singolo controllo basato sull’associazione del tipo <strong>di</strong> campo che avete specificato nella scheda<br />
Field Mapping della finestra <strong>di</strong> <strong>di</strong>alogo Options. Potete anche sovrascrivere le associazioni <strong>di</strong> default e creare<br />
classi <strong>di</strong>fferenti.<br />
Per creare un controllo singolo<br />
Cliccate in qualsiasi campo del Data Environment e trascinate sul form.<br />
Nota la proprietà ControlSource del nuovo controllo viene impostata sulla proprietà Name del<br />
campo.<br />
Per creare un controllo singolo e sovrascrivere l’attuale associazione del campo<br />
1. Cliccate col destro in qualsiasi campo presente nel Data Environment e trascinatelo nel form.<br />
2. Dal menu scorciatoia, selezionate Create Other Control Here.<br />
3. Nella finestra <strong>di</strong> <strong>di</strong>alogo Open, scegliete un file della <strong>Visual</strong> Class Library (.vcx).<br />
4. Selezionate il tipo <strong>di</strong> controllo che volete creare dalla finestra Class Name e scegliete Open.<br />
Per creare velocemente controlli multipli<br />
Potete trascinare una intera tabella in un form. Di base, un controllo griglia viene creato quando trascinate una<br />
tabella su un form. Potete sovrascrivere questa impostazione e creare controlli multipli in corrispondenza con<br />
l’associazione del tipo <strong>di</strong> campi specificata per ogni singolo campo.<br />
Per creare un controllo griglia<br />
●<br />
Scegliete qualsiasi tabella nel Data Environment, Database Designer, or Project Manager e trascinatelo<br />
su un form.
Per creare controlli multipli<br />
●<br />
Cliccate col destro del mouse su qualsiasi tabella o su uno o più campi selezionati in una tabella, nel Data<br />
Environment, Database Designer, or Project Manager, e trascinatelo sul form.<br />
Dal menu scorciatoia, selezionate Create Multiple Controls Here
Mo<strong>di</strong>ficare un form<br />
Se il form generato con wizard o con il buider non sod<strong>di</strong>sfa pienamente le vostre necessità, potete mo<strong>di</strong>ficarlo con il<br />
Form Designer. Utilizzando il Form Designer, è molto semplice spostare e ri<strong>di</strong>mensionare i controlli, copiarli,<br />
cancellarli, allinearli e mo<strong>di</strong>ficarne l’or<strong>di</strong>ne <strong>di</strong> tabulazione.<br />
Per mo<strong>di</strong>ficare un form<br />
1. Nel Project Manager, selezionate la scheda Documents.<br />
2. Cliccate sull’icona Forms e selezionate il nome del form.<br />
3. Scegliete Mo<strong>di</strong>fy.<br />
Usare la barra degli strumenti del Form Designer<br />
La barra degli strumenti del Form Designer vi fronisce un veloce accesso ai coman<strong>di</strong> usati con maggior frequenza e al<br />
controllo <strong>di</strong> layout, allineamento e ai controlli <strong>di</strong> colore quando progettate o mo<strong>di</strong>ficate form. Per maggiori informazioni<br />
sullo scopo <strong>di</strong> ogni tasto o <strong>di</strong> ogni barra degli strumenti potete utilizzare ToolTips o fare la ricerca <strong>di</strong> "ToolBars".<br />
La barra degli strumenti del Form Designer<br />
Selezionare spostare e ri<strong>di</strong>mensionare controlli<br />
Dopo aver creato un forma potreste avere la necessità <strong>di</strong> aggiustare la posizione una <strong>di</strong>mensione dei controlli sul form.<br />
Ad esempio potreste avere la necessità <strong>di</strong> spostare un campo <strong>di</strong> memoria o creare una casella <strong>di</strong> testo più larga.<br />
Per selezionare un controllo<br />
❍<br />
Utilizzate puntatore e cliccate in qualsiasi punto del controllo.<br />
Per selezionare controlli a<strong>di</strong>acenti<br />
1. Selezionate la freccia <strong>di</strong> selezione nella barra degli strumenti Form Controls.<br />
2. trascinate il puntatore in modo da creare un contenitore attorno ai controlli che volete selezionare.<br />
Per spostare controlli<br />
1. Selezionate controllo cliccandovi sopra.<br />
2.<br />
trascinate il controllo alla nuova posizione sulla finestra del form.
-oppure-<br />
Selezionate il controllo e usate le frecce per riposizionarlo.<br />
Per ri<strong>di</strong>mensionare un controllo<br />
1.<br />
2.<br />
Selezionate il controllo.<br />
Trascinate le maniglie <strong>di</strong> ri<strong>di</strong>mensionamento per aumentare la lunghezza la larghezza o entrambi.<br />
Copiare e cancellare i controlli dei form<br />
Quando <strong>di</strong>segnate mo<strong>di</strong>ficate un form potreste voler far una copia del controllo che già su <strong>di</strong> esso. Potete copiare un<br />
controllo esistente per spostarlo in un altro punto.<br />
Per copiare un controllo<br />
1. utilizzate il puntatore e selezionate controllo.<br />
2. dal menu E<strong>di</strong>t scegliete Copy.<br />
1. dal menu E<strong>di</strong>t scegliete Past.<br />
1. utilizzate il puntatore per posizionare il controllo dove necessario.<br />
Se create un controllo e quin<strong>di</strong> decidete che non è più necessario, o non volete un controllo creato da un wizard,<br />
potete eliminare il controllo..<br />
Per cancellare il controllo<br />
Selezionate il controllo e scegliete Cut al dal menu E<strong>di</strong>t.<br />
Allineare i controlli<br />
I tasti sulla barra del Layout rende semplice allineare i controlli in relazione fra <strong>di</strong> loro sul vostro form.<br />
Ad esempio, potreste voler allineare i controlli orizzontalmente o verticalmente o assicurarvi che una serie <strong>di</strong> controlli sia<br />
della stessa <strong>di</strong>mensione in altezza e larghezza. Per allineare i controlli, selezionate un gruppo <strong>di</strong> controlli e quin<strong>di</strong><br />
selezionate uno dei tasti per il controllo dei Layout sulla barra degli strumenti <strong>di</strong> Layout.<br />
Sistemare la posizione dei controlli<br />
Se avete la necessità <strong>di</strong> posizionare con molta precisione i controlli sullo schermo, potete utilizzare Show Position del<br />
menu View. Quando è selezionato ShowPosition mostra le coor<strong>di</strong>nate del controllo selezionato nella barra <strong>di</strong> stato in<br />
basso alla finestra e Form Designer.<br />
Controllare le coor<strong>di</strong>nate e le <strong>di</strong>mensioni attraverso la barra <strong>di</strong> stato<br />
Controllare la Griglia<br />
La visualizzazione della griglia <strong>di</strong> può aiutare a allineare i controlli sul forum. Potete aggiustare le <strong>di</strong>mensioni della<br />
griglia attraverso il comando Set Grid Scale del menu Format. Potete attivare la visualizzazione della griglia utilizzando<br />
il comando Grid Line del menu View, o impostando le opzioni del Grid Line nella scheda Form della finestra <strong>di</strong><br />
<strong>di</strong>alogo Options.<br />
Potete anche sistemare le <strong>di</strong>mensioni una posizione dei controlli a una relazione alla griglia con il controllo calamita con<br />
l'opzione Snap to Grid del menu Format. Quando è attivato il comando Snap to Grid nel menu Form, i controlli<br />
posizionati sul forma vengono automaticamente allineati alle linee guida della griglia.<br />
Potete sottoscrivere la griglia attraverso:<br />
● Deselezionando Snap to Grid dal menu Format. Di base questa opzione è selezionata<br />
● utilizzando le frecce per tenere controlli.<br />
● premendo CTRL prima <strong>di</strong> cliccare sul controllo e mantenendo premuto il tasto durante il trascinamento<br />
dell'oggetto in un'altra posizione.<br />
●<br />
scegliendo le opzioni <strong>di</strong> allineamento dalla barra <strong>di</strong> Layout del menu Format.
Impostare l'or<strong>di</strong>ne <strong>di</strong> tabulazione per i controlli<br />
L'or<strong>di</strong>ne <strong>di</strong> tabulazione determina la sequenza con cui i controlli vengono selezionati con la pressione del tasto TAB<br />
mentre ci si muove attraverso il form.<br />
Potete scegliere due meto<strong>di</strong> <strong>di</strong>versi per impostare l'or<strong>di</strong>ne <strong>di</strong> tabulazione: interattivamente, cliccando il controllo<br />
nell'or<strong>di</strong>ne con cui volete che siano selezionati quando viene utilizzato il form, oppure creando una lista dei controlli in<br />
una finestra <strong>di</strong> <strong>di</strong>alogo.<br />
Per selezionare l'or<strong>di</strong>ne <strong>di</strong> tabulazione<br />
1. dal menu Tools, scegliete Options<br />
2. nella finestra <strong>di</strong> <strong>di</strong>alogo Options scegliete la scheda Forms.<br />
3. nelle opzioni Tab Ordering, scegliete Interactive or By List.<br />
Impostare l'or<strong>di</strong>ne <strong>di</strong> tabulazione interattivamente<br />
Nel modo interattivo, voi impostate e l'or<strong>di</strong>ne <strong>di</strong> tabulazione facendo un doppio click sul controllo che volete sia il primo<br />
nell'or<strong>di</strong>ne, e quin<strong>di</strong> un singolo e click sul resto dei controlli nell'or<strong>di</strong>ne che volete siano selezionati nel form.<br />
Per mo<strong>di</strong>ficare l'or<strong>di</strong>ne <strong>di</strong> tabulazione interattivamente<br />
1. dal menu View, scegliete Tab.<br />
2. fate un doppio click nella casella or<strong>di</strong>ne <strong>di</strong> tabulazione <strong>di</strong> fianco al controllo che volete sia il primo nell'or<strong>di</strong>ne <strong>di</strong><br />
tabulazione.<br />
3. selezionate la casella or<strong>di</strong>ne <strong>di</strong> tabulazione per ogni altro controllo.<br />
4. Cliccate in qualsiasi punto del form per salvare le vostre mo<strong>di</strong>fiche e uscite in dalla modalità Or<strong>di</strong>ne <strong>di</strong> Tabulazione<br />
Impostare l'or<strong>di</strong>ne <strong>di</strong> tabulazione attraverso la lista<br />
Nella modalità lista, voi impostato nell'or<strong>di</strong>ne <strong>di</strong> tabulazione re sistemando i nomi dei controlli nella finestra <strong>di</strong> <strong>di</strong>alogo<br />
Tab order. Potete sistemare l'or<strong>di</strong>ne attraverso le righe o con le colonne.<br />
Impostare l'or<strong>di</strong>ne <strong>di</strong> tabulazione attraverso la lista dei controlli.<br />
Per impostare la lista <strong>di</strong> tabulazione attraverso la lista unita<br />
1. dal menu View, scegliete Tab Order.<br />
2. Scegliete By Row o By Column.<br />
3. Nella finestra <strong>di</strong> <strong>di</strong>alogo Tab order, utilizzate puntatore per sistemare la vista.<br />
4.<br />
cliccate su ok.
Personalizzare i Forms<br />
Potete aggiungere miglioramenti al vostro forum per renderli più interessanti visivamente e semplice<br />
all'utilizzo. Ad esempio potete raggruppare controlli simili a con l'ausilio <strong>di</strong> una cornice <strong>di</strong>segnata<br />
attorno ad essi in oppure utilizzare delle immagini per dare ai form un aspetto più professionale.<br />
Attraverso il Form Designer, potete personalizzare i form in questo modo:<br />
● Cambiando il formato del testo<br />
● Aggiungendo forma e linee al form<br />
● Aggiungendo grafica al form<br />
● impostando il colore <strong>di</strong> primo piano e il colore <strong>di</strong> fondo del form<br />
Cambiare <strong>di</strong> <strong>di</strong>mensioni e le caratteristiche del testo<br />
Attraverso le proprietà dei font nella finestra delle proprietà, potete mo<strong>di</strong>ficare lo stile e le <strong>di</strong>mensioni<br />
del testo che appaiono nei controlli che avete aggiunto al vostro form. Potete selezionare i font a dalla<br />
lista dei font <strong>di</strong>sponibili sul vostro sistema. Per mo<strong>di</strong>ficare il testo <strong>di</strong> un vostro form, cambiate le<br />
proprietà del font, come FontName. FontSize e FontBold, mostrate nella finestra delle proprietà.<br />
Per cambiare il testo dei vostri form<br />
1. Da Form Designer, selezionate il controllo che volete mo<strong>di</strong>ficare.<br />
2. in nella finestra delle proprietà, abbassate la lista degli oggetti, e selezionate l'oggetto che volete<br />
mo<strong>di</strong>ficare.<br />
1. localizzate le proprietà del font a che volete mo<strong>di</strong>ficare, e e impostati valori desiderati.<br />
Aggiungere forme geometriche e linee ad un form<br />
Potete aggiungere forme e linee ad un form per personalizzarlo. Ad esempio i potreste voler separare un<br />
gruppo <strong>di</strong> controlli con una linea <strong>di</strong> <strong>di</strong>visione, oppure raggrupparli attraverso un quadrato <strong>di</strong>segnato<br />
attorno.<br />
Per aggiungere una linea ad un form<br />
1.<br />
2.<br />
Nella barra degli strumenti Form Controls, scegliete il tasto linea..<br />
<strong>di</strong>segnate con il mouse la linea che volete creare sul form<br />
Potete ri<strong>di</strong>mensionare o spostare la linea come gli altri controlli, potete mo<strong>di</strong>ficare la pendenza della<br />
linea attraverso la finestra delle proprietà con l'opzione LineSlant.<br />
Per aggiungere una forma al Form<br />
1. Nella barra degli strumenti Form Controls, scegliete il tasto Shape.<br />
2. <strong>di</strong>segnate con i mouse la forma sul form.<br />
Potete mo<strong>di</strong>ficare la forma dell'oggetto <strong>di</strong>segnato attraverso le proprietà curvatura nella finestra delle<br />
proprietà.<br />
Aggiungere grafici a un form<br />
Potete aggiungere un <strong>di</strong>segno allo sfondo del vostro form oppure un immagine all'interno <strong>di</strong> una casella<br />
form.<br />
Per aggiungere grafica al form
●<br />
❍<br />
1.<br />
2.<br />
3.<br />
4.<br />
Scegliete uno dei seguenti meto<strong>di</strong>:<br />
per cambiare lo sfondo del form, selezionate il form<br />
-oppure-<br />
per aggiungere un margine al form, selezionate il controllo immagine dalla barra degli strumenti Form<br />
Control e posizionatelo sul form.<br />
nella finestra delle proprietà, selezionate proprietà Picture.<br />
cliccate sul tasto <strong>di</strong> <strong>di</strong>alogo e per vedere la finestra Open.<br />
localizzate l'immagine che volete inserire<br />
cliccate su OK<br />
Impostare i colori del form<br />
Potete impostare i colori del forma utilizzando le proprietà ColorSource sulla base <strong>di</strong> uno schema <strong>di</strong><br />
colori esistenti, oppure potete utilizzare la barra degli strumenti Color Palette per mo<strong>di</strong>ficare i colori <strong>di</strong><br />
primo piano o del fondo e dei controlli all'interno.<br />
Per impostare i colori attraverso la proprietà ColorSource<br />
❍<br />
Nella scheda Layout nella finestra delle proprietà, scegliete ColorSource e il valore desiderato.<br />
Per impostare il colore <strong>di</strong> primo piano o <strong>di</strong> sfondo <strong>di</strong> un Form o <strong>di</strong> un<br />
controllo<br />
1. Dal menu View, selezionate la barra degli strumenti Color Palette.<br />
2. Scegliete Foreground (primo piano) o Background (sfondo).<br />
3. selezionate il controllo o il form che volete mo<strong>di</strong>ficare.<br />
4. Nella barra degli strumenti Color Palette, selezionate il colore che desiderate utilizzare.<br />
5. per visualizzare più colori, scegliete Other Colors.<br />
Per creare colori personalizzati<br />
1. Nella barra degli strumenti Color Palette, scegliete Other Colors<br />
2. nella finestra <strong>di</strong> <strong>di</strong>alogo Color, scegliete Define Custom Colors per visualizzare Custom Color<br />
Selector.<br />
3. scegliete una delle caselle Custom Color, cliccate nella Custom Color Selector per selezionare il<br />
colore personalizzato che volete.<br />
4. Scegliete Add to Custom Color per aggiungere nuovo colore alla vostra paletta.<br />
5. cliccate su OK<br />
<strong>Visual</strong> FoxPro applicherà il colore personalizzato alla selezione attiva.<br />
Impostare le <strong>di</strong>mensioni massime <strong>di</strong> area del form<br />
Impostando l'area <strong>di</strong> <strong>di</strong>segno del form assicura che esso venga mostrato correttamente a seconda della<br />
specifica risoluzioni. Ad esempio, se sapete che l'utente utilizza 640 per 480 come risoluzione non<br />
dovette impostare l'area massima <strong>di</strong> <strong>di</strong>segno a 1024 x 768..<br />
Per impostare l'area massima <strong>di</strong> <strong>di</strong>segno<br />
1. dal menu Tools scegliete Options<br />
2. Nella scheda Forms, selezionate il valore Maximum Design Area<br />
Suggerimento- Se selezionate NONE, il Form Designer non pone un limite nelle
<strong>di</strong>mensione del form che potete <strong>di</strong>segnare.