02.06.2013 Views

Users Guide Visual FoxPro®" di Microsoft

Users Guide Visual FoxPro®" di Microsoft

Users Guide Visual FoxPro®" di Microsoft

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

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.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!