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

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

MICROSOFT VISUAL FOXPRO<br />

GUIDA UTENTE<br />

TRADUZIONE DALL’EDIZIONE INGLESE DI:<br />

“<strong>Users</strong> <strong>Guide</strong> <strong>Visual</strong> FoxPro®" <strong>di</strong> <strong>Microsoft</strong>©<br />

Traduzione e Adattamento <strong>di</strong>:<br />

Baldarelli Gian-Carlo e Daniela Alvisi<br />

webmaster@foxitaly.com<br />

http://www.foxitaly.com<br />

Lo scopo <strong>di</strong> questa traduzione è quello <strong>di</strong> offrire anche al pubblico <strong>di</strong> lingua italiana<br />

una guida per muovere i primi passi con questo bellissimo strumento <strong>di</strong> programmazione<br />

Tutti i <strong>di</strong>ritti dei marchi citati sono dei legittimi proprietari<br />

FoxPro e <strong>Visual</strong> FoxPro® sono un marchi registrati da <strong>Microsoft</strong> Corporation©


Come avviare<strong>Visual</strong> FoxPro<br />

Per avviare <strong>Visual</strong> FoxPro<br />

●<br />

Fate un doppio click sull’icona <strong>di</strong> <strong>Microsoft</strong> <strong>Visual</strong> FoxPro.<br />

Quando avviate <strong>Visual</strong> FoxPro, il Project Manager crea un nuovo progetto in cui potete<br />

aggiungere voci precedentemente create oppure crearne delle nuove da includere.<br />

Utilizzando il Project Manager, potete velocemente familiarizzare con <strong>Visual</strong> FoxPro.<br />

Il Project Manager fornisce un facile metodo visuale per organizzare tabelle, form, database,<br />

report, queries, e altri file quando dovete creare una applicazione.<br />

Il Project Manager organizza i vostri dati.<br />

Se avete tabelle provenienti da precedenti versioni <strong>di</strong> FoxPro ® , potete aggiungerle<br />

imme<strong>di</strong>atamente e vedere come lavora <strong>Visual</strong> FoxPro. Se avete altri dati che volete<br />

organizzare ( siano fogli <strong>di</strong> calcolo, file <strong>di</strong> testo, o tabelle <strong>di</strong> altre applicazioni, potete<br />

importarle in <strong>Visual</strong> FoxPro e aggiungerle nel progetto).


Potete anche creare un nuovo progetto in ogni momento scegliendo l’opzione [new] dal<br />

menu [file].<br />

Per creare una nuova applicazione<br />

1.<br />

2.<br />

3.<br />

4.<br />

Dal menu File, scegliete New.<br />

Selezionate Project e scegliete New File.<br />

Nella finestra Create, <strong>di</strong>gitate il nome che volete assegnare al nuovo progetto.<br />

Quin<strong>di</strong> cliccate su Save.<br />

Per aiutarvi a familiarizzare con <strong>Visual</strong> FoxPro, potete utilizzare l’esempio fornito con il<br />

pacchetto. Questi esempi sono contenuti nella cartelle <strong>di</strong> <strong>Visual</strong> Stu<strong>di</strong>o …\Samples\Vfp98.<br />

(Utilizzato anche negli esempi della guida <strong>Users</strong> <strong>Guide</strong> <strong>Visual</strong> FoxPro® <strong>di</strong> <strong>Microsoft</strong>©)<br />

Testdata.dbc<br />

Questo database contiene un semplice set <strong>di</strong> tabelle correlate con cui potete fare esperienza<br />

mentre familiarizzate con <strong>Visual</strong> FoxPro.<br />

Tastrade.pjx<br />

Questo progetto contiene una applicazione completamente sviluppata che potete utilizzare<br />

per comprendere che tipo <strong>di</strong> applicazioni potete creare con <strong>Visual</strong> FoxPro. Aprendo e<br />

esaminando come è strutturato il progetto potrete comprendere come si costruiscono le<br />

applicazioni.


Introduzione a Project Manager<br />

Il Project Manager è fondamentalmente uno strumento <strong>di</strong> organizzazione quando si deve lavorare con<br />

dati e oggetti in <strong>Visual</strong> FoxPro. Un progetto è una collezione <strong>di</strong> files, dati, documenti, e oggetti <strong>di</strong> <strong>Visual</strong><br />

FoxPro che vengono salvati in un file con l’estensione .pjx.<br />

Il Project Manager è il vostro" centro <strong>di</strong> controllo" per lavorare con <strong>Visual</strong> FoxPro.<br />

Potete utilizzare il Project Manager per organizzare i files così come creare tabelle e database, scrivere<br />

query, impostare moduli (form) e stampe (report ), e costruire applicazioni.<br />

Potete iniziare a creare la vostra applicazione anche aggiungendo basi <strong>di</strong> dati <strong>Visual</strong> FoxPro già esistenti,<br />

oppure utilizzando i file <strong>di</strong> esempio <strong>di</strong> <strong>Visual</strong> Stu<strong>di</strong>o …\Samples\Vfp98\Data <strong>di</strong>rectory.<br />

<strong>Visual</strong>izzare i contenuti del Progetto<br />

Il Project Manager consente la visualizzazione organizzata e gerarchica dei dati. Per focalizzare su un<br />

particolare tipo <strong>di</strong> dati, file o oggetti del progetto, scegliere l’apposita linguetta.<br />

Quando state impostando tabelle e database o creando moduli (form), interrogazioni (query), viste<br />

(view), e prospetti stampa (report) lavorate principalmente con le voci mostrate nella scheda Data and<br />

Documents.<br />

Localizzare gli archivi dati (Data Files)<br />

Questa scheda contiene tutti i componenti <strong>di</strong> un progetto; gli archivi, tavole libere, queries, e viste This<br />

tab contains all the data for a project: the databases, free tables, queries, and views.<br />

Scheda Data del Project Manager


Databases serie <strong>di</strong> tabelle, <strong>di</strong> solito relazionate fra <strong>di</strong> loro attraverso un campo comune.<br />

Per supportare le tabelle e le relazioni, potete includere viste, connessioni,<br />

procedure, regole, e triggers . I database si creano con il Database Designer,<br />

Gli archivi database hanno l’estensione .dbc<br />

Le Free tables sono tabelle che non sono parti <strong>di</strong> un database e sono memorizzate in un archivio con<br />

l’estensione .dbf.<br />

Le Queries sono un modo strutturato <strong>di</strong> richiedere delle informazioni specifiche memorizzate in una<br />

tabella. Utilizzando il Query Designer, formulate una domanda che estrae i record dalle tabelle secondo<br />

il criterio voluto. Le Queries sono coman<strong>di</strong> SQL-Select salvate in un file <strong>di</strong> testo con l’estensione .qpr .<br />

Le Views sono query specializzate che consentono l’accesso sia locale che remoto e consentono<br />

l’aggiornamento dei dati con la mo<strong>di</strong>fica dei record ottenuti dalla query. Le Views esistono solamente<br />

all’interno <strong>di</strong> un database e non sono file in<strong>di</strong>pendenti.<br />

<strong>Visual</strong>izzare Form and Report<br />

La scheda Documents contiene tutti i documenti che utilizzate quando lavorate con i dati, i form<br />

utilizzati per l’immissione e la visualizzazione dei dati, i report e le etichette per la formattazione delle<br />

stampe <strong>di</strong> tabelle e il risultato delle query.


Scheda Documents del Project Manager<br />

Forms sono utilizzati per mostrare e e<strong>di</strong>tare i contenuti delle tabelle.<br />

I Reports sono files che <strong>di</strong>cono a <strong>Visual</strong> FoxPro come impostare i dati provenienti dall’azione <strong>di</strong> query<br />

su tabelle per la stampa.<br />

Le Labels sono report speciali per impostare i dati per la stampa su etichette.<br />

Le altre schede Classes, Code, and Other — sono principalmente utilizzate quando si creano applicazioni<br />

per l’utenza finale.<br />

<strong>Visual</strong>izzare i dettagli degli archivi (Files)<br />

Le voci nel Project Manager sono organizzate in una vista che potete espandere o colassare in modo da<br />

visualizzare <strong>di</strong>versi livelli <strong>di</strong> dettaglio.<br />

Il segno (+) appare vicino ad un simbolo se ci sono uno o più voci <strong>di</strong> quel tipo nel progetto. Cliccate sul<br />

simbolo più (+) per visualizzare i nomi delle voci <strong>di</strong> quel tipo nel progetto.<br />

Per esempio, cliccate il segno più vicino alla voce Free Tables per visualizzare i nomi delle Free Tables<br />

contenute nel progetto.<br />

Il profilo mostra <strong>di</strong>fferenti livelli <strong>di</strong> dettaglio del progetto.


Per colassare la lista una volta che è stata espansa, cliccate sul segno meno.<br />

Aggiungere e rimuovere archivi Files<br />

Attraverso il Project Manager, potete aggiungere archivi già esistenti o potete crearne <strong>di</strong> nuovi. Per<br />

esempio se avete una serie <strong>di</strong> archivi .dbf già esistenti e volete aggiungerli ad un progetto, selezionate<br />

semplicemente Free Tables nella scheda Data e cliccate sul tasto Add per aggiungerli al progetto.<br />

Per aggiungere un archivio ad un progetto<br />

1. Selezionate il tipo <strong>di</strong> file che volete aggiungere.<br />

2. Scegliete Add.<br />

3. Nella finestra che appare Open , selezionate il nome del file che volete aggiungere e quin<strong>di</strong><br />

cliccate su OK.<br />

Per rimuovere un archivio dal progetto<br />

1. Selezionate l’elemento che volete rimuovere.<br />

2. Selezionate Remove.<br />

3. Alla richiesta <strong>di</strong> conferma scegliete ancora Remove.<br />

Se volete cancellare il file dal vostro computer scegliete Delete.<br />

Creazione e mo<strong>di</strong>fica <strong>di</strong> Files<br />

Il Project Manager semplifica la creazione e la mo<strong>di</strong>fica <strong>di</strong> files. Semplicemente selezionate il tipo <strong>di</strong> file<br />

che volete creare o mo<strong>di</strong>ficare e quin<strong>di</strong> cliccate su tasto New or Mo<strong>di</strong>fy. <strong>Visual</strong> FoxPro mostrerà lo<br />

strumento <strong>di</strong> progetto idoneo al tipo <strong>di</strong> file che avete selezionato.<br />

Per creare un file da aggiungere al Project Manager<br />

1.<br />

Selezionate l’elemento che volete creare.


2. Cliccate su New.<br />

Con alcuni elementi, avete l’opzione <strong>di</strong> utilizzare un wizard (procedura automatica) che vi aiuterà nella<br />

creazione del file.<br />

Per mo<strong>di</strong>ficare un file<br />

1. Selezionate un file esistente.<br />

2. Cliccate su Mo<strong>di</strong>fy.<br />

Per esempio, per modoficare una tabella, selezionate il nome della tabella e scegliete Mo<strong>di</strong>fy per<br />

visualizzare la tabella nel Table Designer.<br />

Aggiungere un descrizione ad un File<br />

Quando create o aggiungete un nuovo file, potete aggiungere una descrizione al file. Questa descrizione<br />

è visualizzata in basso alla finestra del Project Manager quando viene selezionato il file.<br />

Per aggiungere una descrizione ad un file<br />

1. Nel Project Manager, selezionate il file.<br />

2. Dal menu Project, selezionate E<strong>di</strong>t Description.<br />

3. Nella finestra <strong>di</strong> <strong>di</strong>alogo Description, scrivete la descrizione per il file.<br />

4. Cliccate su OK.<br />

<strong>Visual</strong>izzazione dei dati delle Tabelle<br />

Dal Project Manager, potete scorrere il contenuto delle tabelle del progetto.<br />

Per scorrere la tabella<br />

1. Selezionate la scheda Data.<br />

2. Selezionate la tabella e scegliete Browse.<br />

Con<strong>di</strong>videre files fra vari progetti<br />

Potete riusare il vostro lavoro <strong>di</strong> un progetto con<strong>di</strong>videndo gli archivi con un altro progetto. Questi files<br />

non sono duplicati, perché il progetto immagazzina solamente un riferimento ai files. I files possono<br />

essere simultaneamente con<strong>di</strong>visi con progetti <strong>di</strong>fferenti.<br />

Per con<strong>di</strong>videre files fra progetti<br />

1. In <strong>Visual</strong> FoxPro, aprite i due progetti che devono con<strong>di</strong>videre i file.<br />

2. Nel Project Manager contenenti il file, selezionate il file.<br />

3.<br />

Trascinate il file nel contenitore dell’altro progetto.


Personalizzare il Project Manager<br />

Potete personalizzare l’area <strong>di</strong> visualizzazione mo<strong>di</strong>ficando la vista del Project Manager o settando il<br />

doppio click per attivare i files nel Project Manager.<br />

Mo<strong>di</strong>ficare la vista<br />

Inizialmente il Project Manager appare in una finestra separata, voi potete muovere la finestra,<br />

mo<strong>di</strong>ficarne le <strong>di</strong>mensioni, chiuderla in modo da vederne solo le voci delle etichette.<br />

Per muovere il Project Manager<br />

●<br />

Mettere ilpuntatore del mouse sulla barra dei titoli e trascinatela nella nuova posizione.<br />

Per ri<strong>di</strong>mensionare Project Manager<br />

●<br />

Mettere il puntatore nell’angolo inferiore o superiore della finestra Project Manager, e trascinate<br />

cliccando per aumentare o <strong>di</strong>minuire la <strong>di</strong>mensione.<br />

Per chiudere il Project Manager<br />

●<br />

Cliccate sulla freccia all’insù nell’angolo superiore destro.<br />

Nella vista chiusa vengono mostrate solo le etichette delle schede<br />

Potete facilmente tornare alla vista iniziale del Project Manager.<br />

Per resettare il Project Manager<br />

●<br />

Cliccate la freccia all’ingiù nell’angolo superiore destro.<br />

Quando il contenitore è chiuso, potete separare le varie scede e sistemarle sullo spazio <strong>di</strong> lavoro a vostra<br />

preferenza. Quando separate la scheda, essa fluttua in<strong>di</strong>pendentemente nella finestra principale <strong>di</strong> <strong>Visual</strong><br />

FoxPro.<br />

Per separare una scheda<br />

1.<br />

2.<br />

Chiudere il contenitore.<br />

Selezionate una linguetta e trascinatela fuori dal Project Manager.<br />

Quando la scheda e fluttuante potette accedere alle opzioni del menu Progetto cliccando cin il punsante<br />

destro del mouse nella scheda fluttuante.<br />

Se volete che la scheda rimanga sempre in vista, cliccate sull’icona fermaglio in alto alla scheda. La


scheda resterà sopra tutte le altre schermate <strong>di</strong> <strong>Visual</strong> FoxPro. Potete impostare più finestre con l’opzione<br />

sempre in vista. Per rimuovere questa funzione cliccate nuovamente sul fermaglio.<br />

Schede del Project Manager<br />

Ripristino <strong>di</strong> una scheda<br />

●<br />

❍<br />

Cliccate su tasto Close della scheda.<br />

-or-<br />

Trascinate <strong>di</strong> nuovo la scheda sul Project Manager.<br />

Potete anche collocare il Project Manager alla barra dei tasti <strong>di</strong> <strong>Visual</strong> FoxPro.<br />

Per trasformare il Project Manager<br />

●<br />

Trascinare il Project Manager sulla barra dei tasti della finestra <strong>Visual</strong> FoxPro.<br />

Quando il Project Manager è ancorato <strong>di</strong>venta una parte della barra dei tasti. Potete espandere il Project<br />

Manager quando è ancorato cliccando sulle varie linguette delle sue schede e potete ancora separare le<br />

varie schede trascinandole via.


Introduzione al <strong>Visual</strong> FoxPro Designers<br />

Il Project Manager vi fornisce un rapido accesso al <strong>Visual</strong> FoxPro designers. Questo strumento<br />

facilita la creazione <strong>di</strong> tabelle, forms, databases, queries e report per la gestione dei vostri dati.<br />

Questa sezione descrive come utilizzare il designer. Potete anche assemblare le voci che create<br />

con il designer in una applicazione.<br />

Potete anche utilizzare il designer in<strong>di</strong>pendentemente dal Project Manager utilizzando le opzioni<br />

<strong>di</strong> New dal menu File.<br />

La seguente tabella in<strong>di</strong>ca quale designer utilizzare a secondo dell’obiettivo:<br />

Per Utilizzare questo designer<br />

Creare tabelle e definire in<strong>di</strong>ci nella tabella Table Designer<br />

Azionare delle queries su una tabella Query Designer<br />

Azionare queries su una sorgente <strong>di</strong> dati remota; Creare queries aggiornabili View Designer<br />

Creare un form per visualizzare e e<strong>di</strong>tare i dati nella vostra tabella Form Designer<br />

Creare un report per mostrare e stampare i vostri dati Report Designer<br />

Definire un database; visualizzare e creare relazioni fra le tabelle Database Designer<br />

Creare una connessione per una vista remota Connection Designer<br />

Per usare il designer per creare un nuovo files<br />

●<br />

dal Project Manager, selezionare il tipo <strong>di</strong> file che volete creare e scegliete New.


Utilizzo delle Toolbars<br />

Ogni designer ha una o più barre <strong>di</strong> pulsanti che vi fornisce l’accesso alle funzioni o azioni<br />

utilizzate con maggior frequenza dello strumento.<br />

Per esempio, il Form Designer ha delle barre pulsanti <strong>di</strong>verse per i controlli, la forma dei<br />

controlli e la palette dei colori.<br />

Potete sistemare tutte le barre pulsanti a vostro piacimento secondo le vostre necessità per il<br />

vostro lavoro.<br />

Potete ancorare le barre pulsanti in alto in basso o a lato in modo da personalizzare l’area <strong>di</strong><br />

lavoro. <strong>Visual</strong> FoxPro salverà la posizione delle toolbars in modo da riposizionarle al<br />

succesivo riavvio.<br />

Per mostrare le barre pulsanti (toolbars)<br />

1.<br />

2.<br />

3.<br />

Dal menu View selezionare Toolbars.<br />

Nella finestra <strong>di</strong> <strong>di</strong>alogo Toolbars, selezionate quella che volete utilizzare.<br />

Cliccate su OK.<br />

Per ancorare una toolbar<br />

●<br />

Trascinate la barra pulsanti in alto o in basso o a lato del vostro schermo.


Utilizzo delle procedure automatiche Wizards<br />

I Wizards sono dei programmi iterattivi che vi aiutano a portare a termine gli obiettivi più<br />

comuni come quelli <strong>di</strong> creare dei forms, <strong>di</strong> impostare dei reports e <strong>di</strong> preparare delle queries<br />

Per avere maggiori informazioni su ogni Wizard premete F1 quando lo richiamate.<br />

Rispondendo semplicemente alle domande o scegliendo delle opzioni nelle varie schermate<br />

del wizard voi <strong>di</strong>rete alla procedura <strong>di</strong> eseguire il lavoro in base alle vostre impostazioni. Per<br />

esempio, se scegliete Report Wizard, voi potrete selezionare il report che volete creare. Il<br />

Wizard vi chiderà quale tabella deve utilizzare e fornirà delle scelte per la impostazione del<br />

report.<br />

Avviare un Wizard<br />

Quando create una nuovo oggetto voce utilizzando il Project Manager o il menu File, potete<br />

scegliere <strong>di</strong> utilizzare un wizard che vi aiuterà nella creazione dell’oggetto.<br />

Per avviare un Wizard<br />

1. Nel Project Manager, selezionate il tipo <strong>di</strong> file che volete creare e scegliete New.<br />

2. Potete anche scegliere New dal menu File e selezionare il tipo <strong>di</strong> file che volete<br />

creare.<br />

3. Selezionate l’opzione Wizard.<br />

Potete anche accedere alla maggior parte dei wizard <strong>di</strong>rettamente scegliendo il comando<br />

Wizard dal menu Tools.<br />

Se utilizzate un wizard <strong>di</strong> <strong>Visual</strong> FoxPro applicandoli ai dati <strong>di</strong> una tabella in un database<br />

potete utilizzare Stili e Formattazioni immagazzinate nel database per i forms, le tabelle, le<br />

Etichette (labels), le queries ed i reports.<br />

Navigare nelle schermate dei Wizard<br />

Una volta attivato il wizard, rispondete alle domande che appaiono in ogni schermata.<br />

Quando siete pronti per procedere alla schermata successiva, cliccate sul tasto Next.<br />

Se commettete un errore o cambiate idea, scegliete uil tasto Back per visualizzare la<br />

schermata precedente così potrete apportare le mo<strong>di</strong>fiche. Cliccando su Cancel uscirete dalla<br />

procedura wizard senza produrre alcun risultato. Se avete delle domande circa il wizard<br />

premete F1 per ottenere l’Help ( in inglese L )<br />

Quando arrivate all’ultima schermata, cliccate su fine per uscire dal wizard.<br />

Se avete fretta, potete scegliere il tasto Finish per procedere alla fine della sequenza del<br />

wizard, saltanto tutte le informazioni opzionali e utilizzando solamente quelle fornite dal<br />

wizard.


Salvataggio del risultato del Wizard<br />

L’ultima schermata <strong>di</strong> ogni wizard potrebbe chiedervi <strong>di</strong> fornire un titolo oppure,<br />

<strong>di</strong>pendentemente dall’oggetto chje stavate creando, fornirvi alcune opzioni ( salvare,<br />

mo<strong>di</strong>ficare, stampare il risultato).<br />

Utilizate l’opzione Preview per vedere i risultati del wizard prima ancora <strong>di</strong> aver terminato,<br />

potrete riavviare iol wizard nuovamente se vorrete fare delle scelte <strong>di</strong>fferenti per cambiare il<br />

risultato. Quando sarete sodd<strong>di</strong>sfatti potrete sceglie il tasto Finish.<br />

Mo<strong>di</strong>fica <strong>di</strong> un oggetto creato con il Wizard<br />

Una volta creato la tabella, il form, la query o il report, potete aprirla nell’apposito<br />

strumento <strong>di</strong> <strong>di</strong>segno e fare delle successive mo<strong>di</strong>fiche. Non è possibile riaprire un oggetto<br />

creato con un wizard con il wizard stesso, ma potete prevedere i risultati prima <strong>di</strong> salvare<br />

l’oggetto e uscire dal wizard.


Uso del Builders<br />

I Builders sono finestre <strong>di</strong> <strong>di</strong>alogo contenenti varie schede che semplificano la creazione e la<br />

mo<strong>di</strong>fica <strong>di</strong> forms, controlli complessi e co<strong>di</strong>ce <strong>di</strong> integrità referenziale. Ogni Builder <strong>di</strong>spone una<br />

serie <strong>di</strong> schede e opzioni che vi consentono <strong>di</strong> impostare le varie proprietà degli oggetti da creare.<br />

Per costruire un controllo<br />

●<br />

❍<br />

Dalla barra pulsanti Form Controls, scegliete iltasto Builder Lock. Ogni volta che<br />

aggiungete un nuovocontrollo ad un form, <strong>Visual</strong> FoxPro mostrerà l’appropriato builder.<br />

-o-<br />

Selezionate un controllo nel form e scegliete il tasto Builder nella finestra Properties.<br />

Utilizzo del Form Builder<br />

●<br />

Dal menu Form, scegliere Quick Form.<br />

Quando avete <strong>di</strong>versi controlli su un form, potete formattarli tutti insieme scegliendo l’<br />

AutoFormat Builder.<br />

Per formattare una serie <strong>di</strong> controlli<br />

1.<br />

2.<br />

Nel Form Designer selezionate i controlli.<br />

Dalla barra pulsanti del Form Designer, scegliete il tasto AutoFormat.<br />

Quando viene mostrato un Builder, selezionate le opzioni in ogni scheda e quin<strong>di</strong> scegliete OK<br />

per salvare le mo<strong>di</strong>fiche.<br />

Per Utilizzare<br />

Costruire una casella combinata (combo box) Combo Box Builder<br />

Costruire gruppo <strong>di</strong> coman<strong>di</strong> Command Group Builder<br />

Costruire casella <strong>di</strong> mo<strong>di</strong>fica ( e<strong>di</strong>ting box) E<strong>di</strong>t Box Builder<br />

Costruire form Form Builder<br />

Costruire griglia Grid Builder<br />

Costruire casella lista (List Box) List Box Builder<br />

Costruire gruppo <strong>di</strong> opzioni (Option Group) Option Group Builder<br />

Costruire casella <strong>di</strong> testo (Text Box) Text Box Builder<br />

Impostare gruppi <strong>di</strong> controlli AutoFormat Builder<br />

Creare controlli dell’integrità referenziale fra <strong>di</strong>verse<br />

tabelle<br />

Referential Integrity Builder


Creare una nuova tabella<br />

Le tabelle sono gli elementi comuni per lavorare con i dati, creare database relazionali e<br />

applicazioni.<br />

Quando avete la necessità <strong>di</strong> creare una nuova tabella, potete ricorrere all’assistenza del Tabel<br />

Wizard oppure utilizzare il Table Designer e impostare la tabella con i campi <strong>di</strong> cui necessitate.<br />

Ricordatevi questi punti principali quando create una tabella:<br />

● Fate corrispondere il tipo <strong>di</strong> dati del campo con l’informazione che andrete ad<br />

immagazzinarvi( per maggiore informazione leggete la parte successiva " Scelta del tipo <strong>di</strong><br />

dati " ).<br />

● Il campo deve essere sufficientemente largo per accomodare il dato che dovrà mostrare.<br />

● Impostate un numero adeguato <strong>di</strong> decimali per i campi numerici e variabili.<br />

● Selezionate NULL se volete che il campo accetti "nullo" come valore.<br />

Scegliere un tipo <strong>di</strong> dati<br />

Ogni campo nella vostra tabella contiene un particolare tipo <strong>di</strong> dati. Potete impostare il tipo <strong>di</strong> dati<br />

per i campi in base ala seguente tabella.<br />

Tipo <strong>di</strong> dati Descrizione Esempio<br />

Character Testo alfanumerico In<strong>di</strong>rizzo <strong>di</strong> un cliente<br />

Currency Unità monetarie Prezzo <strong>di</strong> acquisto<br />

Numeric Numeri interi o decimali Quantità <strong>di</strong> pezzi or<strong>di</strong>nati<br />

Float Lo stesso <strong>di</strong> numerico<br />

Date Mese, Giorno, Anno Data <strong>di</strong> inserimento dell’or<strong>di</strong>ne<br />

DateTime Mese, giorno, anno, ora, minuto, secondo Data <strong>di</strong> arrivo <strong>di</strong> un impiegato al lavoro<br />

Double Cifra in doppia precisione Calcoli che richiedono elevata precisione<br />

Integer Valore numerico non decimale Numero della riga <strong>di</strong> un or<strong>di</strong>ne<br />

Logical Vero o Falso Se un or<strong>di</strong>ne è stato compilato o meno<br />

Memo Testo alfanumerico <strong>di</strong> lunghezza non precisata<br />

Note <strong>di</strong> una chiamata telefonica in una<br />

rubrica<br />

General OLE Foglio <strong>di</strong> calcolo <strong>Microsoft</strong> Excel ®<br />

Character (Binary)<br />

Memo (Binary)<br />

Lo stesso <strong>di</strong> carattere ma i valori non sono<br />

mo<strong>di</strong>ficati quando cambia il il codepage della<br />

nazione<br />

Lo stesso <strong>di</strong> memo ma i valori non sono tradotti<br />

quando cambia il code page<br />

Una password memorizzata in una tabella<br />

utilizzata in più paesi<br />

Uno script <strong>di</strong> accesso usato in Paesi<br />

<strong>di</strong>fferenti


Usare il Wizard<br />

Quando dovete creare una nuova tabella, potete utilizzare il Table Wizard per farvi aiutare<br />

nell’impostazione della tabella. IL wizard vi formulerà una serie <strong>di</strong> domande e costruirà la tabella<br />

per voi in base alle vostre risposte.<br />

Per creare una tabella con il wizard<br />

1.<br />

2.<br />

3.<br />

4.<br />

Nel Project Manager, selezionate la scheda Data e selezionate Free Tables.<br />

selezionate New.<br />

Selezionate il bottone Table Wizard.<br />

Seguite le istruzioni sulle videate del wizard.<br />

Potete anche accedere al wizard dal menu File quando scegliete New e Table e poi<br />

successivamente l’opzione Table Wizard.<br />

Se basate la vostra tabella su un database, potete utilizzare gli stili, l’impostazione dei campi o la<br />

chiave primaria e le relazioni delle tabelle del database.<br />

Avvio del Table Designer<br />

Se volete creare le vostre tabelle <strong>di</strong>rettamente da soli senza il wizard, usate dal Project Manager la<br />

scheda Table oppure scegliete New dal menu File, selezionate Tabella e quin<strong>di</strong> New File. Creare<br />

una nuova tabella nel Table Designer<br />

Se volete creare una tabella da aggiungere ad un database, aprite il database prima <strong>di</strong> creare la<br />

tabella che così <strong>di</strong>venterà parte integrante del database, potete comunque aggiungerla<br />

successivamente. Successivamente troverete maggiori informazioni sulle tabelle <strong>di</strong> database.


Per creare una nuova tabella<br />

1. Dal Project Manager, scegliete Tables sotto Databases, oppure Free Tables.<br />

2. Scegliete New, e poi New Table.<br />

3. Nella finestra <strong>di</strong> <strong>di</strong>alogo Create, inserite il nome della tabella e quin<strong>di</strong> scegliete Save.<br />

4. Nella scheda Fields del Table Designer, inserite il nome del primo campo nella cella<br />

Name.<br />

5. Nel campo Type, selezionate la tipologia del dato che verrà inserito.<br />

6. Nella colonna Width (larghezza), impostate il valore della larghezza del campo.<br />

7. Se Type è <strong>di</strong> tipo Numeric o Float, impostate il numero decimali che devono essere<br />

mostrati nel campo Decimal.<br />

8. Se volete impostare un In<strong>di</strong>ce al campo selezionate l’or<strong>di</strong>namento nella colonna Index.<br />

9. Se volete accettare valori nulli come inserimento valido, selezionate NULL.<br />

Potete anche scegliere <strong>di</strong> inserire imme<strong>di</strong>atamente i dati, oppure riaprire la tabella e inserire i<br />

records successivamente.<br />

Per aggiungere records alla tabella<br />

1.<br />

2.<br />

3.<br />

4.<br />

Nel Project Manager, selezionate il nome della tabella.<br />

Scegliete Browse.<br />

Dal menu View, scegliete Append Mode.<br />

Inserite il nuovo record nella finestra Browse.<br />

Se preferite vedere ogni campo in una riga <strong>di</strong>fferente, cambiate la vista in modo E<strong>di</strong>t scegliendolo<br />

dal menu View.


Salvare e visualizzare informazioni nelle tabelle<br />

Le tabelle salvano i vostri dati nel formato righe e colonne, simile ai fogli elettronici. Ogni riga corrisponde ad un<br />

record e ogni colonna rappresenta un campo <strong>di</strong> quel record.<br />

Righe e colonne nelle tabelle<br />

Potete creare due tipi <strong>di</strong> tabelle in <strong>Visual</strong> FoxPro: tabelle database, che sono incorporate come parti <strong>di</strong> database, e<br />

tabelle libere (free tables) che sono in<strong>di</strong>pendenti da qualsiasi database.<br />

<strong>Visual</strong>izzare il contenuto delle tabelle<br />

IL metodo più veloce per visualizzare il contenuto <strong>di</strong> una tabella e <strong>di</strong> vederla in una finestra <strong>di</strong> scorrimento detta<br />

Browse window. La Browse window mostra i contenuti della tabella come una serie <strong>di</strong> righe e colonne che potette<br />

scorrere.<br />

Per scorrere una tabella<br />

1. Dal menu File, scegliete Open e selezionate il nome della tabella che volete visualizzare.<br />

2. Dal menu View, scegliete Browse.<br />

Potete anche selezionare una tabella dal Project Manager, e cliccare sul bottone Browse.<br />

Vista <strong>di</strong> una Tabella nella finestra Browse


Per un facile inserimento dei dati potete impostare la finestra <strong>di</strong> Browse in modalità E<strong>di</strong>t. In modo E<strong>di</strong>t, il nome delle<br />

colonne sono mostrate nella parte sinistra della finestra.<br />

Per cambiare la finestra Browse in modo E<strong>di</strong>t<br />

Dal menu View, scegliete E<strong>di</strong>t.<br />

Table in E<strong>di</strong>t mode<br />

In entrambi i mo<strong>di</strong> potete scorrere i records, cercare uno specifico record e fare delle mo<strong>di</strong>fiche <strong>di</strong>rettamente nel<br />

contenuto della tabella.<br />

Muoversi all’interno <strong>di</strong> una Tabella<br />

Utilizzate la barra <strong>di</strong> scorrimento per muovervi all’interno <strong>di</strong> una tabella e visualizzare <strong>di</strong>fferenti record o campi.<br />

Potete anche utilizzare le frecce cursore e il tasto TAB per muovervi attorno.<br />

Per visualizzare <strong>di</strong>versi records<br />

1. Dal menu Table, scegliete Go to Record.<br />

2. Nel submenu, scegliete Top, Bottom, Next, Previous, or Record #. (il pound o <strong>di</strong>esis # significa n°)<br />

3.<br />

Se scegliete Record #, inserite il numero del record che volete vedere nella finestra <strong>di</strong> <strong>di</strong>alogo Go to Record,<br />

e quin<strong>di</strong> scegliete Go To.


E<strong>di</strong>tare i campi della tabella<br />

Per cambiare i dati <strong>di</strong> un campo Character, Numeric, Logical, Date or DateTime, potete cliccare col mouse nel<br />

campo e cambiare l’informazione o selezionare l’intero campo e inserire i nuovi dati.<br />

Per e<strong>di</strong>tare i dati in un campo <strong>di</strong> tipo Memo, fate un doppio click nel campo oppure premete i tasti CTRL+PGDN,<br />

apparirà una finestra <strong>di</strong> e<strong>di</strong>ting con il contenuto attuale <strong>di</strong> quel campo.<br />

Un campo General contiene un oggetto <strong>di</strong> tipo OLE ( sia linkato che incluso ). Potete e<strong>di</strong>tare questo oggetto facendo<br />

un doppio click nel campo General della finestra Browse oppure e<strong>di</strong>tare il documento <strong>di</strong>rettamente ( come con un<br />

documento <strong>Microsoft</strong> Word o Excel ) oppure facendo un doppio click sull’oggetto per aprire l’applicazione<br />

generatrice come ad esempio un oggetto creato con <strong>Microsoft</strong> Paint.<br />

Aggiungere record a una tabella<br />

Per aggiungere velocemente record ad una tabella, potete impostare la finestra <strong>di</strong> Browse o <strong>di</strong> E<strong>di</strong>t in modalità<br />

Append. In modalità Append, una serie <strong>di</strong> campi vuoti appariranno in fondo alla tabella, così potete inserirvi i dati<br />

per creare il nuovo record.<br />

Per aggiungere un nuovo record vuoto<br />

Dal menu View, selezionate Append Mode.<br />

Riempite i campi del nuovo record, spostandovi col tasto TAB da una campo all’altro, ogni volta che completerete il<br />

record verrà creata una nuova riga <strong>di</strong> campi vuoti pronti per l’inserimento <strong>di</strong> dati.<br />

Modalità Append della finestra Browse<br />

Cancellare i record<br />

La cancellazione <strong>di</strong> record in una tabella è un processo composto da due fasi. Prima dovete spuntare i record da<br />

cancellare cliccando nella casella all’estrema sinistra <strong>di</strong> ogni record.<br />

Record spuntati per la cancellazione


La spunta non cancella i record. Per rendere effettiva la cancellazione, dovete scegliere Remove Deleted Records dal<br />

menu della Tabella. Questa procedura cancella i records che avete spuntato, e unifica i records rimanenti della<br />

tabella. La procedura <strong>di</strong> rimozione dei records spuntati termina con la chiusura della tabella che dovrete quin<strong>di</strong><br />

riaprire per continuare a lavorare.<br />

Per cancellare i records da una tabella<br />

1. Spuntare i records che si vogliono cancellare cliccando nella casella <strong>di</strong> sinistra.<br />

2. Dal menu Table, scegliete Remove Deleted Records.<br />

3. Scegliete Yes in risposta alla richiesta se volete procedere con la ricompattazione ( pack ) della tabella.<br />

Potete anche selezionare un gruppo <strong>di</strong> records da cancellare impostando le con<strong>di</strong>zioni nella finestra <strong>di</strong> <strong>di</strong>alogo della<br />

procedura Delete. Scegliete Delete Records dal menu Table per impostare i criteri <strong>di</strong> cancellazione.<br />

Finestra <strong>di</strong> <strong>di</strong>alogo della procedura Delete<br />

Cliccate sul tasto Scope per impostare la sequenza dei records da cancellare.<br />

Se è possibile descrivere il set <strong>di</strong> record da cancellare, potete costruire una espressione basata su questa descrizione .<br />

Scegliete il tasto FOR per attivare il costruttore <strong>di</strong> espressioni (Expression Builder) così potete crearla. Per esempio,<br />

utilizzando l’espressione FOR Country = 'UK' selezionerà tutti i records che contengono il dato UK<br />

preimpostandoli per la successiva cancellazione.<br />

Personalizzare la finestra Browse<br />

Per personalizzare la finestra Browse per sod<strong>di</strong>sfare le vostre necessità, potete you riorganizzare o cambiare la<br />

larghezza delle colonne, impostare la griglia visibile o trasparente, oppure <strong>di</strong>videre la finestra <strong>di</strong> Browse in due<br />

pannelli.


Riorganizzare le colonne<br />

Potete riorganizzare le colonne della finestra Browse nell’or<strong>di</strong>ne che più vi piace. Questo non influisce sulla struttura<br />

della tabella.<br />

Per riorganizzare le colonne nella finestra <strong>di</strong> Browse<br />

●<br />

❍<br />

Trascinate l’intestazione della colonna fino alla nuova posizione.<br />

-o-<br />

Dal menu Table, scegliete Move Field, e utilizzate il tasto freccia a sinistra o freccia <strong>di</strong> destra per spostare le<br />

colonne. Premere quin<strong>di</strong> Invio quando avete finito.<br />

Mo<strong>di</strong>ficare la larghezza delle Colonne<br />

Potete anche cambiare la larghezza delle colonne nella finestra <strong>di</strong> Browse. Questo ri<strong>di</strong>mensionamento non ha effetti<br />

sulla lunghezza del campo né sulla struttura della tabella. Se volete cambiare l’attuale larghezza del campo,<br />

mo<strong>di</strong>ficate la struttura della attraverso il Table Designer .<br />

Per cambiare la larghezza della colonna<br />

●<br />

❍<br />

Posizionate il cursore nell’intestazione della colonna fra i due nomi <strong>di</strong> campo, trascinate il puntatore per<br />

ri<strong>di</strong>mensionare la colonna.<br />

-o-<br />

Selezionate un campo. E dal menu Table, scegliete Size Field, e usate le frecce cursore sinistra destra per<br />

ri<strong>di</strong>mensionare la colonna. Premete quin<strong>di</strong> il tasto invio.<br />

Attivare e <strong>di</strong>sattivare la griglia<br />

Potete anche <strong>di</strong>sattivare la visualizzazione della griglia nella finestra <strong>di</strong> Browse.<br />

Per attivare o <strong>di</strong>sattivare la griglia<br />

●<br />

Dal menu View, scegliete Gridlines.<br />

Separare una finestra Browse<br />

Potrebbe essere utile <strong>di</strong>videre la finestra <strong>di</strong> lettura ( browse window ) in modo da poter guardare due aree <strong>di</strong>verse<br />

della tabella, oppure guardare allo stesso record nella modalità Browse e nella modalità E<strong>di</strong>t simultaneamente.<br />

Dividere la finestra Browse


Per <strong>di</strong>videre la finestra <strong>di</strong> Browse<br />

1. Posizionate il puntatore del mouse nella barra <strong>di</strong> separazione nella parte bassa all’angolo sinistra della vista.<br />

2. Trascinate la barra <strong>di</strong> separazione verso destra in modo da <strong>di</strong>videre la finestra Browse in due pannelli.<br />

-oppure-<br />

3. Dal menu Table, scegliere Resize Partitions.<br />

4. Premere il TASTO FRECCIA DESTRA per muovere la barra <strong>di</strong> separazione ( split bar ).<br />

5. Premere INVIO.<br />

Per ri<strong>di</strong>mensionare i pannelli <strong>di</strong> una delle parti della finestra Browse.<br />

1. Posizionate il puntatore sulla barra <strong>di</strong> separazione.<br />

2. Trascinate la barra verso destra o sinistra per cambiare la <strong>di</strong>mensione dei pannelli<br />

-oppure-<br />

3. Dal menu Table, scegliete Resize Partitions.<br />

4. Premete i tasti FRECCIA DESTRA O SINISTRA per muovere la barra <strong>di</strong> separazione.<br />

5. Premete INVIO.<br />

Di default, i due pannelli della finestra <strong>di</strong> scorrimento sono legati insieme; questo significa, che selezionate records<br />

<strong>di</strong>fferenti in un pannello, le mo<strong>di</strong>fiche si riflettono anche nell’altro. Se volete separare i due pannelli in modo che<br />

funzionino in<strong>di</strong>pendentemente, ( ovvero lo scorrimento <strong>di</strong> un pannello non si riflette sull’altro, deselezionate il Link<br />

Partitions nel menu Table.


Mo<strong>di</strong>ficare una tabella<br />

Quando avete la necessità <strong>di</strong> mo<strong>di</strong>ficare la struttura <strong>di</strong> una tabella, usate il Table Designer.<br />

Con il Table Designer, potete aggiungere o eliminare campi, impostare il tipo <strong>di</strong> dati e la<br />

larghezza del campo, visualizzare o impostare gli in<strong>di</strong>ci che organizzano i contenuti <strong>di</strong> una<br />

tabella.<br />

Se la tabella che state mo<strong>di</strong>ficando fa parte <strong>di</strong> un database sono <strong>di</strong>sponibili campi specifici e<br />

proprietà <strong>di</strong> tabella.<br />

Per mo<strong>di</strong>ficare una Tabella<br />

●<br />

Nel Project Manager, selezionate il nome della tabella e scegliete Mo<strong>di</strong>fy.<br />

La struttura <strong>di</strong> una tabella è mostrata nel Table Designer.<br />

Il Table Designer mostra la struttura della tabella attiva<br />

Per aggiungere un campo ad una tabella<br />

1.<br />

Dal Table Designer, selezionate Insert.


2. Nella colonna Name, inserite il nome del nuovo campo.<br />

3. Nella colonna Type, selezionate il tipo <strong>di</strong> dati per quel campo.<br />

4. Nella colonna Width, impostate o inserite la larghezza <strong>di</strong> quel campo.<br />

5. Se il campo ha è <strong>di</strong> tipo Numeric o Float, impostate il numero <strong>di</strong> cifre decimali che<br />

prenderanno posto nella colonna Decimal.<br />

6. Se desiderate accettare valori nulli, selezionate la colonna NULL.<br />

7. Cliccate su OK.<br />

8. Cliccate su Yes per attivare le mo<strong>di</strong>fiche.<br />

Per eliminare un campo dalla tabella<br />

●<br />

Selezionate il campo e cliccate su Delete.


Personalizzare le tabelle<br />

Potete personalizzare le tabelle in modo che solamente alcuni record siano visualizzati attraverso la creazione <strong>di</strong> un filtro.<br />

Potete anche limitare l’accesso a un determinato campo sempre attraverso un filtro <strong>di</strong> campo, che vi consente <strong>di</strong> mostrare<br />

solo alcuni campi.<br />

Filtrare una Tabella<br />

Se volete vedere solo alcuni tipi <strong>di</strong> record, potete impostare un filtro che limita i record mostrati nella finestra <strong>di</strong> Browse. I<br />

filtri sono utili quando volete ad esempio mostrare<br />

Per impostare un filtro usate la finestra <strong>di</strong> <strong>di</strong>alogo Work Area Properties, <strong>di</strong>sponibile attraverso il comando proprietà nel<br />

menu Table.<br />

Finestra <strong>di</strong> <strong>di</strong>alogo Work Area Properties<br />

Per impostare un filtro su una tabella<br />

1. Scorrete la tabella che volete filtrare.<br />

2. Dal menu Table, scegliete Properties.<br />

3. Nella finestra <strong>di</strong> <strong>di</strong>alogo della Work Area Properties, inserite l’espressione filtro <strong>di</strong>rettamente nel campo Data<br />

filter.<br />

❍<br />

-oppure-<br />

Cliccate sul tasto sotto Data Filter, e nell’ Expression Builder, create una espressione che selezioni il tipo <strong>di</strong> record che<br />

volete vedere e cliccate su OK.<br />

Quando scorrerete la tabella, vedrete solo i record che sono selezionati dal filtro.<br />

Risultato <strong>di</strong> un filtraggio <strong>di</strong> tabella


Restringere l’accesso ad un campo<br />

Quando desiderate tenere alcuni campi nascosti quando la tabella viene visualizzata o utilizzata in una form, potete<br />

impostare un filtro <strong>di</strong> campo che restringa l’accesso a quei campi. Selezionate i campi che volete mostrare in modo che<br />

automaticamente resteranno nascosti tutti gli altri.<br />

Per impostare un filtro <strong>di</strong> campo<br />

1. Da menu Table scegliete Properties.<br />

2. Nella finestra <strong>di</strong> <strong>di</strong>alogo Work Area Properties, sotto Allow access to, selezionate Only fields specified by 'field<br />

filter' e scegliete Field Filter.<br />

3. Nella finestra <strong>di</strong> <strong>di</strong>alogo Field Picker, aggiungete i campi nella colonna Selected fields e scegliete OK.<br />

Filtri <strong>di</strong> campo e suoi effetti sulla finestra Browse<br />

Quando scorrerete la tabella, solo i campi che avete selezionato saranno visualizzati.


Or<strong>di</strong>nare i dati attraverso un in<strong>di</strong>ce<br />

Quando create una tabella, potete or<strong>di</strong>nare i dati per velocizzare il recupero dei dati<br />

utilizzando gli in<strong>di</strong>ci. Con gli in<strong>di</strong>ci potete velocemente processare i vostri records per la<br />

visualizzazione, o per l’interrogazione o la stampa. Potete anche selezionare i record,<br />

controllare se vengono inseriti valori duplicati, e mantenere relazioni fra tabelle.<br />

Potete utilizzare in<strong>di</strong>ci per incrementare la velocità con cui i record sono estratti o ricercati<br />

per la visualizzazione o la stampa.<br />

Gli in<strong>di</strong>ci sono importanti anche per la creazione <strong>di</strong> relazioni fra tabelle <strong>di</strong> un database.<br />

Gli in<strong>di</strong>ci in <strong>Visual</strong> FoxPro sono come gli in<strong>di</strong>ci <strong>di</strong> un libro: una lista <strong>di</strong> numeri <strong>di</strong> pagine<br />

che portano il lettore ad una pagina specifica del libro.<br />

Nello stesso modo, un in<strong>di</strong>ce della tabella è una lista <strong>di</strong> numeri <strong>di</strong> record che puntano ad uno<br />

specifico record da processare e determinano l’or<strong>di</strong>ne <strong>di</strong> processo per quel record.<br />

Un in<strong>di</strong>ce <strong>di</strong> una tabella immagazzina una lista <strong>di</strong> puntatori ai records.<br />

Per esempio, potete visualizzare un record nella tabella clienti in or<strong>di</strong>ne alfabetico, oppure in<br />

or<strong>di</strong>ne <strong>di</strong> denominazione dell’azienda, prepararlo per la stampa <strong>di</strong> etichette in or<strong>di</strong>ne <strong>di</strong><br />

CAP, oppure organizzarli solo per velocizzare la ricerca. Gli in<strong>di</strong>ci non cambiano l’or<strong>di</strong>ne<br />

con cui sono salvati i dati nella tabella ma solamente l’or<strong>di</strong>ne con cui VFP legge ogni<br />

record.<br />

Potete creare più <strong>di</strong> un in<strong>di</strong>ce per una tabella, ognuno rappresenterà un modo <strong>di</strong>verso per<br />

processare i vostri records. Gli in<strong>di</strong>ci che create sono salvati in un file in<strong>di</strong>ce a struttura<br />

composta che viene aperto e aggiornato ogni volta che viene utilizzata la tabella.<br />

Il nome per il file in<strong>di</strong>ce è lo stesso della tabella associata e ha l’estensione .cdx<br />

Gli in<strong>di</strong>ci sono molto semplici da creare che potreste essere tentati <strong>di</strong> in<strong>di</strong>cizzare ogni


campo, tuttavia, gli in<strong>di</strong>ci che vengono utilizzati solo raramente possono ridurre le<br />

prestazioni.


Creare un In<strong>di</strong>ce<br />

Una volta che avete una tabella, potete creare un campo o una espressione. Per usare gli in<strong>di</strong>ci con efficienza, create in<strong>di</strong>ci<br />

su campi che usate con maggiore frequenza nelle tabelle, queries o nei reports. Se impostate un in<strong>di</strong>ce in un campo che<br />

non è molto utile per l’applicazione <strong>di</strong> filtri o query, come ad esempio l’in<strong>di</strong>rizzo <strong>di</strong> casa, potreste rallentare inutilmente le<br />

prestazioni del database.<br />

Per creare un in<strong>di</strong>ce<br />

1. Nel Project Manager, selezionate la tabella a cui volete aggiungere un in<strong>di</strong>ce, e scegliete Mo<strong>di</strong>fy.<br />

2. Nel Table Designer, selezionate la scheda Indexes.<br />

La scheda Indexes del Table Designer<br />

3. Nela campo Name, inserite il nome per l’in<strong>di</strong>ce.<br />

4. Dalla lista Type, selezionate il tipo <strong>di</strong> in<strong>di</strong>ce.<br />

Maggiori informazioni nella sezione seguente, Scegliere una tipologia <strong>di</strong> in<strong>di</strong>ce<br />

Nella finestra Expression, inserite il nome del campo con cui volete creare l’or<strong>di</strong>ne.<br />

-oppure-<br />

Costruite una espressione selezionando il tasto in fondo alla finestra in modo da attivare l’ Expression Builder.<br />

Maggiori informazioni nella sezione seguente Or<strong>di</strong>nare attraverso Campi Multipli<br />

Se volete selezionare records, immettete una espressione nella finestra Filter oppure selezionate il tasto alla fine<br />

della finestra per costruire una espressione..<br />

(Per maggiori informazioni consultate la sezione Filtrare un record)<br />

5. Cliccate su OK.<br />

Una volta che avete creato un in<strong>di</strong>ce per la tabella, potete utilizzarlo per or<strong>di</strong>nare i vostri record.<br />

Per or<strong>di</strong>nare i record utilizzando un in<strong>di</strong>ce<br />

1. Nel Project Manager, selezionate la tabella con l’in<strong>di</strong>ce che avete creato.<br />

2. Selezionate Browse.<br />

3. Dal menu Table, scegliete Properties.<br />

4.<br />

Nella finetra Index order, selezionate l’in<strong>di</strong>ce che volete utilizzare.


5. Scegliete OK.<br />

La tabella apparirà nella finestra <strong>di</strong> Browse, mostrando i records nell’or<strong>di</strong>ne in base all’in<strong>di</strong>ce che avete specificato.<br />

Potete anche or<strong>di</strong>nare il risultato <strong>di</strong> queries o <strong>di</strong> reports azionandoli quando è selezionato l’in<strong>di</strong>ce<br />

Scegliere il tipo <strong>di</strong> In<strong>di</strong>ce<br />

Potete scegliere fra quattro tipi <strong>di</strong> in<strong>di</strong>ci:<br />

● primario (Primary)<br />

● can<strong>di</strong>dato (Can<strong>di</strong>date )<br />

● regolare (Regular )<br />

● unico (Unique )<br />

Gli in<strong>di</strong>ci Primary assicurano che solamente valori unici siano inseriti in un campo e determinano l’or<strong>di</strong>ne con cui<br />

vengono processati i records. Potete creare solamente un in<strong>di</strong>ce primario per ogni tabella se la tabella è inserita in un<br />

database. Se la tabella ha già un in<strong>di</strong>ce primario potete aggiungere un in<strong>di</strong>ce Can<strong>di</strong>date.<br />

Anche gli in<strong>di</strong>ci Can<strong>di</strong>date forzano l’inserimento <strong>di</strong> valori unici nei campi e determinano in che or<strong>di</strong>ne i records vengono<br />

processati, così come i Primary ma è possibile averne più <strong>di</strong> uno per ogni tabella del database e per le free tables.<br />

Gli in<strong>di</strong>ci Regular determinano l’or<strong>di</strong>ne in cui i records vengono processati ma consentono anche l’inserimento <strong>di</strong> valori<br />

duplicati. E’ possibile utilizzare più <strong>di</strong> un in<strong>di</strong>ce <strong>di</strong> tipo Regular in una tabella.<br />

Per questioni <strong>di</strong> compatibilità con le precedenti versioni sono <strong>di</strong>sponibili anche in<strong>di</strong>ci <strong>di</strong> tipo unique che selezionano e<br />

or<strong>di</strong>nano un sottor<strong>di</strong>ne <strong>di</strong> record basati sul primo valore <strong>di</strong> un campo che specificate. Se volete selezionare record in<br />

questo modo è preferibile creare una query o una view.<br />

Or<strong>di</strong>namento per campi multipli<br />

Per aumentare la velocità delle queries o delle views che hanno filtri in più <strong>di</strong> un campo, potete or<strong>di</strong>nare i vostri record<br />

specificando più <strong>di</strong> un campo per l’espressione in<strong>di</strong>ce. I campi saranno considerati nello stesso or<strong>di</strong>ne con cui appaiono<br />

nell’espressione. Se create una espressione filtro utilizzando campi numerici, l’in<strong>di</strong>ce or<strong>di</strong>nerà i records attraverso la<br />

somma dei valori dei campi, non solamente quello <strong>di</strong> un campo.<br />

Per or<strong>di</strong>nare i records utilizzando più <strong>di</strong> un campo<br />

Dal Project Manager, selezionate la tabella a cui volete aggiungere un in<strong>di</strong>ce e scegliete Mo<strong>di</strong>fy.<br />

1) Nella scheda Indexes, inserite il nome e il tipo dell’in<strong>di</strong>ce.<br />

2) Nel campo Expression, inserite l’espressione che elenca i campi con cui volete l’or<strong>di</strong>namento.<br />

Per esempio, poterste volere un or<strong>di</strong>namenti per Nazione, CAP all’interno delle nazioni e Ragione Sociale<br />

all’interno del co<strong>di</strong>ci CAP. Potete utilizzare il segno (+) per creare una espressione in<strong>di</strong>ce da un campo<br />

carattere.<br />

Cliente.nazione + cliente.cap + cliente.ragsociale<br />

Fate caso che il campo che cambia <strong>di</strong> meno è il primo della lista in<strong>di</strong>ce.<br />

3) Scegliete OK.<br />

Se volete utilizzare campi <strong>di</strong> tipo <strong>di</strong>verso, potete convertire i valori dei campi non carattere in valori carattere includendo<br />

il campo con la funzione STR( ). Per esempio potete provare a or<strong>di</strong>nare i record per MassimoImportoOr<strong>di</strong>ne e quin<strong>di</strong><br />

per RagioneSociale in questo modo ( considerando che MassimoImportoOr<strong>di</strong>ne è <strong>di</strong> tipo Currency mentre RagioneSociale<br />

è <strong>di</strong> tipo Character)<br />

STR(cliente.maximpord,20,4) + cliente.ragsoc


Filtrare i record<br />

Potete decidere quali records saranno inclusi in un in<strong>di</strong>ce aggiungendo una espressione filtro.<br />

Per filtrare i records<br />

1. Dal Project Manager, selezionate la tabella a cui volete aggiungere in in<strong>di</strong>ce e cliccate su Mo<strong>di</strong>fy.<br />

2. Nella scheda Indexes, create o selezionate un in<strong>di</strong>ce.<br />

3. Nella casella Filter, inserite l’espressione filtro.<br />

Per esempio, volendo creare un filtro che selezioni solamente i clienti residenti in Canada:<br />

customer.country = "Canada"<br />

4.<br />

cliccate su OK.


Uso degli In<strong>di</strong>ci<br />

Potete aumentare le prestazioni creando e utilizzando gli in<strong>di</strong>ci che rispondano a determinate<br />

operazioni ricorrenti per esempio, or<strong>di</strong>namenti e relazioni fra tabelle, è possibile sod<strong>di</strong>sfare<br />

<strong>di</strong>versi compiti in base al tipo <strong>di</strong> in<strong>di</strong>ce utilizzato.<br />

Se volete Usate<br />

Organizzare i record per aumentare la velocità <strong>di</strong><br />

visualizzazione o <strong>di</strong> interrogazione o <strong>di</strong> stampa<br />

Controllare l’inserimento <strong>di</strong> valori duplicati e or<strong>di</strong>nare i<br />

records<br />

Or<strong>di</strong>nare i records<br />

Un in<strong>di</strong>ce <strong>di</strong> tipo regular, can<strong>di</strong>date, o primary<br />

Un in<strong>di</strong>ce primary or can<strong>di</strong>date per tabelle <strong>di</strong> database e un<br />

can<strong>di</strong>cate index per le free table.<br />

Potete or<strong>di</strong>nare i record in base al nome del campo oppure attraverso un’altra espressione in<strong>di</strong>ce.<br />

L’in<strong>di</strong>ce valuta l’espressione per determinare l’or<strong>di</strong>ne in cui i records andranno organizzati<br />

dopo<strong>di</strong>ché salva una lista <strong>di</strong> puntatori au records per l’esecuzione dell’or<strong>di</strong>namento.<br />

Per creare un in<strong>di</strong>ce per organizzare records<br />

1.<br />

2.<br />

3.<br />

4.<br />

5.<br />

Nel Project Manager, selezionate la tabella a cui volete aggiungere un in<strong>di</strong>ce e selezionate<br />

Mo<strong>di</strong>fy.<br />

Nella scheda Indexes, inserite il nome e tipo <strong>di</strong> in<strong>di</strong>ce.<br />

Nella colonna Expression, inserite il nome del campo con cui volete organizzare<br />

l’or<strong>di</strong>namento.<br />

-oppure-<br />

Scrivete l’espressione che volete utilizzare per or<strong>di</strong>nare i records o costruite una<br />

espressione cliccando sul tasto alla fine della finestra per visualizzare l’ Expression<br />

Builder.<br />

Se volete che i records appaiano in or<strong>di</strong>ne <strong>di</strong>scendente o ascendente, selezionate la freccia<br />

alla sinistra del nome dell’in<strong>di</strong>ce.<br />

Cliccate su OK.<br />

Controllare l’inserimento in un campo <strong>di</strong> valori duplilcati<br />

Potreste voler controllare l’inserimento <strong>di</strong> valori duplicati in un campo, per esempio ogni cliente<br />

deve avere un unico valore Co<strong>di</strong>ce.Cliente nel campo Co<strong>di</strong>ce della tabella Clienti.<br />

Un in<strong>di</strong>ce può obbligare l’inserimento <strong>di</strong> un valore unico in un campo


Potete utilizzare un campo come campo chiave che identifica il record. Se la tabella è parte del<br />

database, si può utilizzare sia un in<strong>di</strong>ce Primary che un in<strong>di</strong>ce Can<strong>di</strong>date, se invece la tabella è <strong>di</strong><br />

tipo Free Table oppure possiede già un in<strong>di</strong>ce Primary, dovete utilizzare un in<strong>di</strong>ce Can<strong>di</strong>date.<br />

Per creare un in<strong>di</strong>ce che forzi l’inserimento <strong>di</strong> un valore unico in un campo<br />

1.<br />

2.<br />

3.<br />

4.<br />

Nel Project Manager, selezionate la tabella a cui volete creare l’in<strong>di</strong>ce e selezionate<br />

Mo<strong>di</strong>fy.<br />

Nella scheda Indexes, create l’in<strong>di</strong>ce.<br />

Nella colonna Type, selezionate Primary o Can<strong>di</strong>date.<br />

Cliccate su OK.


Lavorare con un database<br />

Un database fornisce un ambiente <strong>di</strong> lavoro dove potete immagazzinare tabelle, stabilire relazioni fra<br />

tabelle e inpostare relazioni fra le tabelle e le regole <strong>di</strong> convalida che controlli come le tabelle relazionate<br />

lavorano insieme. Un database viene salvato in un file con l’estensione.dbc<br />

Contenuto <strong>di</strong> un database


Potete untilizzare databases in<strong>di</strong>pendentemente oppure incorporandoli in un progetto aggiungendoli al<br />

Project Manager. Per accedere alle tabelle <strong>di</strong> un database, il database deve essere prima aperto.<br />

Per aprire un database<br />

1. Dal Project Manager, selezionate il nome <strong>di</strong> un database che volete utilizzare.<br />

2. Cliccate su Mo<strong>di</strong>fy.<br />

Potete anche scegliere Open dal menu File e quin<strong>di</strong> sceglire il nome del database.<br />

Per visualizzare la struttura <strong>di</strong> un database <strong>di</strong> esempio, provate ad aprire Testdata.dbc che si trova nel<br />

database <strong>Visual</strong> Stu<strong>di</strong>o …\Samples\Vfp98\Data <strong>di</strong>rectory.<br />

Quando aprite un database, appare il Database Designer, che vi mostra le tabelle con cui è formato il<br />

database e le relazioni fra le tabelle.<br />

Tabelle nel Database Designer


Tramite la barra pulsanti del Database Designer potete accedere velocemente accedere alle opzioni relative<br />

al database. I coman<strong>di</strong> del Database sono <strong>di</strong>sponibili dal Menu Database, potete avere una scorciatoia ai<br />

coman<strong>di</strong> cliccando col tasto destro del mouse nel Database Designer.<br />

Potete ri<strong>di</strong>mensionare le tabelle nel Database Designer in modo da visualizzar più o meno campi e in<strong>di</strong>ci<br />

contenuti nella tabella, oppure colassare la tabella per visualizzare solamente il nome della tabella che può<br />

essere utile se il database contiene molte tabelle.<br />

Per espandere o colassare una singola tabella<br />

1. Posizionate il puntatore del mouse nel Database Designer e cliccate col tasto destro del mouse<br />

2. Scegliete Expand oppure Collapse.<br />

Per Espandere o colassare tutte le tabelle contemporaneamente<br />

1. Posizionate il puntatore del mouse nel Database Designer cliccate col destro del mouse<br />

2. Scegliete quin<strong>di</strong> Expand All oppure Collapse All.<br />

Vista <strong>di</strong> tabelle colassate in un database<br />

Potete cambiare il modo <strong>di</strong> visualizzazione delle tabelle <strong>di</strong> un database, per esempio, dopo aver lavorarto<br />

con il database potreste voler riportare le tabelle all’impostazione <strong>di</strong> partenza oppure migliorarne l’estetica


allineandole tutte.<br />

Per sistemare le tabelle in un database<br />

●<br />

Dal menu Database, scegliete Arrange, e quin<strong>di</strong> selezionate le opzioni appropriate nella finestra <strong>di</strong><br />

<strong>di</strong>alogo Find Table o View.<br />

Nel Database Designer, la barra dei titoli della tabella selezionata appare evidenziata.<br />

Per Selezionate<br />

Impostare le tabelle or<strong>di</strong>nate in or<strong>di</strong>ne alfabetico By name<br />

Sistemate per tipo By type<br />

Allineare le tabelle in una riga Horizontally<br />

Allineare le tabelle in una colonna Vertically<br />

Riportare le tabelle alle <strong>di</strong>mensioni originali Resize objects to default height and width<br />

E’ possibile memorizzare anche commenti ad un database.<br />

Per aggiungere una descrizione ad un database<br />

Da menu Database, scegliete Properties, e quin<strong>di</strong> inserite il vostro commento nella finestra <strong>di</strong> <strong>di</strong>alogo<br />

Comment.


Creare un nuovo database<br />

Per inserire dati in un database, prima create un nuovo database, dopo aggiungete le tabelle<br />

con cui volete lavorare e definite le relazioni fra le tabelle. Potete anche creare delle viste sia<br />

a dati locali che remoti attraverso il Database Designer e inserirle nel database.<br />

Usare il wizard per costruire i database<br />

Potete utilizzare il Database Wizard per aiutarvi a creare un nuovo database. Il wizard<br />

fornisce uno schema e formula una serie <strong>di</strong> domande per aiutarvi a creare un nuovo database<br />

impostato in base alle vostre risposte.<br />

Per creare un databse utilizzando il wizard<br />

1.<br />

2.<br />

3.<br />

4.<br />

Dal Project Manager, selezionate la scheda Data e quin<strong>di</strong> selezionate Databases.<br />

Selezionate New.<br />

Selezionate il tasto Database Wizard .<br />

Seguite le istruzioni che compaiono nella finestra del wizard.<br />

Potete anche accedere al Database Wizard dal menu scegliendo New dal menu File,<br />

selezionate Database e selezionate l’opzione Wizard.<br />

Il wizard fornisce una maschera ( template ) per le tabelle e le viste, in<strong>di</strong>cim chiavi primarie<br />

e relazioni che potete scelgliere e e<strong>di</strong>tare.<br />

Per creare un nuovo database<br />

1.<br />

2.<br />

Nel Project Manager, selezionate Databases.<br />

Scegliete New.<br />

Quado create un nuovo database, uviene mostrata una finestra del Database Designer vuota<br />

insieme ad una barra pulsanti.<br />

Un nuovo database nel Database Designer


Aggiungere una tabella ad un database<br />

Iniziate a costruire il vostro database aggiungendo le tabelle che volete utilizzare. Potete<br />

selezionare qualsiasi tabella che non sia attualmente parte <strong>di</strong> un altro database. Poiché una<br />

tabella può appartenere ad un database alla volta, dovete rimuovere una tabella dal database<br />

per utilizzarla in un nuovo database.<br />

Per aggiungere una tabella ad un database<br />

1.<br />

2.<br />

Dal menu Database, scegliete Add Table.<br />

Nella finestra <strong>di</strong> <strong>di</strong>alogo Open, selezionate tabella e scegliete OK.<br />

Potete rimuovere una tabella dal database se non è più necessaria, oppure se vi serve in un<br />

altro database.<br />

Per rimuovere una tabella dal database<br />

1.<br />

2.<br />

3.<br />

Selezionate la tabella.<br />

Dal menu Database, scegliete Remove.<br />

Nella finestra <strong>di</strong> <strong>di</strong>alogo, scegliete Remove.<br />

Creare e aggiungere Viste<br />

Le viste mostrano i records da una o più tabelle e possono essere utilizzate per aggiornare<br />

queste tabelle <strong>di</strong> origine. Se volete aggiumgere una vista locale al vostro database, potete<br />

crearne una dalle viste o dalle tabella attualmente esistenti nel vostro database, oppure dalle<br />

tabelle libere al <strong>di</strong> fuori del vostro database.<br />

Se le informazioni <strong>di</strong> cui necessitate si trovano su una sorgente remota, potete creare una<br />

vista remota e incorporarla nel vostro database locale. Poiché le viste esistono<br />

esclusivamente all’interno <strong>di</strong> un contesto, dovete creare le viste all’interno del database allo<br />

scopo <strong>di</strong> poterle incorporare.


Cercare una tabella o una vista in un database<br />

Se il vostro database contiene molte tabelle e molte viste, potreste voler localizzare<br />

velocemente una tabella specifica. Potete utilizzare allo scopo il comando find per<br />

evidenziare la tabella o la vista coin cui volete lavorare.<br />

Per trovare una tabella in un database<br />

●<br />

Dal menu Database, scegliete Find Object, e quin<strong>di</strong> selezionate la tabella che volete<br />

ricercare nella finestra <strong>di</strong> <strong>di</strong>alogo Find Table or View.<br />

Se volete mostrare solamente le tabelle o solamente alcune viste, potete scegliere <strong>di</strong><br />

mostrare solamente alcune viste o tabelle.<br />

Per mostrare solamente le tabelle o le viste<br />

●<br />

Dal menu Database, scegliete Properties, e quin<strong>di</strong> selezionate le apposite opzioni <strong>di</strong><br />

visualizzazione nella finestra <strong>di</strong> <strong>di</strong>alogo Database Properties.<br />

Relazionare le tabelle<br />

Il Database Designer rende molto semplice la procedura per creare relazioni tra le varie<br />

tabelle collegando i loro in<strong>di</strong>ci. La relazioni che create in un database si chiamano Relazioni<br />

Persistenti, perché vengono salvate come parte del database. Ogni volta che utilizzate una<br />

tabella nel Query or View Designers, o nel Data Environment Designer quando create un<br />

modulo, queste relazioni persistenti appaiono come collegamenti o unioni fra le tabelle.<br />

Impostare le Relazioni<br />

Prima che possiate creare delle relazioni fra le tabelle, le tabelle che volete creare devono<br />

avere alcuni campi e in<strong>di</strong>ci in comune. I campi sono chiamati primari o esterni, i campi<br />

primari identificano un record specifico all’interno del database. Dovete anche aggiungere<br />

un in<strong>di</strong>ce primario ad un campo chiave primario e un regular index ad un campo chiave<br />

estraneo<br />

In<strong>di</strong>ci per supportare una relazione tra due tabelle.


Per determinare quali tabelle hanno bisogno <strong>di</strong> campi, pensate come il vostro dato sia in<br />

relazione con un gruppo <strong>di</strong> record. Per esempio, un cliente può avere molti or<strong>di</strong>ni. Cos’ la<br />

tabella dei clienti contiene il record principale. E le altre tabelle hanno i record in relazione.<br />

Per preparare la tabella principale per le relazioni alla tabella contenente i record correlati,<br />

dovete aggiungere in campo chiave primario nella tabella principale, che nel nostro<br />

esempio è Clienti. Voi siete a conoscenza <strong>di</strong> questo perché la tabella clienti conterrà un<br />

record per molti record relazionati nella tabella degli or<strong>di</strong>ni.<br />

Per fornire un campo comune fra le due tabelle dovete aggiungere un campo chiave<br />

esterno alla tabella con i campi relazionati che nel nostro esempio è la tabella or<strong>di</strong>ni. Il<br />

campo esterno deve combaciare il campo primario con lo stesso tipo <strong>di</strong> dati e solitamente lo<br />

stesso nome del campo chiave primario.<br />

Come preparare le relazioni<br />

1. Determinare quale tabella ha i record principali e quali ha i record relativi (in relazione)<br />

2. Nella tabella con i record principali, aggiungete un campo intero, quin<strong>di</strong> aggiungete l’in<strong>di</strong>ce<br />

sul nuovo campo.<br />

3.<br />

Nella tabella con i campi in relazione, aggiungete un campo che corrisponda al campo<br />

primario dell’altra tabella, quiin<strong>di</strong> aggiungete un in<strong>di</strong>ce regolare su quel nuovo campo.


Nota Utilizzate la stessa espressione per entrambi gli in<strong>di</strong>ci. Per esempio, se utilizzate una<br />

funzione nell’espressione nel campo primario, dovete aggiungere la stessa funzione<br />

nell’espressione nel campo chiave esterno aggiunto nell’altra tabella.<br />

Creare e revisionare relazioni<br />

Con i campi chiave e gli in<strong>di</strong>ci definiti, potete creare ora le relazioni. Se le vostre tabelle non<br />

sono ancora in<strong>di</strong>cizzate, dovete aprirle nel Table Designer e aggiungervi gli in<strong>di</strong>ci.<br />

Creare una relazione fra tabelle<br />

●<br />

●<br />

Trascinate dall’in<strong>di</strong>ce <strong>di</strong> una tabella sull’in<strong>di</strong>ce corrispondente dell’altra.<br />

Una volta che definite la relazione, vedrete una linea che connette le due tabelle nel<br />

Database Designer.<br />

Nota Potete vedere le linee delle relazioni solamente se l’opzione relazioni della finestra <strong>di</strong><br />

<strong>di</strong>alogo del Database Properties è selezionata. Potete accedere alle finestra <strong>di</strong> <strong>di</strong>alogo delle<br />

proprietà del database scegliendo proprietà dal menu scorciatoia nel Database Designer.<br />

Linee che mostrano le relazioni fra due tabelle.<br />

Potete anche mo<strong>di</strong>ficare le relazioni.<br />

Per mo<strong>di</strong>ficare una relazione fra tabelle<br />

●<br />

Fate doppio click sulla linea della relazione fra le tabelle. E quin<strong>di</strong> selezionate le<br />

opzioni appropriate nella finestra <strong>di</strong> <strong>di</strong>alogo <strong>di</strong> E<strong>di</strong>t Relationship.<br />

Finestra <strong>di</strong> <strong>di</strong>alogo <strong>di</strong> E<strong>di</strong>t Relationship


La tipologia <strong>di</strong> relazione è determinata dal tipo <strong>di</strong> in<strong>di</strong>ce utilizzato nella tabella figlia. Per<br />

esempio, se l’in<strong>di</strong>ce nella tabella figlia è primario oppure un in<strong>di</strong>ce can<strong>di</strong>dato, la relazione è<br />

uno a uno, altrimenti ( per in<strong>di</strong>ci unici e regular ) è una relazione uno a molti.


Definire la visualizzazione <strong>di</strong> un campo<br />

Quando aggiungfete delle tabelle ad un database, potete trarre imme<strong>di</strong>atamente vantaggio<br />

dalle opzioni ad<strong>di</strong>zionali <strong>di</strong>versamente non <strong>di</strong>sponibili nelle tabelle libere. Queste proprietà<br />

vengono salvate come parte del database stesso e restano con la tabella solamente<br />

fintantochè la tabella resta nel database.<br />

Uitilizzando le proprietà dei campi in un database, è possibile:<br />

● Assegnare delle intestazioni ai campi.<br />

● Inserire commenti circa lo scopo del campo.<br />

● Impostare il valore <strong>di</strong> default per i campi.<br />

● Impostare una maschera <strong>di</strong> inserimento e visualizzare il formato <strong>di</strong> un campo.<br />

● Impostare una classe <strong>di</strong> controllo e una libreria per il campo.<br />

●<br />

Impostare delle regole <strong>di</strong> convalida per restringere il tipo <strong>di</strong> dati inseribili in quel<br />

campo.<br />

La sezione seguente descrive alcune <strong>di</strong> queste proprietà.<br />

Impostare l’intestazione <strong>di</strong> un campo<br />

Potete visualizzare delle etichette descrittive per i campi che visualizzate nella finestra<br />

Browse o nei moduli (form) utilizzando la proprietà captions.<br />

Per assegnare una intestazione ad un campo<br />

1.<br />

2.<br />

3.<br />

4.<br />

Selezionate la tabella nel Database Designer e scegliete Mo<strong>di</strong>fy.<br />

Selezionate il campo a cui volete aggiungere una intestazione.<br />

Nella casella Caption, inserite l’intestazione che volete visualizzate.<br />

Scegliete OK.<br />

Per esempio, se il nome del campo è Cust_ID, potete aggiungere una instestazione come:<br />

"Customer ID" al campo. Ogni volta che scorrerete la tabella, utilizzerete il campo in una<br />

query o in una vista, oppure aggiungerete il campo ad un modulo, vedrete l’intestazione al<br />

posto del nome come etichetta del campo.<br />

Nome <strong>di</strong> colonna utilizzando le instestazioni


Inserire commenti per un campo<br />

Quando definite la struttura <strong>di</strong> una tabella, potreste voler inserire una nota <strong>di</strong> commento per<br />

ricordare cosa rappresenta il campo della tabella. Potete inserire commenti in ogni campo<br />

inserendo un messaggio nella casella Field Comment del Table Designer.<br />

Per chiarire lo scopo <strong>di</strong> un campo.<br />

Aggiungere un commento ad un campo<br />

1. Nel Table Designer, selezionate il campo.<br />

2. Nella casella Field Comment, inserite il vostro commento.<br />

Scegliete quin<strong>di</strong> OK.


Controllare l’inserimento in un campo<br />

Potete facilitare l’inserimento dei dati nei campi fornendo valori <strong>di</strong> default e definando regole <strong>di</strong><br />

convalida per i dati che devono essere imputati.<br />

Impostare i valori <strong>di</strong> default <strong>di</strong> un campo<br />

Se volete avere un determinato valore inserito automaticamente in un campo ogni volta che create<br />

un record, potete impostare un valore <strong>di</strong> default per quel campo utilizzando le proprietà del campo<br />

nel Table Designer. Per esempio, se la maggior parte delle vostre ven<strong>di</strong>te provengono da una<br />

regione, potreste voler impostare questa regione come valore <strong>di</strong> default per quel campo. Definire il<br />

valore <strong>di</strong> default <strong>di</strong> un campo<br />

1. Nel Database Designer, selezionate la tabella.<br />

2. Dal menu Database, scegliete Mo<strong>di</strong>fy.<br />

3. Nel Table Designer, selezionate il campo a cui volete aggiunegere il valore <strong>di</strong> default.<br />

4. Nella casella Default value, inserite il valore <strong>di</strong> default che volete visualizzare in ogni nuovo<br />

record (incluso campi carattere fra virgolette).<br />

5. Scegliete OK.<br />

Ad esempio se volete che in ogni record nella tabella prodotti contenga il " rior<strong>di</strong>nare a" 15 pezzi.<br />

Impostare un valore <strong>di</strong> default per un campo


Impostare una regola <strong>di</strong> convalida e un testo <strong>di</strong> convalida<br />

Definendo una regola <strong>di</strong> convalida quando definiamo una struttura della tabella, potete controllare<br />

il tipo <strong>di</strong> inserimento che può essere eseguito in quel campo. Per esempio potete restringere le<br />

possibilità accettabili per l’inserimento <strong>di</strong> una lista <strong>di</strong> provincie, aprire numeri <strong>di</strong> acquisto, vali<strong>di</strong><br />

numeri <strong>di</strong> ID, ecc. ecc.<br />

Impostare regole <strong>di</strong> convalida e testi <strong>di</strong> convalida per un campo.<br />

Aprite una tabella nel Table Designer.<br />

1. Nel Table Designer, selezionate il nome <strong>di</strong> un campo a cui volete definire una regola.<br />

2. Scegliete il bottone <strong>di</strong> <strong>di</strong>alogo a fianco alla casella Rule.<br />

3. Nell’ Expression Builder, definite una espresisone <strong>di</strong> convalida e cliccate su OK.<br />

4. Nella casella Message, inserite il testo da visualizzare in caso <strong>di</strong> errore fra virgolette.<br />

5. Cliccate su OK.<br />

Per esempio, provate a creare un semplice tabella <strong>di</strong> in<strong>di</strong>rizzi e restringete l’inserimento dei dati nel<br />

campo Nazione a "UK" o "USA."<br />

Customer.country = "UK" OR Customer.country = "USA"<br />

Potete anche specificare il messaggio da visualizzare se non viene rispettata la regola <strong>di</strong> convalida.<br />

Per esempio potreste visualizzare il messaggio:<br />

"La nazione deve essere USA o UK. Per favore reinserire il dato."<br />

Quando create una regola <strong>di</strong> convalida, dovete creare un’espresione valida <strong>di</strong> <strong>Visual</strong> FoxPro che<br />

tiene conto della lunghezza del campo, che un campo può essere anche vuoto oppure contenere il<br />

valore desiderato ecc. ecc. L’espressione può contenere funzioni se le funzioni esprimono da vero a<br />

falsa.<br />

Ad esempio assumendo che stiate utilizzando la tabella Cliente della <strong>di</strong>rectory <strong>di</strong> <strong>Visual</strong> Stu<strong>di</strong>o<br />

…\Samples\Vfp98\Data, e volete essere sicuri che ogni nuovo co<strong>di</strong>ce ID cliente sia inferiore <strong>di</strong> 6<br />

carattere <strong>di</strong> lunghezza, nella casella Validation Rule del campo Cust_ID, potete inserire:<br />

LEN(ALLTRIM(CUST_ID)) < 6<br />

Quin<strong>di</strong>, nella casella Validation Text, potreste inserire il messaggio <strong>di</strong> errore:<br />

"IL co<strong>di</strong>ce cliente ID deve essere inferiore a 6 caratteri. Per cortesia<br />

reinseriscilo."<br />

Se tentate <strong>di</strong> inserire un co<strong>di</strong>ce cliente ID troppo lungo, il testo <strong>di</strong> convalida apparirà nella finestra<br />

<strong>di</strong> <strong>di</strong>alogo.<br />

Testo <strong>di</strong> convalida appare quando vengono inseriti dati errati.


Controllare l’inserimento dei dati in un record<br />

Così come potete assegnare delle proprietò ad un database ad una singolo campo all’interno <strong>di</strong> una tabella,<br />

potete definire proprietà che vengono applicate all’intera tabella. Potete accedere alle proprietà dalla sceda<br />

Tabella del Table Designer.<br />

Impostare una regola <strong>di</strong> convalida per una tabella<br />

Se volete che due o più campi siano confrontati, o sod<strong>di</strong>sfino determinate con<strong>di</strong>zioni nel momento che i<br />

record vengono inserite nella tabella, potete impostare una regola <strong>di</strong> convalida per la tabella.<br />

Per impostare una regola <strong>di</strong> convalida<br />

1. Selezionate la tabella e scegliete Mo<strong>di</strong>fy.<br />

2. Nel Table Designer, scegliete la scheda Table.<br />

3. Nella casella Rule, inserite una espressione valida <strong>di</strong> <strong>Visual</strong> FoxPro che definisca la regola.<br />

Selezionate il tasto per utilizzare l’ Expression Builder.<br />

4. Nella finestra <strong>di</strong> <strong>di</strong>alogo Message, inserite il messaggio che deve apparire se la regola non viene<br />

rispettata.<br />

5. Cliccate su OK.<br />

6. In the Table Designer, choose OK.<br />

Ad esempio, assumendo che stiate utilizzando la tabella Clienti <strong>di</strong>sponibile nel database <strong>di</strong> esempio in<br />

<strong>Visual</strong> Stu<strong>di</strong>o nella <strong>di</strong>rectory …\Samples\Vfp98\Data, e che non desideriate or<strong>di</strong>ni dei clienti <strong>di</strong> Washington<br />

eccedenti i $ 10.000 dollari.<br />

Potete forzare questa regola scrivendo la seguente espressione nella casella Validation Rule della scheda<br />

Tabella:<br />

IIF(Customer.region = "WA" and Customer.maxordamt > 10000, .F.,.T.)<br />

Il messaggio <strong>di</strong> avvertimento potrebbe essere il seguente:<br />

"Gli or<strong>di</strong>ni da Washington non possono superare i $10,000"<br />

Inserimento rifiutato da una violazione <strong>di</strong> regola.


Impostare un Trigger<br />

I Triggers sono espressioni che si attivano ogni volta che quando vengono inseriti, cancellati o aggiornati<br />

dati in una tabella. Di solito per creare trigger bisogna creare dei programmi o delle procedure che si<br />

attivano quando la tabella viene mo<strong>di</strong>ficata.<br />

Gestire dati in un database<br />

Dopo aver impostato delle relazioni, potete anche impostare regole per la gestione dei dati relativi nel<br />

vostro database. Le regole governano l’integrità referenziale. Per esempio se aggiungete il record <strong>di</strong> un<br />

fornitore, potreste volere aggiungere informazioni circa i prodotti forniti alla tabella prodotti. Per aiutarvi ad<br />

impostare le regole per controllare come vengono inseriti, aggiornati, o cancellati i record nelle tabelle<br />

relazionate, potete utilizzare il costruttore (builder) dell’integrità referenziale.<br />

Tasto dell’integritaà referenziale nella finestra <strong>di</strong> <strong>di</strong>alogo E<strong>di</strong>t Relationship


Per utilizzare il Referential Integrity Builder<br />

1.<br />

2.<br />

3.<br />

4.<br />

Nel Database Designer, create una relazione tra due tabelle, oppure fate un doppio click sulla linea<br />

della realazione.<br />

Nella finestra E<strong>di</strong>t Relationship, scegliete il tasto Referential Integrity.<br />

Nel Referential Integrity Builder, selezionate la regola che volete far rispettare per<br />

l’aggiornamento, la cancellazione o l’inserimento dei records.<br />

Scegliete OK, e quin<strong>di</strong> Yes per salvare le mo<strong>di</strong>fiche, generate il co<strong>di</strong>ce RI, e uscite dal builder.


Creare una Query<br />

Potreste voler creare delle queries per varie ragioni: organizzare informazioni per una stampa, rispondere ad<br />

una veloce interrogazione, oppure esaminare un rilevante sottoinsieme <strong>di</strong> dati. Qualunque sia lo scopo, il<br />

processo <strong>di</strong> base è lo stesso. Utilizzando il Query Designer, selezionate la tabella o la vista da cui volete<br />

prelevare le informazioni, specificate i criteri con cui estrarre i records dalla tabella o dalla vista, e<br />

in<strong>di</strong>rizzate i risultati della vostra query al tipo <strong>di</strong> uscita dei dati che desiderate, come ad esempio una<br />

finestra <strong>di</strong> visualizzazione, una stampa, una etichetta, e così via. Quando avete creato una query che volete<br />

mantenere, potete salvarla assegnandole un nome. Le queries sono salvate con l’estensione .qrp<br />

IL processo <strong>di</strong> progettazione <strong>di</strong> una query<br />

Dopo aver deciso <strong>di</strong> quale informazione avete bisogno <strong>di</strong> ricercare, e in quale tabella o vista sono<br />

inmagazzinate, dovrete seguire i seguenti passi per creare le queries:<br />

1. Iniziate a creare la query con il query wizard del Query Designer<br />

2. Selezionate la tabella o la vista che contiene le informazioni che volete ricuperare.<br />

3. Definite i risultati della query scegliendo quali campi volete, l’or<strong>di</strong>ne in cui volete appaiano, e quali<br />

record desiderate.<br />

4. Organizzate i risultati attraverso l’or<strong>di</strong>namento e il raggruppamento delle righe nel risultato.<br />

5. Scegliete il tipo <strong>di</strong> emissione <strong>di</strong> dati per la query: Tabella, stampa, visualizzazione, ecc.<br />

6.<br />

Run and verify the query.


Uso del Query Wizard<br />

Se volete aiuto per creare una query velocemente, utilizzate quello fornito dal <strong>Visual</strong> FoxPro query wizards.<br />

Il query wizard vi porrà delle domande: da quale tabella o vista volete prelevare le informazioni, e<br />

imposterà una query in base alle risposte che fornirete alla serie <strong>di</strong> domande.<br />

Per ottenere più informazioni circa il query wizard, premete F1 per ottenere l’help mentre state utilizzando<br />

il query wizard.<br />

Per creare una query con il wizard<br />

1. Nel Project Manager, selezionate la scheda Data e selezionate Queries.<br />

2. Selezionate New.<br />

3. Cliccate su tasto Query Wizard.<br />

4. Selezionate il tipo <strong>di</strong> query che volete creare.<br />

5. Seguite le istruzioni sulle finestre del wizard.<br />

Potete anche selezionare il Wizards dal menu Tools.<br />

Avvio del Query Designer<br />

Se non volete utilizzare il query wizard,potete utilizzare il Query Designer per creare la vostra query. Potete<br />

avviare il Query Designer dal Project Manager o dal menu File.<br />

Per avviare il Query Designer<br />

1.<br />

2.<br />

3.<br />

4.<br />

Nel Project Manager, selezionate la scheda Data.<br />

Selezionate Queries.<br />

Scegliete New.<br />

Scegliete New Query.<br />

Potete anche avviare il Query Designer scegliendo New dal menu File, selezionando l’opzione Query, e<br />

selezionando New File.<br />

Quando create una nuova query, vi verrà chiesto <strong>di</strong> selezionare la tabella o la vista da cui prelevare le<br />

informazioni dal database corrente.<br />

Selezionare una tabella o la query


Dopo aver selezionato una tabella o una vista, <strong>Visual</strong> FoxPro mostra la finestra Query Designer.<br />

La finestra Query Designer<br />

Potete facilmente cambiare la tabella o la vista selezionata.


Per utilizzare una tabella o una vista <strong>di</strong>fferente<br />

1.<br />

Selezionate la tabella corrente e cliccate sul tasto Remove Table nella tastiera del Query Designer.<br />

Dalla tastiera del Query Designer, selezionate il tasto Add, quin<strong>di</strong> selezionate la tabella o la vista che<br />

desiderate.


Definire i risultati<br />

Dopo che avete aerto il Query Designer e selezionato la tabella o la vista che contiene le informazioni che desiderate,<br />

potete definire i risultati. Almeno avrete bisogno <strong>di</strong> definire i campi che desiderate. Potete anche definire i risultati<br />

inpostando l’or<strong>di</strong>ne in cui devono apparire i campi selezionati e definendo un filtro per definire quali records devono<br />

apparire.<br />

Selezionate i campi che volete<br />

Prima che possiate lanciare la query, dovete selezionare qualche campo da includere nel risultato. In alcuni casi, potreste<br />

volere tutti i campi della tabella o della vista. In altri casi potreste voler concentrare la query solo su alcuni campi<br />

selezionati, come ad esempio i campi che volete includere nella stampa.<br />

Assicuratevi <strong>di</strong> includere ogni campo che volete utilizzare per selezionare o raggruppare nel risultato della vostra query,<br />

Quando selezionate i campi potete anche definire l’or<strong>di</strong>ne con cui dovranno apparire in uscita.<br />

Utilizzate la scheda Field nel pannello inferiore del Query Designer per selezionare i campi che volete includere nel<br />

risultato della vostra query.<br />

La scheda Fields nel Query Designer<br />

Per aggiungere un campo nel uscida dei dati <strong>di</strong> una query<br />

❍<br />

❍<br />

Selezionate il nome <strong>di</strong> un campo e scegliete Add.<br />

-oppure-<br />

Trascinate il nome del campo nella cella Selected fields.<br />

Selezionare tutti i campo per l’uscita<br />

Potete anche selezionare tutti i campi attraverso il nome oppure utilizzando l’asterisco come carattere jolly ( valido quin<strong>di</strong><br />

per qualsiasi caso ). Se selezionate i campi attraverso il nome, l’esatto nome è incluso nella query. Se lanciate la query<br />

dopo che avete inserito un nuovo campo nella tabella esso non sarà incluso nei risultati della query.<br />

Se utilizzate il carattere jolly ( asterisco ) l’asterisco viene incluso nella query e tutti i campi presrenti nella tabella nel<br />

momento in cui viene eseguita la query saranno <strong>di</strong>sponibili nei risultati.<br />

Per aggiungere tutti i campi <strong>di</strong>sponibili in un colpo solo<br />

❍<br />

Scegliete Add All per aggiungere i campi attraverso il nome.<br />

-oppure-


❍<br />

Trascinate l’asterisco in cima alla tabella nella casella Selected fields.<br />

Mostrare un Alias ( pseudonimo ) per un campo<br />

Potete rendere i risultati della vostra query maggiormente comprensibili aggiungendo un titolo descrittivo al campo<br />

presente nei risultati. Ad esempio, potreste mostrare la parola "SumMaxOrd" in cima alla colonna dei risultati al postoi del<br />

nome o dell’espressione, SUM(MaxOrdAmount).<br />

Per aggiungere un alias<br />

1.<br />

1.<br />

Nella cella Functions and expressions, inserite il nome del campo, e scrivete AS e il nome pseudonimo come<br />

nell’esempio:<br />

SUM(maxorderamt) AS SumMaxOrd<br />

Scegliete Add per inserire il campo con l’alias nella cella Selected fields.<br />

Impostare l’or<strong>di</strong>ne dei campi in uscita<br />

L’or<strong>di</strong>ne con cui i campi appaiono nella scheda Fields determina l’or<strong>di</strong>ne delle colonne o delle informazioni nel risultato<br />

della query.<br />

Impostare l’or<strong>di</strong>ne delle colonne nel risultato in uscita<br />

●<br />

Trascinate la cella <strong>di</strong> movimento, posizionata a sinistra del nome del campo, su o giù.<br />

Se volete mo<strong>di</strong>ficare l’or<strong>di</strong>ne con cui vengono mostrate le righe contenenti le informazioni, utilizzate invece la scheda<br />

Order By tab.<br />

Selezionare i records desiderati<br />

Selezionando i records che volete trovare è il passo chiave che determina i risultati della vostra query. Attraverso la scheda<br />

Filter Tab nel Query Designer, potete formulare la con<strong>di</strong>zione WHERE <strong>di</strong> una <strong>di</strong>chiarazione per <strong>di</strong>re a <strong>Visual</strong> FoxPro<br />

quali records cercare per il ricupero.<br />

Potreste voler trovare una serie specifica <strong>di</strong> dati da includere in una stampa o in altri tipi <strong>di</strong> risultati d’uscita: per esempio<br />

tutti i clienti con sopesi, tutti i clienti <strong>di</strong> una specifica regione o co<strong>di</strong>ci postali, e così via. Per vedere solo i records che<br />

volete, inserite un valore o raggio d’azione per confrontare <strong>di</strong> nuovo i records.<br />

In <strong>Visual</strong> FoxPro, usate la scheda Filter tab per specificare i campi che volete utilizzare per i records selezionati, scegliete<br />

i criteri <strong>di</strong> confronto, e inserite un valore <strong>di</strong> riferimento con cui volete confrontare i campi.<br />

Definire i criteri dei risultati <strong>di</strong> una query


Per specificare un filtro<br />

1.<br />

Dalla lista Field Name, scegliete un campo da utilizzare come base per la selezione dei records.<br />

Nota Non potete utilizzare i campi General o Memo nei filtri.<br />

2. Dalla lista Criteria, scegliete il tipo <strong>di</strong> comparazione da utilizzare.<br />

3. Inserite il criterio comparativo nella cella Example.<br />

●<br />

●<br />

●<br />

●<br />

1.<br />

Utilizzate i segni virgolette solo se la stringa è uguale al nome <strong>di</strong> un campo nella tabella della query; altrimenti, non<br />

racchiudete le stringhe carattere fra le virgolette.<br />

Se utilizzate le date, non racchiudetele fra graffe<br />

Mettete i punti prima e dopo la lettera logica (.T.).<br />

Se inserite un nome <strong>di</strong> campo <strong>di</strong> una tabelle in una query, <strong>Visual</strong> FoxPro lo riconoscerà come campo.<br />

Se volete ignorare le maiuscole nella ricerca dei dati carattere, selezionate il tasto Case.<br />

Se volete rovesciare il significato <strong>di</strong> un operatore logico, selezionate il tasto Not. Per esempio, se volete selewzionare i<br />

clienti <strong>di</strong> tutte le regioni eccetto Washington, utilizzate l’espressione <strong>di</strong> selezione nel seguente modo:<br />

Customer.region Not Like WA<br />

Per migliorare la ricerca, potete aggiungere più filtri nella scheda Filtri. To further tune your search, you can add more<br />

filters in the Filter tab.<br />

Se state utilizzando più <strong>di</strong> una tabella o vista nella vostra query, potete espandere i records che selezionate attraverso il tipo<br />

<strong>di</strong> join (unioni) che scegliete.


Organizzare i risultati<br />

Una volta definiti il tipo <strong>di</strong> risultati, potete definire il modo in cui li volete organizzati or<strong>di</strong>nandoli o raggruppandoli.<br />

Se volete anche applicare un filtro sui dati in uscita risultanti dalla query.<br />

Or<strong>di</strong>rare il risultato <strong>di</strong> una query<br />

L’or<strong>di</strong>namento , determina il modo in cui i records o le righe <strong>di</strong> dati vengonoo estratti quando appaiono nel risultato<br />

dell’applicazione della query. Ad esempio, potete or<strong>di</strong>nare i record in base alla provincia e quin<strong>di</strong> in base alla citta,<br />

oppure organizzandoli in or<strong>di</strong>ne ascendente <strong>di</strong> sal<strong>di</strong> contanili insoluti.<br />

Utilizzate la scheda Order By per impostare l’or<strong>di</strong>ne della vostra query. L’or<strong>di</strong>namento determina in che modo<br />

vengono mostrati i record nel risultato della query.<br />

Innanzi tutto selezionate i campi che volete usare dalla finestra Selected Fields e spostateli nella finestra Ordering<br />

Criteria. Quin<strong>di</strong> sistemate i campi nell’or<strong>di</strong>ne in cui desiderate appaia il risultato della query.<br />

Per impostare il criterio do or<strong>di</strong>namento<br />

1. Nella finestra Selected fields, selezionate il nome del campo.<br />

2. Selezionate Add.<br />

Per imuovere un criterio <strong>di</strong> or<strong>di</strong>namento<br />

1. Selezionate uno o più campi che desiderate rimuovere.<br />

2. Scegliete Remove.<br />

L’or<strong>di</strong>ne in cuii appaiono i campi nella finestra Ordering Criteria determina l’or<strong>di</strong>ne <strong>di</strong> importanza quando viene<br />

organizzato il risultato <strong>di</strong> una query. Il primo campo determina l’or<strong>di</strong>namento principale.<br />

Per esempio, se il primo campo nella finestra Ordering Criteria è Cliente.regione e il secondo campo è Cliente.città il<br />

risultato srà or<strong>di</strong>nato prima per Cliente.regione, se più <strong>di</strong> un cliente abita nella medesima regione verrà applicato il<br />

secondo criterio Cliente.città.<br />

Impostare l’or<strong>di</strong>ne me<strong>di</strong>ante la scheda Order By


Per aggiungere l’importanza <strong>di</strong> un or<strong>di</strong>namento in base ai campi. Utilizzare il tasto a sinistra del campo e trascinatelo<br />

nella posizione desiderata nella finestra Ordering criteria.<br />

Potete or<strong>di</strong>nare i dati in or<strong>di</strong>ne ascendente e <strong>di</strong>scendente impostando il tasto nell’area opzioni or<strong>di</strong>namento ( Order<br />

option ). Ogni campo or<strong>di</strong>namento appare nella finestra Output Field nella scheda Filter con una freccia rivolta verso<br />

l’alto o verso il basso che in<strong>di</strong>ca se l’or<strong>di</strong>namento deve essere fatto in senso ascendente o <strong>di</strong>scendente.<br />

Raggruppare il risultato <strong>di</strong> una query<br />

Il raggruppamento fonde o raccoglie record simili in un record in modo da consentire calcoli basati su gruppi <strong>di</strong> record.<br />

Ad esempio, potreste voler trovare la somma <strong>di</strong> tutti gli <strong>di</strong> una regione specifica. Al posto <strong>di</strong> controllare tutti i records<br />

singolarmente, potete raggruppare tutti i records <strong>di</strong> una stessa regione in un solo record, e ottenere la somma <strong>di</strong> tutti gli<br />

or<strong>di</strong>ni <strong>di</strong> quella regione.<br />

Per controllare il modo con cui i records vengono raggruppati, utilizzate la scheda Grup By Query Designer.<br />

To control how records are grouped, use the Group By tab in the Query Designer. Il raggruppamento è molto più utile<br />

quando viene utilizzata in unione con la funzione <strong>di</strong> somma come SUM, COUNT, AVG e così via.<br />

Ad esempio, supponiamo <strong>di</strong> volere il totale degli importi <strong>di</strong> ogni co<strong>di</strong>ce cliente nella tabella clienti. Avete bisogno <strong>di</strong><br />

raggruppare tutti i records degli or<strong>di</strong>ni per ogni co<strong>di</strong>ce cliente in un solo record, e quin<strong>di</strong> trovare la somma totale degli<br />

or<strong>di</strong>ni.<br />

Prima <strong>di</strong> tutto dovete usare la scheda Fields per aggiungere l’espressione SUM(Or<strong>di</strong>ni.or<strong>di</strong>ne_netto) al risultato della<br />

query, quin<strong>di</strong> raggruppate i risultati in base al co<strong>di</strong>ce cliente. Il risultato mostra il totale netto degli or<strong>di</strong>ni <strong>di</strong> ogni<br />

cliente.<br />

Impostare le opzioni <strong>di</strong> Group By


Per impostare le opzioni <strong>di</strong> raggruppamento<br />

1.<br />

Nella scheda Fields, inserite l’espressione nella cella Functions and expressions.<br />

-oppure-<br />

Cliccate sul tasto Expression Builder per inserire una espressione nella cella Functions and expressions.<br />

2. Cliccate il tasto Add per inserire l’esspressione nella finestra Selected fields.<br />

3. Nella scheda Group By, aggiungete l’espressione <strong>di</strong> raggruppamento.<br />

Si può inoltre applicare un filtro ai risultati <strong>di</strong> un raggruppamento.<br />

Selezionare i gruppi desiderati<br />

Per impostare un filtro si una raggruppamento o una fusione <strong>di</strong> records piuttosto che su ogni singolo records, scegliete<br />

dalla scheda Group By l’opzione Having. Potete usare il nome <strong>di</strong> un campo, una funzione <strong>di</strong> raggruppamento, oppure<br />

un’altra espressione nella cella Field Name.<br />

Segueno l’esempio precedente, si può utilizzare la query che mostra il totale delle ven<strong>di</strong>te per co<strong>di</strong>ce cliente, quin<strong>di</strong><br />

usando il tasto Having restringere il risultato a clienti che hanno più <strong>di</strong> $50.000 dollari <strong>di</strong> or<strong>di</strong>ne netto.<br />

Impostare il criterio <strong>di</strong> un gruppo


Per impostare l’opzione Having su un gruppo<br />

1. Nella scheda Group By, scegliete Having.<br />

2. Nella finestra <strong>di</strong> <strong>di</strong>alogo Having, selezionate una funzione e un nome <strong>di</strong> campo nel campo Field Name.<br />

3.<br />

Cliccate su OK.


Applicare le query<br />

Quando avete terminato la progettazione della vostra query, potete applicare la query attraverso il tasto Run.<br />

<strong>Visual</strong> FoxPro esegue le espressioni SQL che avete costruito con il Query Designer, e produce il risultato sulla<br />

Finestra Browser.<br />

Per applicare una query<br />

Nel Project Manager, selezionate il nome della query, quin<strong>di</strong> scegliete Run.<br />

Se desiderate che il risultato venga rappresentato in un'altra destinazione, potete re<strong>di</strong>rigere il risultato su un<br />

modulo, tabella, stampa, o altra destinazione. Se desiderate conoscere come è scritta l’istruzione SQL potete<br />

visualizzarla.<br />

Re<strong>di</strong>rigere il risultato delle query<br />

Potete inviare il risultato della query a <strong>di</strong>verse destinazioni. Se non avete selezionato la destinazione questa sarà<br />

una finestra <strong>di</strong> Browser.<br />

Quando scegliete una Query Destination nel Query menu, oppure scegliete il tasto Query Destination sulla Query<br />

toolbar, verrà mostrata una finestra <strong>di</strong> <strong>di</strong>alogo Destination, dove potete scegliere in che modo mostrare i risultati.<br />

Per scegliere la destinazione <strong>di</strong> una query<br />

1. Dalla barra dei pulsanti del Query Designer, scegliete Query Destination.<br />

2. Nella finestra <strong>di</strong> <strong>di</strong>alogo Query Destination, scegliete la destinazione del risultato, e compilate ogni<br />

campo ad<strong>di</strong>zionale per come richiesto.<br />

Scegliere una destinazione per una query<br />

Utilizzate questa tabella per scegliere la destinazione dei risultati <strong>di</strong> una query.


Se desiderate Scegliete questa opzione<br />

Mostrare il risultati <strong>di</strong> una query in una finestra <strong>di</strong> scorrimento Browse<br />

Salvare il risultato <strong>di</strong> una query in una tabella temporanea <strong>di</strong> sola lettura Cursor<br />

Salvare i risultati <strong>di</strong> una query in una tabella assegnandole un nome Table<br />

Rendere il risultato <strong>di</strong>sponibile per l’utilizza con <strong>Microsoft</strong> Graph, una<br />

applicazione separata acclusa <strong>Visual</strong> FoxPro<br />

Mostrare i risultati <strong>di</strong> una query nella finestra principale <strong>di</strong> <strong>Visual</strong><br />

FoxPro, o nella finestra attiva<br />

Graph<br />

Screen<br />

Inviare alla stampa report (.frx) Report<br />

Inviare il risultato su una etichetta (.lbx) Label<br />

Molte <strong>di</strong> queste opzioni hanno delle ulteriori possibilità che mo<strong>di</strong>ficano i risultati. Ad esempio, le opzioni <strong>di</strong><br />

stampa report consentono <strong>di</strong> aprire un la stampa su un file consentendo la mo<strong>di</strong>fica prima ancora della stampa<br />

vera, oppure potete utilizzare il wizard per la configurazione della stampa.<br />

Verifica della query<br />

Se desiderate essere certi che la query sia definita propriamente, potete visualizzare l’istruzione SQL costruita dal<br />

Query Designer. Inoltre, potete aggiungere commenti alle query che ne descrivano lo scopo. I commenti delle<br />

query appaiono nella finestra <strong>di</strong> SQL.<br />

<strong>Visual</strong>izzare le istruzioni SQL<br />

In qualsiasi momento della fase <strong>di</strong> creazione delle vostre query, potete visualizzare l’istruzione SQL che si sta<br />

generando me<strong>di</strong>ante il View SQL del menu Query, oppure cliccando sul tasto SQL della barra dei pulsanti.<br />

Una finestra <strong>di</strong> sola lettura mostra l’espressione SQL.<br />

Potete copiare il testo della finestra e passarlo nella finestra <strong>di</strong> Comando oppure incorporarla in un programma.<br />

Per vedere l’espressione SQL della query<br />

❍<br />

Nella barra pulsanti del Query Designer, scegliete il tasto SQL.<br />

L’espressione SQL <strong>di</strong> una query


Aggiungere un commento ad una query<br />

Se volete identificare le vostre query in qualche modo, oppure aggiungere un commento alle vostre query in modo<br />

da potervi ricordare lo scopo per futuri riferimenti.<br />

Per aggiungere un commento in una query<br />

1. Dal menu Query, scegliete Comments.<br />

2. Nella finestra Comment, inserite le note che desiderate.<br />

3. scegliete OK.<br />

Aggiungere un commento alle query<br />

I commenti che inserite appaiono in alto nella finestra SQL, preceduto da un asterisco.


Personalizzazione delle queries<br />

Altre opzioni <strong>di</strong>sponibili con il Query Designer rendono semplici future personalizzazioni. Potete utilizzare<br />

filtri per espandere o restringere le vostre ricerche. Potete anche aggiungere espressioni per effettuare calcoli o<br />

funzioni sui dati dei campi.<br />

Perfezionare la ricerca<br />

Potreste aver la necessità <strong>di</strong> aver maggior controllo sui risultati <strong>di</strong> una query, ad esempio. Potreste voler cercare<br />

records che sod<strong>di</strong>sfino più <strong>di</strong> un criterio, come clienti <strong>di</strong> una provincia che hanno sal<strong>di</strong> passivi maggiori <strong>di</strong> 1000<br />

dollari. Oppure, potreste aver necessità <strong>di</strong> ricuperare record che sod<strong>di</strong>sfino sia un criterio che anche un altro:<br />

clienti <strong>di</strong> Washington o della California. In entrambi i casi dovete inserire più espressioni nella scheda Filter.<br />

In <strong>Visual</strong> FoxPro, le espressioni sono automaticamente combinate con l’operatore logico AND quando ne<br />

inserite più <strong>di</strong> una su altre righe della scheda Filter. Se dovete ricercare dati che sod<strong>di</strong>sfino due o più con<strong>di</strong>zioni<br />

alternative, dovete inserire l’operatore logico OR fra le varie righe con il tasto Add Or.<br />

Restringere la ricerca<br />

Se volete che la query estragga solamente i records che sod<strong>di</strong>sfino uno o più criteri, elencate i criteri su righe<br />

separate nella scheda Filter. I criteri vengono combinati automaticamente con l’operatore AND, così solo i dati<br />

che sod<strong>di</strong>sfano entrambi i criteri sono estratti.<br />

Ad esempio, supponiamo che stiate facendo delle ricerche in una tabella <strong>di</strong> impiegati e desideriate tutti gli<br />

Agenti Rappresentanti del Regno Unito. Dovete inserire le due con<strong>di</strong>zioni su due linee separate:<br />

Combinazione <strong>di</strong> due filtri<br />

Per impostare la con<strong>di</strong>zione AND


●<br />

Inserite il filtro nella scheda filtri Filter, scegliete AND nella colonna Logical.<br />

Espandere la ricerca<br />

Se desiderate che la query estragga i records che sod<strong>di</strong>sfino una qualsiasi delle con<strong>di</strong>zioni imposte le dovete<br />

combinare con l’operatore logico OR.<br />

Per esempio potreste voler ricercare tutti i clienti che vivono in California e nello stato <strong>di</strong> Washington:<br />

Aggiungere un OR fra due filtri<br />

Per impostare una con<strong>di</strong>zione OR<br />

●<br />

Selezionate il filtro e quin<strong>di</strong> scegliete OR nella colonna Logical.<br />

Combinare le con<strong>di</strong>zioni <strong>di</strong> ricerca<br />

Potete anche combinare le con<strong>di</strong>zioni And e Or per estrarre dei records specifici dalle tabelle.<br />

Combinare filtri <strong>di</strong>versi


Eliminare i records duplicati da una query<br />

I record duplicati sono records in cui ogni campo del risultato combacia. Se desiderate rimuovere i record<br />

duplicati dal risultato <strong>di</strong> una query selezionate nella scheda Miscellaneus l'’pzione No Duplicates. Altrimenti,<br />

assicuratevi che l’opzione No Duplicates non sia selezionata.<br />

Nota Se è selezionata l’opzione No Duplicates, la parola DISTINCT precede i campi nella parte riferita a<br />

Select del comando Select.<br />

Estrarre una certa percentuale <strong>di</strong> dati nei primi records<br />

Potete specificare quanti o in che percentuale <strong>di</strong> records con il valore più alto o più basso <strong>di</strong> un certo campo<br />

devono essere restituiti dalla query. Ad esempio potete richiedere che la query vi mostri i records con i 10<br />

maggiori o minori valori in un dato campo.<br />

Utilizzando l’impostazione Top della scheda Miscellaneus, potete impostare un numero <strong>di</strong> percentuale <strong>di</strong><br />

records che volete visualizzare. Per impostare la parte più alta o la parte più bassa, impostate l’or<strong>di</strong>ne con cui<br />

devono essere estratti i records in modo che siano mostrati in or<strong>di</strong>ne ascendente per vedere i più alti o in or<strong>di</strong>ne<br />

<strong>di</strong>scendenti per vedere i più bassi.<br />

Per estrarre una certa percentuale dei primi records<br />

1.<br />

2.<br />

3.<br />

Nella scheda Order By, selezionate il campo da cui volete prelevare i valori più alti, quin<strong>di</strong> scegliete<br />

Descen<strong>di</strong>ng allo scopo <strong>di</strong> vedere questi valori oppure Ascen<strong>di</strong>ng per vedere quelli più bassi. Se dovete<br />

impostare l’or<strong>di</strong>namento anche su altri campi, sistemateli il secondo criterio dopo quello precedente,<br />

Nella scheda Miscellaneous, inserite la percentuale <strong>di</strong> dati che volete estrarre nella cella Number of<br />

records. Per vedere la percentuale selezionate Percent.<br />

Se non volete records duplicati, selezionate No duplicates.


Aggiungere una espressione ad una Query<br />

Potete creare delle query molto più flessibili e potenti se incorporate delle espressioni<br />

Aggiungere una espressione al risultato <strong>di</strong> una query<br />

Potete anche includere funzioni e espressioni nel risultato <strong>di</strong> una query, utilizzando la cella alla fine della<br />

scheda Fields. Se volete, potete anche assegnare un nome al campo che ospita l’espressione, assegnandogli un<br />

alias<br />

Ad esempio potreste voler includere nel risultato <strong>di</strong> una query la somma <strong>di</strong> tutti gli or<strong>di</strong>ni in un campo con<br />

l’alias Totale:<br />

SUM(orders.order_amt) AS Total<br />

Creare una espressione da includere nel risultato <strong>di</strong> una query<br />

Potete inserire l’espressione <strong>di</strong>rettamente nella cella oppure utilizzare l’Espression Buider della scheda Fields<br />

Per aggiungere una espressione al risultato <strong>di</strong> una query<br />

1.<br />

Nella scheda Fields, inserite l’espressione nella cella Functions and Expressions.<br />

-oppure-<br />

Scegliete il tasto Expression Builder e inserite l’espressione nella cella Functions and expressions.<br />

2. Cliccate sul tasto Add per inserire l’espressione nella cella Selected fields.<br />

Nota Valori nulli vengono ignorati nei calcoli.<br />

Eseguire un filtro con una espressione<br />

Al posto <strong>di</strong> ricercare semplicamente un records che corrisponda a un o più campi, potete utilizzare una<br />

espressione che combini due campi, o esegua dei calcoli basati su un campo e quin<strong>di</strong> ricercare altri campi che<br />

combacino con i campi combinati o calcolati.


Potete inserire l’espressione <strong>di</strong>rettamente nella cella Example. Se desiderate aiuto, potete utilizzare<br />

l’Expression Builder, che è <strong>di</strong>sponibile tramite il tasto vicino alla cella Expressions and Functions della scheda<br />

Fields.<br />

Ad esempio, nella scheda or<strong>di</strong>ni, potreste controllare il totale sconto <strong>di</strong> un cliente combinando il totale or<strong>di</strong>ni e<br />

lo sconto applicato in questo modo:<br />

Orders.order_amt * Orders.order_dsc<br />

Creare una espressione me<strong>di</strong>ante l’ Expression Builder


Pianificare la stesura del proprio modulo<br />

E' possibile impostare il proprio modulo in modo da visualizzare i dati in svariate modalità sulla pagina stampata.<br />

utilizzando Report Designer o l'autocomposizione del modulo. La progettazione <strong>di</strong> un modulo si compone <strong>di</strong> quattro passi principali:<br />

1. Determinare il tipo <strong>di</strong> modulo da creare.<br />

2. Creare un file <strong>di</strong> modello per l'impagianzione del modulo.<br />

3. Personalizzare il modello a seconda delle esigenze.<br />

4. <strong>Visual</strong>izzare un'anteprima del modulo e, quin<strong>di</strong>, procedere alla stampa.<br />

Il processo <strong>di</strong> creazione del modulo<br />

Stabilire il formato <strong>di</strong> base<br />

Prima <strong>di</strong> creare un modulo è necessario decidere il formato <strong>di</strong> base che si desidera attribuire al modulo. Il proprio modulo puo' essere semplice<br />

quanto una lista <strong>di</strong> numeri telefonici basata su un'unica tabella o, <strong>di</strong> contro, complesso come un fattura basata su tabelle molteplici. E' inoltre<br />

possibile creare delle tipologie speciali; ad esempio un modulo <strong>di</strong> etichette per buste (mailing label) potrà avere un'impaginazione specifico<br />

per un determinato tipo <strong>di</strong> carta.<br />

Formati generici <strong>di</strong> un modulo


Come aiuto nella scelta <strong>di</strong> un formato <strong>di</strong> base, seguono le descrizioni delle tipologie più comuni, del loro utilizzo ed alcuni esempi.<br />

Formato Descrizione Esempi<br />

Per colonne<br />

Per righe<br />

Un record per riga con i campi <strong>di</strong>sposti<br />

orizzontalmente lungo la pagina<br />

Una colonna <strong>di</strong> record con i campi <strong>di</strong>sposti<br />

verticalmente<br />

Uno-a-molti Relazioni uno-a-molti<br />

Multi-colonna<br />

Etichette<br />

Più <strong>di</strong> una colonna <strong>di</strong> record con i campi <strong>di</strong>sposti<br />

verticalmente e allineati a sinistra<br />

Più <strong>di</strong> una colonna <strong>di</strong> record con i campi <strong>di</strong>sposti<br />

verticalmente e allineati a sinistra , pre<strong>di</strong>sposto per la<br />

stampa su un tipo particolare <strong>di</strong> carta<br />

Riepilogo dei totali<br />

Moduli finanziari<br />

Inventari<br />

Resoconti <strong>di</strong> ven<strong>di</strong>ta<br />

Liste<br />

Fatture<br />

Account statements<br />

Cartelle telefoniche<br />

Business cards<br />

Etichette per buste postali<br />

Biglietti da visita<br />

Dopo aver scelto il formato <strong>di</strong> base che più risponde alle proprie esigenze, è possibile procedere alla creazione del file contenente il modello <strong>di</strong><br />

impaginazione con "Report Designer."<br />

I file modello per il modulo<br />

Ad un file <strong>di</strong> modello viene attribuita l'estensione .frx; in questo file vengono memorizzate le specifiche per il modulo da creare. Ad ognuno <strong>di</strong><br />

questi file ne è associato un altro con l'estensione .frt. In questo file sono specificati i campi da comprendere nel modulo, il testo da stampare e<br />

la <strong>di</strong>sposizione delle informazioni all'interno della pagina. Il file non memorizza i valori <strong>di</strong> ciascun campo <strong>di</strong> dati ma solamente il formato e la<br />

<strong>di</strong>sposizione generale; è quin<strong>di</strong> possibile mo<strong>di</strong>ficare i valori all'interno del database sorgendo mantenendo invariata la struttura della pagina <strong>di</strong><br />

stampa.


Creare un formato per il modulo<br />

<strong>Visual</strong> FoxPro consente la creazione <strong>di</strong> un formato-modulo in tre mo<strong>di</strong> <strong>di</strong>fferenti:<br />

●<br />

●<br />

●<br />

Utilizzando un "Report Wizard": è possibile creare un modulo basato su una o più tabelle<br />

Utilizzando "Quick Report": è possibile creare un modulo basato su una singola tabella.<br />

Utilizzando "Report Designer" per mo<strong>di</strong>ficare un modulo esistente o per crearne uno ex-novo.<br />

Attraverso ognuno <strong>di</strong> questi meto<strong>di</strong> viene creato un file <strong>di</strong> modello mo<strong>di</strong>ficabile con "Report Designer".<br />

L'uso dei "Report Wizard" costituisce il modo più facile per iniziare ed mette inoltre a <strong>di</strong>sposizione<br />

molte delle caratteristiche <strong>di</strong> personalizzazione proprie <strong>di</strong> "Report Designer".<br />

Utilizzare "Quick Report" è invece il modo più veloce per creare un semplice modulo<br />

Se si sceglie <strong>di</strong> creare il modulo da "Report Designer" si partirà invece dal foglio bianco per costruire<br />

dal principio il proprio formato personalizzato.<br />

Usare un "Report Wizard"<br />

Ogni qual volta si desideri creare un modulo, è possibile utilizzare un "report wizard" per essere guidati<br />

nella sua composizione. La procedura porrà all'utente una serie <strong>di</strong> domande creando un formato basato<br />

sulle risposte fornite.<br />

I Report Wizard previsti da <strong>Visual</strong> FoxPro sono i seguenti:<br />

● Resoconti (Report )<br />

● Uno-a-molti (One-to-Many)<br />

● Etichette (Label)<br />

● Sintesi <strong>di</strong> corrispondenza (Mail Merge)<br />

Il Wizard da scegliere <strong>di</strong>pende dal tipo e dalla complessità <strong>di</strong> modulo che si intende generare.<br />

Per utilizzare un Report Wizard<br />

1.<br />

2.<br />

3.<br />

4.<br />

5.<br />

Selezionare Reports da Project Manager.<br />

Scegliere New.<br />

Scegliere quin<strong>di</strong> Report Wizard.<br />

Selezionare il tipo <strong>di</strong> modulo da creare.<br />

Seguire le in<strong>di</strong>cazioni delle finestre <strong>di</strong> <strong>di</strong>alogo presentate dalla procedura guidata.<br />

Si può accedere ai Report Wizard selezionando Wizards dal menù Tools specificando la voce Report.<br />

Una volta utilizzato un wizard è possibile ricorrere a Report Designer per aggiungere controlli e<br />

personalizzare ulteriormente il modulo.<br />

Ulteriori informazioni verranno fornite più avanti all'interno <strong>di</strong> questo capitolo (ve<strong>di</strong> "Personalizzare il<br />

formato")<br />

Iniziare a progettare il modulo<br />

Se non si desidera ricorrere alla composizione guidata tramite Wizard, è possibile iniziare a tracciare la<br />

struttura del modulo a partire dal foglio vuoto stabilendo autonomamente ogni tipo <strong>di</strong> controllo.<br />

Per creare un nuovo modulo vuoto<br />

1.<br />

Selezionare Reports da Project Manager.


2.<br />

3.<br />

Scegliere New.<br />

Scegliere quin<strong>di</strong> New Report.<br />

Comparità Report Designer, da cui sarà dunque possibile costruire e personalizzare il modulo.


Creare un formato etichette per buste<br />

Un'etichetta non è altro che un modulo multicolonna con impostazioni speciali per adeguar<strong>di</strong> ad un<br />

particolare tipo <strong>di</strong> carta. In <strong>Visual</strong> FoxPro si possono creare etichette molto velocemente ricorrendo<br />

all'apposito Wizard oppure a "Label Designer".<br />

Creare etichette tramite Wizard<br />

Il Wizard per la creazione <strong>di</strong> etichette costituisce un modo facile per raggiungere lo scopo. Una volta<br />

creato il file modello è comunque possibile ricorrere a Report Designer per aggiungere ogni tipo <strong>di</strong><br />

personalizzazione necessaria.<br />

Per creare etichette tramite Wizard:<br />

1.<br />

2.<br />

3.<br />

4.<br />

Selezionare Labels in Project Manager.<br />

Scegliere New.<br />

Scegliere quin<strong>di</strong> Label Wizard.<br />

Seguire le istruzioni fornite dalle varie finestre <strong>di</strong> <strong>di</strong>alogo.<br />

Il formato ottenuto può essere utilizzato così com'è oppure mo<strong>di</strong>ficato grazie alle procedure menzionate<br />

finora oppure lanciando il comando Add Label wizard cliccando il tasto "New Label" nel secondo<br />

passaggio del proce<strong>di</strong>mento descritto sopra.<br />

Avviare Label Designer<br />

Se si desidera fare a meno del Wizard per la creazione delle proprie etichette, si puo' definire il modulo<br />

con Label Designer. Label Designer è concettualmente analogo a Report Designer e utilizza i suoi stessi<br />

menù e barre <strong>di</strong> strumenti; si <strong>di</strong>fferenziano solo per la pagina iniziale e per il tipo <strong>di</strong> carta su cui<br />

lavorano. Report Designer usa una pagina completa <strong>di</strong> carta standard mentre Label Designer organizza<br />

la propria pagina <strong>di</strong> inizio e la carta in adeguamento allo standard per la carta da etichette.<br />

Creare etichette con Label Designer<br />

1.<br />

2.<br />

3.<br />

4.<br />

Selezionare Labels in Project Manager.<br />

Scegliere New.<br />

Scegliere New Label: verrà visualizzata la finestra <strong>di</strong> <strong>di</strong>alogo New Label.<br />

la finestra <strong>di</strong> <strong>di</strong>alogo New Label<br />

Dalla finestra <strong>di</strong> <strong>di</strong>alogo New Label scegliere un formato per le etichette e premere quin<strong>di</strong> il<br />

tasto OK.


Label Designer mostrerà un'anteprima per la pagina definita dal formato prescelto.<br />

La specifica della fonte dei dati e i controlli su <strong>di</strong> essi funzionano nello stesso modo rispetto ad un<br />

normale modulo. Ulteriori informazioni verranno fornite più avanti all'interno <strong>di</strong> questo capitolo (ve<strong>di</strong><br />

"Personalizzare il formato")


Mo<strong>di</strong>ficare il formato<br />

Se il modulo che si è ottenuto non risponde del tutto alle proprie esigenze si può intervenire con mo<strong>di</strong>fiche ricorrendo a Report Designer che<br />

permette <strong>di</strong> inserire una varietà <strong>di</strong> controlli su etichette, campi, variabili ed espressioni nella modalità in cui appariranno sulla pagina<br />

stampata.<br />

Per esempio in una lista telefonica è possibile migliorare l'aspetto e la leggibilità del modulo aggiungendo linee, racchiudendo i titoli dei<br />

campi o ad<strong>di</strong>rittura inserendo immagini; ognuno <strong>di</strong> questi controlli è rappresentato in figura 63.<br />

File <strong>di</strong> modello e modulo risultante<br />

Aprendo il modulo con Report Designer il formato è mo<strong>di</strong>ficabile e personalizzabile<br />

Per mo<strong>di</strong>ficare la struttura <strong>di</strong> un modulo o <strong>di</strong> etichette<br />

1. Scegliere report (o label) in Project Manager.<br />

2. Scegliere Mo<strong>di</strong>fy.<br />

Le barre <strong>di</strong> controllo visualizzate possono essere utilizzate per determinare l'aspetto <strong>di</strong> ogni parte costitutiva del modulo; uqeste barre sono<br />

ri<strong>di</strong>mensionabili e, al loro interno, è possibile aggiungere controlli e gestire la <strong>di</strong>sposizione <strong>di</strong> testo e campi.<br />

Pianificare la <strong>di</strong>sposizione dei dati<br />

Una volta definita l'impaginazione del modulo si può mo<strong>di</strong>ficare la <strong>di</strong>sposizione dei dati sulla pagina; ricorrendo alle barre <strong>di</strong> controllo <strong>di</strong><br />

Report Designer si può determinare la posizione della pagina in cui verrà stampato il dato. La propria struttura <strong>di</strong> modulo può comporsi <strong>di</strong><br />

varie barre; nella tabella che segue ne sono riportati alcuni tipi assieme ai tipici contenuti per ciascuna.<br />

Nota: ogni <strong>di</strong>citura sottostante a ciascuna barra identifica la barra stessa.<br />

Barre <strong>di</strong> controllo in Report Designer


Un modulo può contenere <strong>di</strong>verse barre <strong>di</strong> controllo; queste si possono inserire utilizzando le procedure descritte in questo capitolo alle voci<br />

"Definire la pagina del modulo" e "Raggruppare i dati sul formato scelto". La tabella che segue può servire per determinare quali barre<br />

usare.<br />

Usa questa barra Per stampare Usa questo comando<br />

Titolo (title) Una volta per modulo Title/Summary dal menù Report<br />

Intestazione <strong>di</strong> pagina<br />

(page header)<br />

Intestazione <strong>di</strong> colonna<br />

(Column Header)<br />

Intestazione del gruppo<br />

(Group header)<br />

Una volta per pagina Disponibile <strong>di</strong> default<br />

Una volta per colonna<br />

Page Setup dal menù File: impostare poi Column Number<br />

maggiore <strong>di</strong> 1<br />

Una volta per gruppo Data Grouping dal menù Report<br />

Dettaglio (Detail band) Una volta per record Disponibile <strong>di</strong> default<br />

Piè <strong>di</strong> pagina del gruppo<br />

(Group footer)<br />

Piè <strong>di</strong> pagina <strong>di</strong> colonna<br />

(Column footer)<br />

Piè <strong>di</strong> pagina (Page<br />

Footer)<br />

Una volta per gruppo Data Grouping dal menù Report<br />

Una volta per colonna<br />

Una volta per pagina Disponibile <strong>di</strong> default<br />

Page Setup dal menù File; impostare poi Column Number<br />

maggiore <strong>di</strong> 1.<br />

Sommario (Summary) Una volta per modulo Title/Summary dal menù Report .<br />

Ogni controllo per il modulo in oggetto può essere posizionato in ognuna delle barre; si possono includere anche funzioni definite<br />

dall'utente che verranno elaborate al momento dell'attivazione del modulo.<br />

Barre ri<strong>di</strong>mensionabili<br />

Ogni barra <strong>di</strong> controllo è ri<strong>di</strong>mensionabile:<br />

Per ri<strong>di</strong>mensionare una barra<br />

●<br />

Trascinare il bordo della barra alla giusta altezza; si può usare il righello <strong>di</strong> sinistra come guida; la misura del righello si riferisce<br />

strettamente all'altezza della barra e non include i margini della pagina.<br />

Suggerimento: Non è possibile rendere una barra più corta dell'altezza dei controlli; prima vanno trascinati all'interno della


arra e poi si può procedere con il ri<strong>di</strong>mensionamento.


Aggiungere controlli al modulo<br />

In un modulo si possono inserire i seguenti tipi <strong>di</strong> controllo:<br />

Per visualizzare Scegli questo controllo<br />

Campi <strong>di</strong> tabella, variabili e altre espressioni Campo (Field)<br />

Testo letterale Etichetta (Label)<br />

Linee <strong>di</strong>ritte Linea (Line)<br />

Bor<strong>di</strong> e contorni Rettangolo (Rectangle)<br />

Cerchi, ovali, contorni arrotondati, bor<strong>di</strong><br />

Rettangolo arrotondato (Rounded<br />

Rectangle)<br />

Immagini bitmap o campi generici Immagine (Picture/OLE Bound)<br />

Dopo aver <strong>di</strong>sposto i controlli si può mo<strong>di</strong>ficare il loro formato, la loro <strong>di</strong>mensione, posizione e colore; si possono inoltre aggiungere<br />

commenti visibili solo da schermo che non verranno riportati in fase <strong>di</strong> stampa.<br />

Aggiungere controlli con Quick Report<br />

Quick Report rappresenta un modo rapido per creare un semplice formato <strong>di</strong> modulo automaticamente. Selezionando pochi componenti <strong>di</strong><br />

base, <strong>Visual</strong> FoxPro crea il formato in base alla scelta fatta.<br />

Create un controllo con Quick Report<br />

1. Selezionare Reports in Project Manager<br />

2. Scegliere New.<br />

3. Scegliere New Report.<br />

4. Scegliere Quick Report dal menù Report.<br />

5. Selezionare la tabella da usare e premere quin<strong>di</strong> OK.<br />

La finestra <strong>di</strong> <strong>di</strong>alogo <strong>di</strong> Quick Report<br />

6. Selezionare il formato dei campi, il titolo e le opzioni necessarie.<br />

7.<br />

Per selezionare campi per il modulo, scegliere Fields e completare la finestra <strong>di</strong> <strong>di</strong>alogo Field Picker<br />

La finestra <strong>di</strong> <strong>di</strong>alogo Field Picker .


8. Premere infine il tasto OK.<br />

Le opzioni scelte si rifleteranno nel formato del modulo.<br />

Esito delle operazioni <strong>di</strong> Quick Report in Report Designer<br />

Il modulo può essere salvato, visualizzato in anteprima e attivato così com'è.<br />

N.B. Quick Reports non include i campi generali al formato del modulo.<br />

Selezionare la fonte dei dati<br />

La fonte dei dati a cui si riferiscono i controlli nel modulo è facilmente definibile nel cosiddetto "data environment". E' possibile inoltre<br />

aggiungere tabelle o viste e or<strong>di</strong>nare i dati usando gli in<strong>di</strong>ci <strong>di</strong> queste ultime.<br />

Usare una vista come fonte dei dati<br />

Il "data environment" gestisce i dati nel seguente modo:<br />

● Apre le tabelle o le viste nel momento in cui il modulo viene aperto o, comunque, attivato.<br />

● Seleziona il set <strong>di</strong> dati richiesti dal report.<br />

● Chiude le tabelle al momento della chiusura del modulo.<br />

Per aggiungere una tabella o una vista al data environment<br />

1. Dal menu View scegliere Data Environment.<br />

2. Dal menu Data Environment scegliere Add.<br />

3. Nella finestra <strong>di</strong> <strong>di</strong>alogo Add Table or View selezionare un database.<br />

4.<br />

Nell'area Select scegliere Tables o Views.<br />

La selezione determina quali campi appariranno nella lista Tables in database.<br />

Data Environment Designer


5. Nella lista Tables in Database, selezionare una tabella o una vista.<br />

6.<br />

Premere quin<strong>di</strong> il tasto OK.<br />

Si può scegliere l'or<strong>di</strong>ne in cui appariranno i record nel modulo creando un in<strong>di</strong>ce per il data environment.<br />

Per creare un in<strong>di</strong>ce per il data environment<br />

1.<br />

2.<br />

3.<br />

4.<br />

Dal menù View, scegliere Data Environment e, quin<strong>di</strong>, Properties.<br />

Nella finestra Properties scegliere Cursor1 dalla casella Object.<br />

Scegliere la scheda Data e selezionare la proprietà Order.<br />

Digitare un nome per l'in<strong>di</strong>ce - oppure - Selezionare un in<strong>di</strong>ce dall'elenco degli in<strong>di</strong>ci <strong>di</strong>sponibili.<br />

Aggiungere controlli <strong>di</strong> campo<br />

Il proprio modulo può includere controlli <strong>di</strong> campo che rappresentano i valori <strong>di</strong> campi, variabili e calcoli.<br />

Per aggiungere campi <strong>di</strong> tabelle al "data environment "<br />

1.<br />

2.<br />

3.<br />

Aprire il data environment del modulo.<br />

Selezionare una tabella o una vista.<br />

Trascinare i campi all'interno della struttura.<br />

Per aggiungere campi <strong>di</strong> tabelle dalla barra degli strumenti<br />

1.<br />

Dalla barra e Report Controls inserire un controllo Field.<br />

2. Nella finestra <strong>di</strong> <strong>di</strong>alogo Report Expression scegliere il bottone a fianco della casella Expression.<br />

3. Nella casella Fields fare doppio-click sul nome del campo necessario.<br />

4.<br />

5.<br />

I nomi della tabella e del campo appariranno nella casella Expression for Field on Report .<br />

N.B. Se la casella Fields è vuota, aggiungere una tabella o una vista al data environment.<br />

Non è necessario mantenere nell'espressione l'alias del nome della tabella; si può cancellare oppure azzerare le opzioni Expression<br />

Builder.<br />

Premere il tasto OK.<br />

Selezionare infine OK nella finestra <strong>di</strong> <strong>di</strong>alogo Report Expression.<br />

Aggiungere controlli <strong>di</strong> etichetta<br />

I controlli <strong>di</strong> etichetta si riferiscono al tipo <strong>di</strong> testo che si desidera appaia nel modulo. Ad esempio l'etichetta "Grand Total" identifica i<br />

contenuti <strong>di</strong> un controllo <strong>di</strong> campo contenente un'espressione <strong>di</strong> totale.<br />

Per aggiungere un controllo <strong>di</strong> etichetta<br />

1. Scegliere il tasto Label dalla barra strumenti Report Controls.<br />

2. In Report Designer, fare click per posizionare il controllo.<br />

3. Digitare i caratteri per l'etichetta come se fosse un e<strong>di</strong>tor: usare il tasto INVIO per andare a capo e il menù E<strong>di</strong>t per tagliare, copiare e<br />

incollare testo.<br />

Per visualizzare un controllo <strong>di</strong> etichetta<br />

1.<br />

Scegliere il tasto Label in Report Designer e quin<strong>di</strong> fare click sull'etichetta da visualizzare.


2. Digita le eventuali mo<strong>di</strong>fiche.<br />

Dopo aver posizionato il testo è possibile mo<strong>di</strong>ficarne il carattere e il colore; per ulteriori informazioni in proposito vedere le sezioni<br />

"Mo<strong>di</strong>ficare il carattere" e "Mo<strong>di</strong>ficare il colore dei controlli" più avanti in questo capitolo.<br />

Aggiungere un campo Generale<br />

All'interno del modulo è possibile inserire un campo "Generale" contenente oggetti OLE.<br />

Per inserire un campo "Generale"<br />

1. Aggiungere un controllo Picture/OLE Bound in Report Designer.<br />

2. Nell'area Picture From selezionare Field.<br />

La finestra <strong>di</strong> <strong>di</strong>alogo Report Picture<br />

3. Nella casella Field <strong>di</strong>gitare il nome <strong>di</strong> un campo -oppure- Scegliere il tasto <strong>di</strong> <strong>di</strong>alogo <strong>di</strong> <strong>di</strong>alogo per selezionare il campo o la variabile.<br />

4. Scegliere OK.<br />

Il segnaposto per il campo Generale apparirà racchiuso in un'area personalizzabile. Di default l'immagine mantiene la sua<br />

<strong>di</strong>mensione originale.<br />

Selezionare, spostare e ri<strong>di</strong>mensionare i controlli <strong>di</strong> un modulo<br />

In un modulo contenente controlli già esistenti è possibile mo<strong>di</strong>ficarne il posizionamento e la <strong>di</strong>mensione. Ogni controllo è mo<strong>di</strong>ficabile<br />

in<strong>di</strong>vidualmente o per gruppi, gestibili come un'unica entità.<br />

Per spostare un controllo<br />

●<br />

Selezionare il controllo e trascinarlo in una nuova posizione all'interno <strong>di</strong> una barra <strong>di</strong> controllo.<br />

Il controllo si muove in modo incrementale all'interno della struttura. Gli incrementi si basano sulle impostazioni della griglia;<br />

per ignorare la griglia premere il tasto CTRL trascinando il controllo.<br />

Per selezionare più <strong>di</strong> un controllo<br />

●<br />

Trascinate per creare una griglia <strong>di</strong> selezione attorno ai controlli. Delle maniglie <strong>di</strong> selezione appariranno attorno ad ogni controllo.<br />

Mentre questi sono selezionati, potete spostarli, copiareli, o cancellarli tutti insieme.<br />

E’ possibile associare un gruppo <strong>di</strong> controlli insieme per più <strong>di</strong> uno scopo oltre a quello corrente, identificandoli come gruppo. Ad esempio<br />

potreste voler associare un controllo <strong>di</strong> etichetta ad un controllo <strong>di</strong> campo uno con l'altro, in modo da poterli spostare senza doverli selezionare<br />

separatamente. Questa caratteristica è utile anche dopo aver formattato ed allineato i controlli perchè preserva la loro posizione l’uno rispetto<br />

all’altro.<br />

Per raggruppare controlli insieme<br />

1.<br />

Selezionate i controlli che volete trattare come gruppo.


2. Dal menu Format scegliete Group.<br />

Le maniglie <strong>di</strong> selezione si spostano al <strong>di</strong> fuori dell'intero gruppo. Potete gestire quin<strong>di</strong> il gruppo o come se fosse una singola unità.<br />

Per separare un gruppo <strong>di</strong> controlli<br />

1.<br />

2.<br />

Selezionate un gruppo <strong>di</strong> controlli.<br />

Dal menu Format, scegliere Ungroup.<br />

Le maniglie <strong>di</strong> selezione appariranno attorno a ciascun dei controlli che costituivano il gruppo<br />

Una volta che un controllo è nel vostro layout, potete cambiare le sue <strong>di</strong>mensioni in<strong>di</strong>vidualmente oppure potete ri<strong>di</strong>mensionare il gruppo <strong>di</strong><br />

controlli in modo che combacino uno con l'altro. Potete ri<strong>di</strong>mensionare qualsiasi controllo <strong>di</strong> un modulo ad eccezione delle etichette; la loro<br />

<strong>di</strong>mensione è determinata dal testo, dal font e dalla <strong>di</strong>mensione dei punti.<br />

Per ri<strong>di</strong>mensionare un controllo<br />

❍<br />

Selezionate il controllo, quin<strong>di</strong> trascinate una delle maniglie <strong>di</strong> selezione in modo da ottenere la <strong>di</strong>mensione voluta.<br />

Per far combaciare la <strong>di</strong>mensione <strong>di</strong> più controlli<br />

1. Selezionate il controllo <strong>di</strong> cui volete ottenere le stesse <strong>di</strong>mensioni<br />

2. Dal menu Format scegliete Size.<br />

3. Scegliete le opzioni appropriate in modo da far combaciare larghezza, altezza e <strong>di</strong>mensione. I controlli si ri<strong>di</strong>mensioneranno in modo<br />

da combaciare con le opzioni selezionate.<br />

Copiare e cancellare i controlli-modulo<br />

Potete copiare e cancellare qualsiasi dei controlli presenti sulla layout in<strong>di</strong>vidualmente o come gruppo.<br />

Per copiare i controlli<br />

1. Selezionate i controlli<br />

2. Dal menu E<strong>di</strong>t scegliete Copy e quin<strong>di</strong> Paste. Una copia del controllo apparirà al <strong>di</strong> sotto della sua posizione<br />

3. Trascinate la copia nella posizione voluta.<br />

Per cancellare i controlli<br />

1. Selezionate i controlli.<br />

2. Dal menu E<strong>di</strong>t scegliete Cut oppure premete il tasto cancellazione.<br />

Allineare i controlli<br />

Potete allineare i controlli in relazione uno con l'altro oppure posizionarli secondo la griglia fornita da Report Designer. Potete allineare i<br />

controlli su un lato particolare oppure con il centro.<br />

Per allineare i controlli fra <strong>di</strong> loro<br />

1. Selezionate i controlli che volete allineare<br />

2. Dal menu Format menu, scegliete Align.<br />

3. Dal sottomenu scegliete l’opzione <strong>di</strong> allineamento appropriate. <strong>Visual</strong> FoxPro utilizza il controllo il cui angolo è più vicino alla <strong>di</strong>rezione<br />

selezionata come ancora per l'allineamento.<br />

Potete anche utilizzare e la barra degli strumenti Layout. Utilizzando questa barra potete allineare il controllo più lontano da quello<br />

selezionato premendo il tasto CTRL mentre cliccate il tasto <strong>di</strong> allineamento.<br />

Lo strumento <strong>di</strong> allineamento a sinistra


Allineate i controlli con un margine in modo che tutti controlli selezionati siano equi<strong>di</strong>stanti. I controlli che sono su una riga e sono selezionati<br />

per allinearsi con il loro lato destro o con il loro lato sinistro si sovrapporranno uno con l'altro. Allo stesso modo i controlli che sono in linea<br />

verticale e sono selezionati per allinearsi con la loro parte alta, o bassa, si sovrapporranno. Per maggiori informazioni sulle barra degli<br />

strumenti ricercate il nome della barra attraverso l'Help.<br />

Per centrare controllo all'interno della barra <strong>di</strong> controllo<br />

1. Selezionate i controlli che volete allineare<br />

2. Dal menu Format scegliete Align.<br />

3. Dal sottomenu scegliete Center Vertically or Center Horizontally. I controlli si sposteranno verticalmente o orizzontalmente alla loro<br />

rispettiva barra <strong>di</strong> controllo.<br />

Sistemare la posizione dei controlli<br />

Potete posizionare un controllo in una posizione specifica sulla pagina utilizzando la barra <strong>di</strong> stato o la griglia. Di base, i controlli si<br />

posizionano automaticamente alla griglia. Potete scegliere <strong>di</strong> <strong>di</strong>sattivare la funzione "calamita" oppure la visualizzazione della griglia. La<br />

griglia vi può aiutare nel posizionamento dei controlli.<br />

Per sistemare un controllo in una posizione specifica<br />

1. Dal menu View scegliere Show Position.<br />

2. Scegliete il controllo, quin<strong>di</strong> spostate il controllo nella posizione utilizzando le informazioni <strong>di</strong>sponibili sulla barra <strong>di</strong> stato.<br />

Per allineare i controlli manualmente<br />

●<br />

Dal menu Format deselezionare Snap to Grid.<br />

Per mostrare la griglia<br />

●<br />

Dal menu View, scegliete Grid Lines. La griglia apparirà sulle barra <strong>di</strong> controllo del modulo.<br />

Per mo<strong>di</strong>ficare le <strong>di</strong>mensioni della cella unitaria della griglia<br />

●<br />

Dal menu Format scegliete Set Grid Scale inserite il numero <strong>di</strong> pixel per la larghezza orizzontale e l'altezza verticale <strong>di</strong> ogni cella<br />

della griglia.


Raggruppare i dati sul vostro modulo<br />

Un volta progettata l'impostazione <strong>di</strong> base, potete decidere come raggruppare i records in base a certi<br />

campi o altri criteri che possono rendere più semplice la lettura.<br />

Il raggruppamento vi permette <strong>di</strong> separare i gruppi <strong>di</strong> raccordo visivamente e <strong>di</strong> mostrare dei riepiloghi<br />

<strong>di</strong> dati per ogni gruppo. L'interruzione del gruppo si basa su una espressione <strong>di</strong> raggruppamento.<br />

Questa espressione <strong>di</strong> solito si basa su campi <strong>di</strong> una o più tabelle ma può essere <strong>di</strong> qualsiasi complessità.<br />

Qualora vi siano dei gruppi, il vostro modulo avrà delle sezioni <strong>di</strong> intestazioni <strong>di</strong> gruppo e <strong>di</strong> piè <strong>di</strong><br />

pagina a cui voi potete aggiungere controlli.<br />

Solitamente le sezioni dell'intestazione contengono i controlli <strong>di</strong> campo utilizzati per ogni gruppo. Voi<br />

potete aggiungere linee, rettangoli, rettangoli arrotondati, o qualsiasi etichetta che volete fare apparire<br />

prima del primo record <strong>di</strong> un gruppo. Il gruppo piè <strong>di</strong> pagina contiene <strong>di</strong> solito i totali o altri sommari<br />

per quel gruppo.<br />

Potete anche specificare altre opzioni per il gruppo:<br />

● Stampare del testo sia nell'intestazione che nei piè <strong>di</strong> pagina per identificare gruppi specifici<br />

● Stampare ogni gruppo in una nuova pagina<br />

● Ridefinire il numero delle pagine quando i gruppi sono stampati su nuove pagine<br />

Se la sorgente dei dati è una tabella, i record saranno probabilmente or<strong>di</strong>nati in modo non appropriato<br />

per il raggruppamento. Potete rior<strong>di</strong>nare i dati impostando un in<strong>di</strong>ce per quella tabella, oppure<br />

utilizzando una vista or<strong>di</strong>nata o una query per la visualizzazione dei dati nel gruppo.<br />

L'impostazione della stampa non effettua nessuna organizzazione ma estrae i dati nell'or<strong>di</strong>ne in cui si<br />

trovano nella sorgente. L'organizzazione dei dati deve essere fatta attraverso delle viste o degli in<strong>di</strong>ci o<br />

altri mo<strong>di</strong> al <strong>di</strong> fuori del report.<br />

Aggiungere un singolo gruppo<br />

Una stampa <strong>di</strong> un singolo gruppo ha un suo livello <strong>di</strong> dati raggruppati in base a una espressione. Ad<br />

esempio, potete decidere un gruppo o in base al campo nazione in modo da stampare i dati <strong>di</strong> una stessa<br />

nazione insieme. La sorgente dei dati deve essere organizzata sulla base <strong>di</strong> quel campo.<br />

Per aggiungere un gruppo<br />

1.<br />

Dal menu Report scegliete Data Grouping.<br />

La finestra <strong>di</strong> <strong>di</strong>alogo Data Grouping


2.<br />

3.<br />

4.<br />

Nella casella del primo gruppo inserite l’espressione <strong>di</strong> raggruppamento.<br />

-oppure-<br />

Scegliete il tasto <strong>di</strong> <strong>di</strong>alogo per creare una espressione per mezzo <strong>di</strong> Expression Builder<br />

Nell’area Group properties area, selezionate la proprietà desiderata.<br />

Scegliete OK.<br />

Dopo aver aggiunto l'espressione, potete posizionare qualsiasi controllo che desiderate nelle sezioni. Di<br />

solito il controllo campo utilizzato per il raggruppamento è spostato dalla sezione "Dettaglio" alla<br />

sezione "Intestazione".<br />

Aggiungere ragggruppamenti con molti dati<br />

Potete definire fino a 20 livelli <strong>di</strong> raggruppamento all'interno <strong>di</strong> una stampa. I gruppi unificati sono<br />

molto utili per organizzare i dati con totali a <strong>di</strong>fferenti livelli.<br />

Per scegliere un livello <strong>di</strong> un gruppo valutate quanto spesso il valore può cambiare, quin<strong>di</strong> definite per<br />

primo il gruppo che cambia <strong>di</strong> più.<br />

Per esempio, la vostra stampa potrebbe aver bisogno <strong>di</strong> raggruppare i dati per ragione e quin<strong>di</strong> per città.<br />

Il valore <strong>di</strong> una città cambia più frequentemente rispetto al valore <strong>di</strong> una regione, quin<strong>di</strong> la città deve<br />

essere il primo criterio <strong>di</strong> raggruppamento e la regione il secondo. In questa stampa con più gruppi, la<br />

tabella deve essere organizzata e in<strong>di</strong>cizzata sulla chiave <strong>di</strong> espressione Regione+Città.<br />

Per aggiungere più raggruppamenti<br />

1.<br />

Dal menu Report scegliete Data Grouping.<br />

La finestra <strong>di</strong> <strong>di</strong>alogoData Grouping


2.<br />

3.<br />

4.<br />

5.<br />

Nella prima casella Group inserite l’espressione <strong>di</strong> gruppo.<br />

-oppure-<br />

Cliccate sul tasto <strong>di</strong> <strong>di</strong>alogo per creare un espressione con Expression Builder. Nell’area Group<br />

properties scegliete la proprietà che desiderate.<br />

Scegliete Insert e ripetete i passi 2 e 3 per ogni gruppo.<br />

Cliccate su OK.<br />

I gruppi vengono numerati nella lista Data Grouping nell'or<strong>di</strong>ne in cui sono creati. In Report Designer il<br />

nome delle sezioni dei gruppi contiene il numero del gruppo e un'espressione troncata per quel gruppo.<br />

Le intestazioni del gruppo e i piè <strong>di</strong> pagina con il numero più basso appaiono più vicino alla sezione<br />

"Dettaglio."<br />

Cambiare la sezione <strong>di</strong> un gruppo<br />

Potete cambiare l'espressione <strong>di</strong> un gruppo e le opzioni <strong>di</strong> stampa <strong>di</strong> un gruppo<br />

Per mo<strong>di</strong>ficare la sezione <strong>di</strong> un gruppo<br />

1. Dal menu Report scegliete Data Grouping.<br />

2. Nella finestra <strong>di</strong> <strong>di</strong>alogo Data Grouping <strong>di</strong>alog box selezionate il gruppo <strong>di</strong> espressione da mo<strong>di</strong>ficare.<br />

3. Inserite la nuova espressione<br />

-oppure-<br />

Scegliete il tasto <strong>di</strong> <strong>di</strong>alogo in modo da mo<strong>di</strong>ficare l'espressione attraverso Expression Builder<br />

4.<br />

Mo<strong>di</strong>ficate le opzioni <strong>di</strong> raggruppamento come necessario<br />

Proprietà <strong>di</strong> gruppo nella finestra <strong>di</strong> <strong>di</strong>alogo Data Grouping


5. Scegliete OK.<br />

6.<br />

Nella finestra <strong>di</strong> <strong>di</strong>alogo Data Grouping scegliete OK.<br />

Cancellare una sezione raggruppamento<br />

Se non avete più necessità <strong>di</strong> un particolare gruppo sulla vostra stampa, potete cancellarlo.<br />

Per cancellare una sezione <strong>di</strong> gruppo<br />

1.<br />

2.<br />

3.<br />

Dal menu Report scegliete Data Grouping<br />

Selezionate il gruppo che volete cancellare<br />

Scegliete Delete.<br />

La sezione del gruppo viene rimossa dalla stampa nel caso in cui il gruppo conteneva<br />

controlli e verrà richiesto se dovete cancellare anche i gruppi.<br />

Cambiare l’or<strong>di</strong>ne <strong>di</strong> raggruppamento<br />

Potete cambiare l'or<strong>di</strong>ne dei gruppi in un modulo <strong>di</strong> stampa una volta che essi sono definiti. Quando i<br />

gruppi sono riorganizzati, tutti i controlli definiti in un gruppo sono spostati nella nuova posizione.<br />

Rior<strong>di</strong>nando i gruppi non si mo<strong>di</strong>fica qualsiasi precedente definizione dei controlli. Le celle e le linee<br />

sono state posizionate relativamente all'inizio o alla fine <strong>di</strong> una sezione <strong>di</strong> gruppo rimarranno ancorati<br />

alla sezione.<br />

Per mo<strong>di</strong>ficare l'or<strong>di</strong>ne dei gruppi<br />

1. Dal menu Report scegliete Data Grouping.<br />

2.<br />

Selezionate il tasto <strong>di</strong> spostamento alla sinistra del gruppo che volete spostare e trascinatelo nella nuova<br />

posizione.


Personalizzare i vostri moduli<br />

Potete mo<strong>di</strong>ficare l'ambiente dati, l'impostazione della pagina e dei controlli del modulo. L'ambiente dati<br />

definisce il sorgente dei dati da includere nella stampa; l'impostazione della pagina definisce un aspetto della<br />

pagina <strong>di</strong> stampa e delle sezioni, i controlli della stampa definiscono gli oggetti che appaiono sulla pagina<br />

Definizione della stampa<br />

Quando progettato un report, <strong>di</strong> solito avete idea <strong>di</strong> come dovrà apparire la pagina. Ad esempio, sapete i<br />

margini, il tipo <strong>di</strong> carta e l'aspetto che desiderate. Questa sezione descrive l'impostazione dei margini,<br />

l'orientamento della carta e l'altezza delle sezioni del modulo.<br />

Impostare i margini, la <strong>di</strong>mensione della carta, e l'orientamento<br />

Potete impostare il margine <strong>di</strong> sinistro, le <strong>di</strong>mensioni della carta e l'orientamento delle vostre stampe, così come<br />

la larghezza delle colonne e lo spazio fra le colonne per una stampa su colonne. In questo contesto la parola<br />

"colonne" si riferisce al numero dei record che saranno stampati attraverso la pagina e non al numero dei campi<br />

per un singolo report. Report Designer non mostra queste impostazioni; egli mostra solamente l'area all'interno<br />

del quale saranno contenuti i record in colonna quin<strong>di</strong>, se la vostra stampa ha delle colonne e voi mo<strong>di</strong>ficate il<br />

margine <strong>di</strong> sinistra, la larghezza della colonna sarà automaticamente mo<strong>di</strong>ficata per adeguarsi al nuovo margine.<br />

Se mo<strong>di</strong>ficate la <strong>di</strong>mensione della carta e l'orientamento, assicuratevi che quest’ultimo sia adeguato al tipo <strong>di</strong><br />

carta che selezionate. Ad esempio, se selezionate una busta, l'orientamento dev'essere quello verticale<br />

Per impostare il margine <strong>di</strong> sinistra<br />

1.<br />

2.<br />

3.<br />

4.<br />

Dal menu File scegliete Page Setup.<br />

La finestra <strong>di</strong> <strong>di</strong>alogo Page Setup<br />

Per impostare il margine, inserite il numero del margine nella casella <strong>di</strong> testo Left Margin. L'immagine<br />

della pagina si mo<strong>di</strong>ficherà per mostrare il nuovo margine.<br />

Per impostare le <strong>di</strong>mensioni della carta, scegliete Print Setup.<br />

Nella finestra <strong>di</strong> <strong>di</strong>alogo Print Setup selezionate le <strong>di</strong>mensioni della carta dalla lista Size.


5.<br />

6.<br />

Per selezionare l'orientamento della carta, scegliete un orientamento nell'area Orientation, e quin<strong>di</strong><br />

Cliccate su OK<br />

Nella finestra <strong>di</strong> <strong>di</strong>alogo Page Setup Cliccate su OK<br />

Definire l'intestazione e il piè <strong>di</strong> pagina<br />

I controlli sistemati nella intestazione o nel piè <strong>di</strong> pagina appariranno in ogni pagina della stampa. Un modulo <strong>di</strong><br />

stampa che contiene molte pagine deve includere il nome della stampa, il numero delle pagine, la data, e le<br />

etichette (se <strong>di</strong>sponibili) nell’ intestazione e nel piè <strong>di</strong> pagina.<br />

Definire la sezione dettaglio<br />

Tipicamente, i controlli posizionati nella sezione dettaglio vengono stampati una volta per ogni singolo record.<br />

Aggiungere sezione titoli e sommario<br />

La sezione titolo contiene le informazioni che vengono stampate una volta all'inizio del modulo e la sezione<br />

sommario contiene le informazioni che vengono stampate una volta alla fine. Sia la sezione sommario che<br />

quella del titolo possono essere nella loro propria pagina. I campi con espressioni <strong>di</strong> totale <strong>di</strong>ventano "gran<br />

totale" quando si posizionano nella sezione sommario.<br />

Per aggiungere una sezione titolo o sommario<br />

1. Dal menu Report scegliete Title/Summary.<br />

2. Selezionate la sezione che volete<br />

3. Se volete che la sezione appaia nella propria pagina selezionate "Nuova pagina"<br />

4. Scegliete OK.<br />

Report Designer mostrerà le nuove sezioni<br />

Formattare i controlli <strong>di</strong> campo<br />

Una volta che avete inserito un controllo <strong>di</strong> campo, potete mo<strong>di</strong>ficare il formato dei dati <strong>di</strong> quel controllo. Il tipo<br />

<strong>di</strong> dati può essere; carattere, numerico o data. Ciascuno <strong>di</strong> questi tipi <strong>di</strong> dati ha le sue opzioni <strong>di</strong> formato, incluse<br />

le opzioni per creare una propria impostazione. Il formato determina come i dati saranno stampati o visualizzati.<br />

Tipicamente, potreste convertire tutti caratteri alfanumerici nel loro equivalente maiuscolo, inserire le virgolette<br />

o il punto decimale in un campo numerico e mostrare i caratteri numerici in formato valuta, oppure convertire<br />

una data da un formato a un altro.<br />

Definire il formato <strong>di</strong> un controllo campo<br />

Potete impostare una vasta serie <strong>di</strong> opzioni per ogni tipo <strong>di</strong> dati<br />

Per impostare un controllo campo<br />

1.<br />

2.<br />

3.<br />

4.<br />

fate un doppio click sul controllo Field.<br />

Nella finestra <strong>di</strong> <strong>di</strong>alogo Report Expression scegliete il tasto <strong>di</strong> <strong>di</strong>alogo dopo la casella Format.<br />

Nella finestra <strong>di</strong> <strong>di</strong>alogo Format, selezionate il tipo <strong>di</strong> dati per il campo, Character, Numeric, o Date.<br />

L’area E<strong>di</strong>ting mostra le opzioni <strong>di</strong>sponibili <strong>di</strong> formattazione per quel tipo <strong>di</strong> dati.<br />

Nota Questo tipo <strong>di</strong> dati si applica solamente sui controlli <strong>di</strong> stampa. Essi si ripercuotono sul tipo <strong>di</strong> dati<br />

o sulle espressioni ma non cambiano il tipo <strong>di</strong> dati nel campo della tabella.<br />

Selezionate la giustificazione e le opzioni <strong>di</strong> formato o che desiderate.<br />

La finestra <strong>di</strong> <strong>di</strong>alogo Format mostrerà <strong>di</strong>verse opzioni a seconda del tipo <strong>di</strong> dato scelto. E' anche<br />

possibile creare un nuovo stile inserendo i caratteri nella finestra <strong>di</strong> <strong>di</strong>alogo Format. Per maggiori<br />

informazioni cercare la voce "Tipi <strong>di</strong> formato"


Giustificare il testo in un campo<br />

Potete giustificare il testo contenuto all'interno <strong>di</strong> un controllo in due mo<strong>di</strong>. Questa impostazione non mo<strong>di</strong>fica<br />

la posizione del controllo sul modulo, ma solamente il contenuto all'interno del controllo.<br />

Per giustificare il testo in un controllo campo<br />

1.<br />

2.<br />

3.<br />

Selezionati controllo che volete mo<strong>di</strong>ficare.<br />

Dal menu Format scegliete Text Alignment.<br />

Dal sotto-menu, scegliete gli appropriati coman<strong>di</strong>.<br />

Per giustificare il testo in un campo<br />

1.<br />

2.<br />

3.<br />

4.<br />

Fate un doppio click nel controllo del campo<br />

Nella finestra <strong>di</strong> <strong>di</strong>alogo Report Expression scegliete il tasto <strong>di</strong> <strong>di</strong>alogo dopo la casella Format.<br />

Finestra <strong>di</strong> <strong>di</strong>alogo Format per una espressione numerica<br />

Nella finestra <strong>di</strong> <strong>di</strong>alogo Format selezionate il tipo <strong>di</strong> dati per quel campo: Character, Numeric, or<br />

Date.<br />

Selezionate la giustificazione e le opzioni <strong>di</strong> formato che volete<br />

Mo<strong>di</strong>ficare i font<br />

Potete mo<strong>di</strong>ficare i font e la <strong>di</strong>mensione del testo per ogni controllo <strong>di</strong> campo o etichetta oppure potete<br />

mo<strong>di</strong>ficare il font <strong>di</strong> default per la stampa<br />

Per mo<strong>di</strong>ficare font e <strong>di</strong>mensioni carattere <strong>di</strong> una stampa<br />

1. Selezionate il controllo<br />

2. Dal menu Format selezionare Font.<br />

Apparirà la finestra <strong>di</strong> <strong>di</strong>alogo Font.<br />

3.<br />

Selezionate il font appropriato e la <strong>di</strong>mensione dei punti, e quin<strong>di</strong> Cliccate su OK


Per mo<strong>di</strong>ficare il font <strong>di</strong> default<br />

1.<br />

2.<br />

Dal menu Report selezionate Default Font<br />

Nella finestra <strong>di</strong> <strong>di</strong>alogo font selezionate il font appropriato e la <strong>di</strong>mensione in punti che volete<br />

impostare come <strong>di</strong> default e quin<strong>di</strong> Cliccate su ok. Solamente i controlli inseriti dopo una vostra<br />

mo<strong>di</strong>fica per i font <strong>di</strong> default saranno influenzati da questa nuova impostazione.<br />

Aggiungere linee, rettangoli, cerchi<br />

Linee, rettangoli, e cerchi possono rendere più attraente le vostre stampe. Potete utilizzarli per separare delle<br />

sezioni o per enfatizzarne delle altre<br />

Disegnare delle linee<br />

Potete aggiungere delle linee verticali o orizzontali ai vostre report con Line Control. Spesso potreste avere la<br />

necessità <strong>di</strong> inserire delle linee in mezzo a dei dettagli nel corpo del vostro report e le informazioni contenute<br />

nell'intestazione e nel piè <strong>di</strong> pagina<br />

Per <strong>di</strong>segnare una linea<br />

1.<br />

2.<br />

Dalla barra strumenti Report Controls scegliete il tasto Line.<br />

Da Report Designer, trascinate per <strong>di</strong>mensionare la linea<br />

Dopo aver <strong>di</strong>segnato la linea, la potete spostare o ri<strong>di</strong>mensionare, o potete mo<strong>di</strong>ficare il suo spessore e il suo<br />

colore.<br />

Disegnare dei rettangoli<br />

Potete <strong>di</strong>segnare dei rettangoli sul vostro Layout in modo da organizzare le informazioni che vengono stampate.<br />

Potete utilizzarli per creare dei bor<strong>di</strong> attorno alle vostre stampe, attorno a delle sezioni, attorno ai controlli, ecc.<br />

Per <strong>di</strong>segnare un rettangolo<br />

1.<br />

2.<br />

Dalla barra degli strumenti Report Control scegliete il tasto Rectangle<br />

In Report Designer, trascinare per creare il rettangolo.<br />

Disegnare rettangoli arrotondati e cerchi<br />

Potete <strong>di</strong>segnare cerchi e rettangoli con una serie <strong>di</strong> angoli arrotondati<br />

Per <strong>di</strong>segnare un rettangolo o cerchio<br />

1. Dalla barra degli strumenti Report Control scegliete il tasto Rounded Rectangle.<br />

2. In Report Designer trascinare per creare il controllo.<br />

3.<br />

Fate un doppio click sul controllo<br />

Finestra <strong>di</strong> <strong>di</strong>alogo Round Rectangle


4.<br />

5.<br />

Nell’area Style selezionate lo stile dell'angolo che desiderate.<br />

Scegliete OK.<br />

Mo<strong>di</strong>ficare lo spessore lo stile delle linee<br />

Potete mo<strong>di</strong>ficare lo spessore delle linee utilizzate orizzontalmente o verticalmente, dei rettangoli, dei rettangoli<br />

con angolo arrotondato, dal sottilissimo fino a sei punti <strong>di</strong> spessore. Potete anche mo<strong>di</strong>ficare lo stile della linea<br />

da punteggiata a una combinazione <strong>di</strong> punti e linee.<br />

Per mo<strong>di</strong>ficare le <strong>di</strong>mensioni e lo stile <strong>di</strong> una linea<br />

1. Selezionate la linea, rettangolo, o il controllo con angolo arrotondato che volete mo<strong>di</strong>ficare.<br />

2. Dal menu Format scegliete Pen.<br />

3. Dal sottomenu selezionate l’appropriato stile e <strong>di</strong>mensione.<br />

Aggiungere un'immagine<br />

Potete inserire un immagine come parte <strong>di</strong> una stampa. Ad esempio, il logo <strong>di</strong> una azienda può apparire<br />

nell'intestazione <strong>di</strong> una pagina o <strong>di</strong> una fattura. Le immagini <strong>di</strong> un file sono statiche, esse non cambiano per ogni<br />

record o gruppo <strong>di</strong> record. Se volete mo<strong>di</strong>ficare l'immagine <strong>di</strong>pendentemente dai record, inserite invece un<br />

campo General.<br />

Per aggiugere un immagine<br />

1. Dalla barra degli strumenti Report Controls, scegliete Picture/OLE Bound Control.<br />

2.<br />

In Report Designer, trascinate per <strong>di</strong>mensionare l’immagine.<br />

Finestra <strong>di</strong> <strong>di</strong>alogo Report Picture


3.<br />

4.<br />

5.<br />

Nell’area Picture from selezionate File e quin<strong>di</strong> in<strong>di</strong>cate l’origine<br />

-oppure-<br />

Cliccate sul tasto <strong>di</strong> <strong>di</strong>alogo per selezionare il file<br />

Se appropriato, impostate <strong>di</strong>mensione, posizione, e opzioni <strong>di</strong> stampa.<br />

Scegliete OK.<br />

Mo<strong>di</strong>ficare il colore dei controlli<br />

Potete cambiare il colore <strong>di</strong> un campo, etichetta, linea, o rettangolo.<br />

Per cambiare i colori<br />

1.<br />

2.<br />

3.<br />

Selezionare il controllo da mo<strong>di</strong>ficare.<br />

Nella barra degli strumenti Color Palette, scegliete Foreground Color o Background Color.<br />

Selezionate il colore che desiderate.<br />

Aggiungere un commento a un controllo<br />

Mentre create o mo<strong>di</strong>ficate un controllo potreste volere includere una descrizione. La finestra <strong>di</strong> <strong>di</strong>alogo <strong>di</strong> ogni<br />

controllo offre una casella per i commenti. Questi commenti vengono salvati all'interno del layout ma non<br />

appaiono sulla stampa.<br />

Per aggiungere un commento a un controllo


1. Fate doppio click sul controllo.<br />

2.<br />

Nella finestra <strong>di</strong> <strong>di</strong>alogo del controllo, inserite il commento nella casella Comment.<br />

3.<br />

Scegliete OK.


Anteprima e stampa dei vostri report o delle vostre etichette<br />

Una volta che avete iniziato a impostare la vostra stampa, potete visualizzare una anteprima dei risultati del vostro lavoro oppure potete effettuare la<br />

stampa. L'anteprima è possibile in qualsiasi momento della progettazione.<br />

Anteprima dei risultati<br />

Con l'anteprima della stampa, potete visualizzare come apparirà la stampa senza stamparla.<br />

Ad esempio, potete verificare l'allineamento e il posizionamento delle colonne dei dati, o verificare se la stampa fornisce i dati desiderati. Voi avete<br />

due possibilità: visualizzare l'intera pagina o solamente una porzione della pagina.<br />

La finestra <strong>di</strong> anteprima alla propria barra degli strumenti con tasti che vi spostano da pagina pagina.<br />

Attenzione: se ottenete il messaggio: volete mo<strong>di</strong>ficare i cambiamenti del vostro file? Voi avrete selezionato <strong>di</strong> chiudere non solo l'anteprima ma<br />

anche la progettazione in corso. Potete selezionare cancella per ritornare in anteprima oppure Salva per salvare i vostri cambiamenti e chiudere il<br />

file; se voi selezionate No, qualsiasi cambiamento abbiate fatto sul l'impostazione non sarà salvato.<br />

Per avere l'anteprima dei risultati<br />

1.<br />

Dal menu View scegliete Preview.<br />

Anteprima del Report<br />

2. Nella barra degli strumenti Print Preview scegliete Previous Page o Next Page per cambiare pagina.<br />

3. Per mo<strong>di</strong>ficare la <strong>di</strong>mensione della visualizzazione, scegliete Zoom.<br />

4. Per stampare il report scegliete Print.<br />

5. Per tornare alla progettazione cliccate su Close Preview.<br />

Stampa dei report<br />

La stampa o le etichette che voi avete creato utilizzando il Report Designer, è una serie <strong>di</strong> coman<strong>di</strong> che vi consente <strong>di</strong> impostare i dati in modo<br />

gradevole per la stampa. Egli processa i dati nell'or<strong>di</strong>ne in cui appaiono nel sorgente. Se utilizzate i dati <strong>di</strong>rettamente da una tabella, i dati non<br />

vengono estratti organizzati secondo i vari gruppi <strong>di</strong>sponibili nel layout. Prima <strong>di</strong> passare alla stampa, dovete verificare che i dati del sorgente siano<br />

organizzati e or<strong>di</strong>nati nel modo appropriato. Se la tabella è parte <strong>di</strong> un database, create una vista e aggiungetela al Report Data environment. La<br />

vista or<strong>di</strong>na i dati al posto vostro. Se i dati vengono da una Free Table potete creare una query che usa la stampa come destinazione.<br />

Per stampare un report<br />

1. Dal menu File cliccate su Print.<br />

2. Cliccate su OK.<br />

Nota Se l'ambiente dati non è impostato, si aprirà una finestra <strong>di</strong> <strong>di</strong>alogo Open con una lista <strong>di</strong> tabelle da cui potete selezionare i dati,<br />

<strong>Visual</strong> FoxPro invierà il report alla stampante.


Creare i form (moduli - maschera)<br />

I form mostrano i campi e i records nelle vostre tabelle e nelle viste, e <strong>di</strong> solito, includono i controlli per muoversi fra<br />

i vari records<br />

Potete creare form i <strong>Visual</strong> FoxPro in uno <strong>di</strong> questi mo<strong>di</strong>:<br />

● Utilizzate i form wizard per creare un form pronto all’uso.<br />

● Scegliete Quick Form nel menu Form per creare un semplice form che potete personalizzare aggiungendo<br />

vostri controlli.<br />

● Utilizzate il Form Designer per mo<strong>di</strong>ficare dei form esistenti o per creare i vostri form.<br />

Utilizzare il Form Wizard<br />

Ogni volta che intendete creare un nuovo form, potete utilizzare il wizard per farvi aiutare. Il wizard formerà una<br />

serie <strong>di</strong> domande per aiutarvi a crearlo e per crearlo utilizzerà le vostre risposte. Potete utilizzare <strong>di</strong>fferenti stili e<br />

opzioni e avere delle anteprime prima <strong>di</strong> crearlo.<br />

Per creare un form con un wizard<br />

1. Nel Project Manager, selezionate la scheda Document e quin<strong>di</strong> Forms.<br />

2. Scegliete New.<br />

3. Scegliete quin<strong>di</strong> Form Wizard.<br />

4. Scegliete il modello <strong>di</strong> form che intendete creare.<br />

5. Seguite le istruzioni che appariranno sullo schermo.<br />

Sono <strong>di</strong>sponibili due generatori wizard per aiutarvi a creare form.<br />

Potete anche accedere al form wizard dal menu scegliendo il comando Wizard dal menu Tools, e quin<strong>di</strong> scegliendo la<br />

voce Form.<br />

<strong>Visual</strong> FoxPro fornisce due <strong>di</strong>fferenti wizard per i form:<br />

● Per creare un form <strong>di</strong> base per una tabella, scegliete il Form Wizard<br />

● Per creare un form che incorpora dati da due tabelle unite in una relazione uno-a-molti, scegliete<br />

One-to-Many-Form-Wizard.<br />

I form che create con il wizard hanno un set <strong>di</strong> strumenti <strong>di</strong> navigazioni in modo da visualizzare <strong>di</strong>fferenti record nel<br />

form, e<strong>di</strong>tarli, cercarli, ecc. ecc. il wizard può utilizzare maschere <strong>di</strong> inserimento e formattazioni immagazzinati nel<br />

database.


Avviare il Form Designer<br />

Se desiderate creare il vostro form senza utilizzare il wizard, dovete utilizzare il Form Designer. Con il Form<br />

Designer, potete aggiungere campi e controlli nel vostro form, e personalizzarli successivamente.<br />

Il comando Quick Form è <strong>di</strong>sponibile per velocizzare il processo <strong>di</strong> creazione <strong>di</strong> un form, esso attiva il Form Builder,<br />

che aggiunge i campi selezionati e le viste.<br />

Per creare un nuovo form<br />

1. Dal Project Manager, scegliete la scheda Document.<br />

2. Selezionate l’icona Forms.<br />

3. Scegliete New.<br />

4. Selezionate New Form.<br />

Apparirà quin<strong>di</strong> la finestra Form Designer così potete iniziare a creare il vostro form.<br />

La finestra Form Designer<br />

Aggiungere velocemente Campi<br />

Quando desiderate aggiungere velocemente campi da una tabella o da una vista in un form, scegliete Quick Form dal<br />

menu Form. Quick Form avvia il Form Builder, che aggiunge i campi selezionati <strong>di</strong> una tabella o da una vista nel<br />

vostro form, utilizzando lo stile che desiderate.<br />

Il Form Builder vi aiuta a creare un form da una tabella o da una vista.


●<br />

●<br />

●<br />

Per aggiungere campi a un form con il Form Builder<br />

1. Nel Form Designer, selezionate Quick Form dal menu Form.<br />

2. Fate le scelte riguardanti lo stile nel Form Builder e cliccate su OK per generare il form.<br />

Il Form Builder crea il form senza controlli <strong>di</strong> navigazione, così dovrete aggiungere i vostri. Potete anche utilizzare il<br />

Control Builder allo scopo, oppure potete scegliere quelli <strong>di</strong>sponibili nella libreria <strong>di</strong> controlli forniti da <strong>Visual</strong><br />

FoxPro.<br />

Salvare i Forms<br />

Quando il form è terminato potete salvarli per un futuro uso.<br />

Per salvare un form<br />

Nel Form Designer, scegliete Save dal menu File.<br />

I form vengono salvati con l’estensione .scx<br />

Utilizzare un Form<br />

Una volta salvato un form, potete avviarlo per vedere come si comporta.<br />

Per utilizzare un form<br />

Nel Project Manager, selezionate il nome <strong>di</strong> un form nella scheda Documents e quin<strong>di</strong> cliccate su Run.<br />

-oppure-<br />

Dal menu Form, scegliete Run Form.<br />

Potete anche utilizzare il tasto Run dalla barra degli strumenti standard.<br />

Suggerimento - quando avviate un form, potete passare velocemente alla modalità progettazione cliccando su<br />

Mo<strong>di</strong>fy Form nella barra strumenti standard


Aggiungere controlli ad un Form<br />

Potete aggiungere nuovi controlli selezionandoli dalla barra degli strumenti Form Controls e posizionandoli nella<br />

finestra del Form Designer. Ad esempio, potreste voler aggiungere nuove etichette per i campi del form, nuovi<br />

controlli come bottoni, caselle <strong>di</strong> testo, liste e così via, oppure immagini o linee e forme per migliorare l’aspetto<br />

del form.<br />

Per aggiungere un controllo ad un form<br />

1. Scegliete un controllo nella barra degli strumenti Form Controls toolbar.<br />

2. Nella finestra del Form Designer, trascinate il mouse in modo da creare un rettangolo dove volete sistemare il<br />

controllo, oppure cliccate per creare un controllo con <strong>di</strong>mensioni preimpostate.<br />

3. Il nuovo controllo apparirà dove siete posizionati. Potete quin<strong>di</strong> spostarlo nella posizione finale sul form e<br />

ri<strong>di</strong>mensionarlo per come necessario.<br />

Se avete bisogno <strong>di</strong> aiuto per aggiungere un controllo potete utilizzare un builder per aggiungerlo e per farlo<br />

lavorare nel form, oppure potete aggiungere i controlli utilizzando la barra degli strumenti Form Controls e la<br />

finestra delle proprietà.<br />

Aggiungere controlli tramite il Builder<br />

Così come i wizard possono essere utilizzati per costruire i moduli form molto velocemente, i builder possono<br />

essere utilizzati per aggiungere i controlli con la stessa facilità. Il buider porrà una serie <strong>di</strong> domande in relazione al<br />

controllo che volete aggiungere al form e imposterà le giuste proprietà in modo da far funzionare il controllo come<br />

desiderato.<br />

Ad esempio. Se volete aggiungere un finestra per il testo in un form, il builder chiede che stile <strong>di</strong> testo desiderate e<br />

quale campo della tabella deve mostrare. Per accedere ai Builders ci sono uno o due mo<strong>di</strong>: dal menu scorciatoia<br />

del Form Designer, oppure attivando il tasto lock del builder nella barra degli strumenti Form Control.<br />

Per aggiungere un controllo tramite un builder<br />

1. Nella barra degli strumenti Form Controls selezionate il tasto Builder Lock.<br />

2. Selezionate il controllo che desiderate dalla barra degli strumenti Form Controls, e <strong>di</strong>segnatelo sul form.<br />

3. Compilate le informazioni nelle schede del buider.<br />

Aggiungere campi ad un Form con il Form Builder<br />

Un modo veloce per aggiungere un nuovo campo ad un form è quello <strong>di</strong> utilizzare il Form Builder. Anche se avete<br />

già dei campi nel vostro form, potete aggiungere nuovi campi che si allineino allo stile degli altri campi esistenti.<br />

Potete anche scegliere sorgenti <strong>di</strong> dati <strong>di</strong>fferenti per il campo che aggiungete al form ad esempio da altre tabelle o<br />

viste.<br />

Per aggiungere campi ad un form<br />

1. Nel Project Manager, aprite il form.<br />

2. Dal menu del Form, scegliete Quick Form. Apparirà il Form Builder.<br />

3. Nella scheda Style, selezionate lo stile desiderato per il nuovo controllo.<br />

4. Nella scheda Field Selection, selezionate la sorgente dei dati, e il o i campi che volete aggiungere.<br />

5. Cliccate su OK.<br />

Utilizzare i Builders per tutti i controlli<br />

Selezionando il tasto Builder Lock nella barra degli strumenti Form Control, potete automaticamente utilizzare un<br />

control builder ogni volta che aggiungete un controllo ad un form.<br />

Per attivare il Builder<br />

●<br />

Nella barra strumenti Form Control cliccate sul tasto Builder Lock.


Aggiungere controlli in un form tramite il Component Gallery<br />

Potete utilizzare il Component Gallery per aggiungere velocemente controlli speciali e oggetti in un form. Il<br />

Component Galleri contiene dozzine <strong>di</strong> oggetti e controlli speciali che possono ridurre notevolmente i lavoro <strong>di</strong><br />

co<strong>di</strong>fica on moduli form molto specializzati.<br />

Per aprire il Component Gallery.<br />

●<br />

Da menu Tools, scegliete Component Gallery.<br />

Quando il Component Gallery è aperto, potete trascinare i controlli speciali e gli oggetti dal component Gallery e<br />

incollarli nel form attivo.<br />

Aggiungere controlli a un Form generato con wizard.<br />

Se create un form con uno dei wizard <strong>di</strong>sponibili e quin<strong>di</strong> desiderate aggiungervi dei controlli, potete far si che lo<br />

stile del nuovo controllo sia identico allo stile dei controlli presenti nel form utilizzando i controlli nella libreria<br />

wizard controls, Wizstyle.vcx.<br />

Quando aprite la libreria wizards control, i controlli wizard-style (come: chiselfield, embossedmemo,<br />

e così via) sono <strong>di</strong>sponibili nella barra degli strumenti Form Controls. Per scoprire quali controlli utilizzare,<br />

selezionate un controllo esistente e osservate la sua classe e la sua libreria. Per esempio, un wizard per campi<br />

standard si deve trovare nella classe Standardfield class, che si trova nel Wizstyle.vcx.<br />

Suggerimento: Utilizzate ToolTips nella barra degli strumenti Form Controls per aiutarvi ad identificare il nome<br />

della classe.<br />

Per confrontare i controlli in un form generato con wizard.<br />

1. Nel Form Designer, aprite il form.<br />

2. Dalla barra degli strumenti Form Controls, scegliete il tasto View Classes e cliccate su Add.<br />

3. Nella finestra <strong>di</strong> <strong>di</strong>alogo Open, localizzate Wizstyle.vcx nella sotto <strong>di</strong>rectory Wizards e cliccate su OK.<br />

4. Nella barra degli strumenti Form Controls, selezionate il controllo che corrisponde ad un controllo esistente nel<br />

form e trascinatelo nel form per aggiungerlo.<br />

Nota: Se spostate un form in un nuova <strong>di</strong>rectory in un altro sistema, dovete anche trasferire il la libreria dei<br />

controlli associata con quel form.<br />

Aggiungere Controlli e impostare le proprietà dei controlli<br />

Per aggiungere un nuovo controllo ad un form senza utilizzare un builder, basta semplicemente selezionare il<br />

controllo desiderato dalla barra strumenti del Form Control e trascinarlo nel from.<br />

Alcuni controlli come etichetta, forme e linee. Non mostrano dati da una tabella o da una vista, e non effettuano<br />

alcuna azione. Ma la maggior parte degli altri controlli lo fanno, e quin<strong>di</strong> occorre informare VFP quali campi<br />

volete che mostrino, o quale azione volete che essi eseguano. Ad esempio, <strong>di</strong> solito si desidera che una casella <strong>di</strong><br />

testo mostri il contenuto <strong>di</strong> un campo, e in tasto esegua un determinato comando.<br />

Per far si che i controlli lavorino in modo corretto nei vostri fom, è necessario associarli, o unirli con una tabella e<br />

un campo che devono mostrare. I controlli vengono collegati alla sorgente controllata. I dati che volete che questi<br />

controlli mostrino o gestiscano vengono impostati tramite la proprietà ControlSource.<br />

Ad esempio, se volete aggiungere una casella <strong>di</strong> testo in un form, dovete <strong>di</strong>re a VFP dove dovrà attenere i valori <strong>di</strong><br />

testo impostando la proprietà ControlSource in modo che essa punti ad uno specifico campo <strong>di</strong> una tabella o <strong>di</strong> una<br />

vista, potete poi impostare anche il modo con cui viene visualizzato il controllo stesso.<br />

Uno strumento chiamato Data Environment Designer rende estremamente semplice aggiungere un nuovo campo<br />

ad un form e impostare le proprietà per quel campo.<br />

Impostare l’ambiente dei dati<br />

Sistemando le tabelle e le viste associate con le vostre form nel data environment rendete semplice il loro<br />

collegamento a nuovi controlli per i campi della tabella o della vista.


Quando avete terminato <strong>di</strong> impostare l’ambiente dati, le proprietà del ControlSource mostrerà i campi <strong>di</strong>sponibili<br />

in modo da rendere possibile, con la semplice selezione, il collegamento al controllo associato.<br />

Se state mo<strong>di</strong>ficando un form creato con un wizard, potrete constatare che il il data environment è popolato da<br />

tabelle o viste che avete impostato tramite il form wizard.<br />

Per mostrare l’ambiente dati ( data environment )<br />

●<br />

Nel Form Designer, scegliete Data Environment dal menu View.<br />

Finestra progetto Data Environment Designer<br />

Per aggiungere una tabella o una vista nel data environment<br />

Dal menu Data Environment, scegliete Add.<br />

1.<br />

2.<br />

3.<br />

Nota se il data environment è vuoto, la finestra <strong>di</strong> <strong>di</strong>alogo Add Table or View apparirà<br />

automaticamente.<br />

Nella finestra <strong>di</strong> <strong>di</strong>alogo Add Table or View, selezionate Tables or Views.<br />

Selezionate la tabella o la vista che volete aggiungere.<br />

Cliccate su Add.<br />

Nota Per aggiungere delle viste al Data Environment Designer, dovete avere un database aperto.<br />

Aggiungere un controllo ad un Form<br />

La barra degli strumenti del Form Control rende semplifica l’aggiunta <strong>di</strong> un nuovo controllo ai vostri form in<br />

modo che possiate mostrare un campo dalla vostra tabella o dalla vostra vista.. Dovrete selezionare il tipo <strong>di</strong><br />

controllo appropriato al tipo <strong>di</strong> dati che intendete visualizzare. Ad esempio, usate un controllo casella <strong>di</strong> testo, per<br />

mostrare un campo <strong>di</strong> una sola riga, oppure una controllo finestra <strong>di</strong> e<strong>di</strong>ting (e<strong>di</strong>t box) per visualizzare un memo.<br />

La finestra proprietà mostra tutte le proprietà dei controlli che aggiungete al form. Utilizzate la proprietà nella<br />

finestra delle proprietà per collegare il controllo che avete aggiunto con uno specifico campo <strong>di</strong> una tabella<br />

definito nel Data Environment Designer.<br />

Per visualizzare la finestra delle Proprietà<br />

●<br />

Dal menu View, scegliete Properties.<br />

Nota Se volete utilizzare la finestra delle proprietà per impostare le proprietà dei controlli dovete<br />

<strong>di</strong>sattivare il Builder Lock.<br />

Per aggiungere un nuovo campo a un form<br />

1.<br />

2.<br />

3.<br />

Nella barra degli strumenti Form Controls scegliete un controllo dati e trascinatelo nella finestra del Form<br />

Designer per creare il controllo.<br />

Nella finestra Properties, scegliete la scheda Data, e selezionate la proprietà ControlSource.<br />

Inserite il nome del campo.


-oppure-<br />

Selezionate un campo dalla lista dei campi <strong>di</strong>sponibili.<br />

Campi <strong>di</strong>sponibili nelle proprietà ControlSource <strong>di</strong> un controllo<br />

Aggiungere più Controlli in una volta<br />

Quando selezionate il tasto Button Lock, potete aggiungere più controlli dello stesso tipo senza dover cliccare il<br />

tasto del controllo più <strong>di</strong> una volta. Ad esempio, se desiderate aggiungere 5 caselle <strong>di</strong> testo ad un form, controllate<br />

che sia selezionato il Button Lock, cliccate sul controllo Casella <strong>di</strong> testo nella barra degli strumenti del Form<br />

Controls e aggiungete tutti e cinque le caselle al form.<br />

Il Button lock si attiva automaticamente se effettuate un doppio click su tasto del controllo della barra strumenti.<br />

Per <strong>di</strong>sattivarlo cliccate nuovamente sul tasto Button Lock oppure cliccate il tasto puntatore nella barra strumenti.<br />

Aggiungere controlli velocemente<br />

Potete creare velocemente controlli singoli o multipli cliccando sui campi o nelle tabelle e trascinandoli<br />

<strong>di</strong>rettamente in un form o in una classe contenitore che state progettando:<br />

● Data Environment Designer<br />

● Database Designer (tabelle singole, viste locali singole, viste remote singole, singoli campi)<br />

● Project Manager (Singole tabelle, singole viste locali, singole viste remote, singoli campi)<br />

Quando trascinate un campo o una tabella su un form, VFP determina che tipo <strong>di</strong> controllo da creare basandosi<br />

sulle opzioni che avete impostato.<br />

Impostare le opzioni <strong>di</strong> associazione dei campi<br />

Potete specificare il tipo <strong>di</strong> controllo che deve essere creato quando trascinate un campo e una tabella su un form.<br />

Ad esempio potete creare una controllo casella <strong>di</strong> testo ogni volta che un campo carattere viene trascinato su un<br />

form.<br />

Per associare tipi <strong>di</strong> campi in classe<br />

1. Dal menu Tools, scegliete Options.<br />

2.<br />

Selezionate la scheda Field Mapping.


3.<br />

4.<br />

5.<br />

6.<br />

7.<br />

8.<br />

Per mo<strong>di</strong>ficare l’associazione del tipo <strong>di</strong> campo, scegliete una voce nella finestra Map fields to classes for<br />

drag and drop e quin<strong>di</strong> cliccate su Mo<strong>di</strong>fy.<br />

Nella finestra Mo<strong>di</strong>fy Field Mapping, selezionate il tipo <strong>di</strong> campo dalla lista Type list.<br />

Per impostare la classe che viene creata nel momento in cui trascinate una tabella o campi multipli,<br />

selezionate Multiple dalla lista Type.<br />

Per selezionare la libreria <strong>di</strong> classe (.vcx file) che contiene il controllo a cui volete associare il tipo <strong>di</strong><br />

campo che avete selezionato, scegliete browse.<br />

Selezionate il nome della classe dalla lista Name. La classe che specificate qui verrà creata ogni volta che<br />

trascinerete un campo del tipo selezionato su un form.<br />

Cliccate su OK per accettare l’associazione.<br />

Impostare le opzioni nel Database options:<br />

Per … Selezionate…<br />

Creare una etichetta in aggiunta al controllo dei margini quando trascinate<br />

un campo o una tabella in un form o contenitore<br />

Impostare la proprieta commento del controllo margini sul testo<br />

specificato nel campo Field Comment nella scheda Fields del Table<br />

Designer<br />

Impostare la proprietà della maschera <strong>di</strong> inserimento InputMask del<br />

controllo margini specificata nella scheda Fields del Table Designer<br />

Impostare le proprietà <strong>di</strong> formattazione del controllo con il formato<br />

specificato nella scheda Fields del Table Designer<br />

●<br />

Drag and drop field caption<br />

Copy field comment<br />

Copy field input mask<br />

Copy field format<br />

Nota Potete anche specificare le classi per il trascina e incolla nella finestra Display Class della scheda Fields del<br />

Table Designer. Le impostazioni del Table Designer sovrascrivono le impostazioni che impostate qui.<br />

Creare velocemente un Controllo singolo<br />

Potete creare un singolo controllo basato sull’associazione del tipo <strong>di</strong> campo che avete specificato nella scheda<br />

Field Mapping della finestra <strong>di</strong> <strong>di</strong>alogo Options. Potete anche sovrascrivere le associazioni <strong>di</strong> default e creare<br />

classi <strong>di</strong>fferenti.<br />

Per creare un controllo singolo<br />

Cliccate in qualsiasi campo del Data Environment e trascinate sul form.<br />

Nota la proprietà ControlSource del nuovo controllo viene impostata sulla proprietà Name del<br />

campo.<br />

Per creare un controllo singolo e sovrascrivere l’attuale associazione del campo<br />

1. Cliccate col destro in qualsiasi campo presente nel Data Environment e trascinatelo nel form.<br />

2. Dal menu scorciatoia, selezionate Create Other Control Here.<br />

3. Nella finestra <strong>di</strong> <strong>di</strong>alogo Open, scegliete un file della <strong>Visual</strong> Class Library (.vcx).<br />

4. Selezionate il tipo <strong>di</strong> controllo che volete creare dalla finestra Class Name e scegliete Open.<br />

Per creare velocemente controlli multipli<br />

Potete trascinare una intera tabella in un form. Di base, un controllo griglia viene creato quando trascinate una<br />

tabella su un form. Potete sovrascrivere questa impostazione e creare controlli multipli in corrispondenza con<br />

l’associazione del tipo <strong>di</strong> campi specificata per ogni singolo campo.<br />

Per creare un controllo griglia<br />

●<br />

Scegliete qualsiasi tabella nel Data Environment, Database Designer, or Project Manager e trascinatelo<br />

su un form.


Per creare controlli multipli<br />

●<br />

Cliccate col destro del mouse su qualsiasi tabella o su uno o più campi selezionati in una tabella, nel Data<br />

Environment, Database Designer, or Project Manager, e trascinatelo sul form.<br />

Dal menu scorciatoia, selezionate Create Multiple Controls Here


Mo<strong>di</strong>ficare un form<br />

Se il form generato con wizard o con il buider non sod<strong>di</strong>sfa pienamente le vostre necessità, potete mo<strong>di</strong>ficarlo con il<br />

Form Designer. Utilizzando il Form Designer, è molto semplice spostare e ri<strong>di</strong>mensionare i controlli, copiarli,<br />

cancellarli, allinearli e mo<strong>di</strong>ficarne l’or<strong>di</strong>ne <strong>di</strong> tabulazione.<br />

Per mo<strong>di</strong>ficare un form<br />

1. Nel Project Manager, selezionate la scheda Documents.<br />

2. Cliccate sull’icona Forms e selezionate il nome del form.<br />

3. Scegliete Mo<strong>di</strong>fy.<br />

Usare la barra degli strumenti del Form Designer<br />

La barra degli strumenti del Form Designer vi fronisce un veloce accesso ai coman<strong>di</strong> usati con maggior frequenza e al<br />

controllo <strong>di</strong> layout, allineamento e ai controlli <strong>di</strong> colore quando progettate o mo<strong>di</strong>ficate form. Per maggiori informazioni<br />

sullo scopo <strong>di</strong> ogni tasto o <strong>di</strong> ogni barra degli strumenti potete utilizzare ToolTips o fare la ricerca <strong>di</strong> "ToolBars".<br />

La barra degli strumenti del Form Designer<br />

Selezionare spostare e ri<strong>di</strong>mensionare controlli<br />

Dopo aver creato un forma potreste avere la necessità <strong>di</strong> aggiustare la posizione una <strong>di</strong>mensione dei controlli sul form.<br />

Ad esempio potreste avere la necessità <strong>di</strong> spostare un campo <strong>di</strong> memoria o creare una casella <strong>di</strong> testo più larga.<br />

Per selezionare un controllo<br />

❍<br />

Utilizzate puntatore e cliccate in qualsiasi punto del controllo.<br />

Per selezionare controlli a<strong>di</strong>acenti<br />

1. Selezionate la freccia <strong>di</strong> selezione nella barra degli strumenti Form Controls.<br />

2. trascinate il puntatore in modo da creare un contenitore attorno ai controlli che volete selezionare.<br />

Per spostare controlli<br />

1. Selezionate controllo cliccandovi sopra.<br />

2.<br />

trascinate il controllo alla nuova posizione sulla finestra del form.


-oppure-<br />

Selezionate il controllo e usate le frecce per riposizionarlo.<br />

Per ri<strong>di</strong>mensionare un controllo<br />

1.<br />

2.<br />

Selezionate il controllo.<br />

Trascinate le maniglie <strong>di</strong> ri<strong>di</strong>mensionamento per aumentare la lunghezza la larghezza o entrambi.<br />

Copiare e cancellare i controlli dei form<br />

Quando <strong>di</strong>segnate mo<strong>di</strong>ficate un form potreste voler far una copia del controllo che già su <strong>di</strong> esso. Potete copiare un<br />

controllo esistente per spostarlo in un altro punto.<br />

Per copiare un controllo<br />

1. utilizzate il puntatore e selezionate controllo.<br />

2. dal menu E<strong>di</strong>t scegliete Copy.<br />

1. dal menu E<strong>di</strong>t scegliete Past.<br />

1. utilizzate il puntatore per posizionare il controllo dove necessario.<br />

Se create un controllo e quin<strong>di</strong> decidete che non è più necessario, o non volete un controllo creato da un wizard,<br />

potete eliminare il controllo..<br />

Per cancellare il controllo<br />

Selezionate il controllo e scegliete Cut al dal menu E<strong>di</strong>t.<br />

Allineare i controlli<br />

I tasti sulla barra del Layout rende semplice allineare i controlli in relazione fra <strong>di</strong> loro sul vostro form.<br />

Ad esempio, potreste voler allineare i controlli orizzontalmente o verticalmente o assicurarvi che una serie <strong>di</strong> controlli sia<br />

della stessa <strong>di</strong>mensione in altezza e larghezza. Per allineare i controlli, selezionate un gruppo <strong>di</strong> controlli e quin<strong>di</strong><br />

selezionate uno dei tasti per il controllo dei Layout sulla barra degli strumenti <strong>di</strong> Layout.<br />

Sistemare la posizione dei controlli<br />

Se avete la necessità <strong>di</strong> posizionare con molta precisione i controlli sullo schermo, potete utilizzare Show Position del<br />

menu View. Quando è selezionato ShowPosition mostra le coor<strong>di</strong>nate del controllo selezionato nella barra <strong>di</strong> stato in<br />

basso alla finestra e Form Designer.<br />

Controllare le coor<strong>di</strong>nate e le <strong>di</strong>mensioni attraverso la barra <strong>di</strong> stato<br />

Controllare la Griglia<br />

La visualizzazione della griglia <strong>di</strong> può aiutare a allineare i controlli sul forum. Potete aggiustare le <strong>di</strong>mensioni della<br />

griglia attraverso il comando Set Grid Scale del menu Format. Potete attivare la visualizzazione della griglia utilizzando<br />

il comando Grid Line del menu View, o impostando le opzioni del Grid Line nella scheda Form della finestra <strong>di</strong><br />

<strong>di</strong>alogo Options.<br />

Potete anche sistemare le <strong>di</strong>mensioni una posizione dei controlli a una relazione alla griglia con il controllo calamita con<br />

l'opzione Snap to Grid del menu Format. Quando è attivato il comando Snap to Grid nel menu Form, i controlli<br />

posizionati sul forma vengono automaticamente allineati alle linee guida della griglia.<br />

Potete sottoscrivere la griglia attraverso:<br />

● Deselezionando Snap to Grid dal menu Format. Di base questa opzione è selezionata<br />

● utilizzando le frecce per tenere controlli.<br />

● premendo CTRL prima <strong>di</strong> cliccare sul controllo e mantenendo premuto il tasto durante il trascinamento<br />

dell'oggetto in un'altra posizione.<br />

●<br />

scegliendo le opzioni <strong>di</strong> allineamento dalla barra <strong>di</strong> Layout del menu Format.


Impostare l'or<strong>di</strong>ne <strong>di</strong> tabulazione per i controlli<br />

L'or<strong>di</strong>ne <strong>di</strong> tabulazione determina la sequenza con cui i controlli vengono selezionati con la pressione del tasto TAB<br />

mentre ci si muove attraverso il form.<br />

Potete scegliere due meto<strong>di</strong> <strong>di</strong>versi per impostare l'or<strong>di</strong>ne <strong>di</strong> tabulazione: interattivamente, cliccando il controllo<br />

nell'or<strong>di</strong>ne con cui volete che siano selezionati quando viene utilizzato il form, oppure creando una lista dei controlli in<br />

una finestra <strong>di</strong> <strong>di</strong>alogo.<br />

Per selezionare l'or<strong>di</strong>ne <strong>di</strong> tabulazione<br />

1. dal menu Tools, scegliete Options<br />

2. nella finestra <strong>di</strong> <strong>di</strong>alogo Options scegliete la scheda Forms.<br />

3. nelle opzioni Tab Ordering, scegliete Interactive or By List.<br />

Impostare l'or<strong>di</strong>ne <strong>di</strong> tabulazione interattivamente<br />

Nel modo interattivo, voi impostate e l'or<strong>di</strong>ne <strong>di</strong> tabulazione facendo un doppio click sul controllo che volete sia il primo<br />

nell'or<strong>di</strong>ne, e quin<strong>di</strong> un singolo e click sul resto dei controlli nell'or<strong>di</strong>ne che volete siano selezionati nel form.<br />

Per mo<strong>di</strong>ficare l'or<strong>di</strong>ne <strong>di</strong> tabulazione interattivamente<br />

1. dal menu View, scegliete Tab.<br />

2. fate un doppio click nella casella or<strong>di</strong>ne <strong>di</strong> tabulazione <strong>di</strong> fianco al controllo che volete sia il primo nell'or<strong>di</strong>ne <strong>di</strong><br />

tabulazione.<br />

3. selezionate la casella or<strong>di</strong>ne <strong>di</strong> tabulazione per ogni altro controllo.<br />

4. Cliccate in qualsiasi punto del form per salvare le vostre mo<strong>di</strong>fiche e uscite in dalla modalità Or<strong>di</strong>ne <strong>di</strong> Tabulazione<br />

Impostare l'or<strong>di</strong>ne <strong>di</strong> tabulazione attraverso la lista<br />

Nella modalità lista, voi impostato nell'or<strong>di</strong>ne <strong>di</strong> tabulazione re sistemando i nomi dei controlli nella finestra <strong>di</strong> <strong>di</strong>alogo<br />

Tab order. Potete sistemare l'or<strong>di</strong>ne attraverso le righe o con le colonne.<br />

Impostare l'or<strong>di</strong>ne <strong>di</strong> tabulazione attraverso la lista dei controlli.<br />

Per impostare la lista <strong>di</strong> tabulazione attraverso la lista unita<br />

1. dal menu View, scegliete Tab Order.<br />

2. Scegliete By Row o By Column.<br />

3. Nella finestra <strong>di</strong> <strong>di</strong>alogo Tab order, utilizzate puntatore per sistemare la vista.<br />

4.<br />

cliccate su ok.


Personalizzare i Forms<br />

Potete aggiungere miglioramenti al vostro forum per renderli più interessanti visivamente e semplice<br />

all'utilizzo. Ad esempio potete raggruppare controlli simili a con l'ausilio <strong>di</strong> una cornice <strong>di</strong>segnata<br />

attorno ad essi in oppure utilizzare delle immagini per dare ai form un aspetto più professionale.<br />

Attraverso il Form Designer, potete personalizzare i form in questo modo:<br />

● Cambiando il formato del testo<br />

● Aggiungendo forma e linee al form<br />

● Aggiungendo grafica al form<br />

● impostando il colore <strong>di</strong> primo piano e il colore <strong>di</strong> fondo del form<br />

Cambiare <strong>di</strong> <strong>di</strong>mensioni e le caratteristiche del testo<br />

Attraverso le proprietà dei font nella finestra delle proprietà, potete mo<strong>di</strong>ficare lo stile e le <strong>di</strong>mensioni<br />

del testo che appaiono nei controlli che avete aggiunto al vostro form. Potete selezionare i font a dalla<br />

lista dei font <strong>di</strong>sponibili sul vostro sistema. Per mo<strong>di</strong>ficare il testo <strong>di</strong> un vostro form, cambiate le<br />

proprietà del font, come FontName. FontSize e FontBold, mostrate nella finestra delle proprietà.<br />

Per cambiare il testo dei vostri form<br />

1. Da Form Designer, selezionate il controllo che volete mo<strong>di</strong>ficare.<br />

2. in nella finestra delle proprietà, abbassate la lista degli oggetti, e selezionate l'oggetto che volete<br />

mo<strong>di</strong>ficare.<br />

1. localizzate le proprietà del font a che volete mo<strong>di</strong>ficare, e e impostati valori desiderati.<br />

Aggiungere forme geometriche e linee ad un form<br />

Potete aggiungere forme e linee ad un form per personalizzarlo. Ad esempio i potreste voler separare un<br />

gruppo <strong>di</strong> controlli con una linea <strong>di</strong> <strong>di</strong>visione, oppure raggrupparli attraverso un quadrato <strong>di</strong>segnato<br />

attorno.<br />

Per aggiungere una linea ad un form<br />

1.<br />

2.<br />

Nella barra degli strumenti Form Controls, scegliete il tasto linea..<br />

<strong>di</strong>segnate con il mouse la linea che volete creare sul form<br />

Potete ri<strong>di</strong>mensionare o spostare la linea come gli altri controlli, potete mo<strong>di</strong>ficare la pendenza della<br />

linea attraverso la finestra delle proprietà con l'opzione LineSlant.<br />

Per aggiungere una forma al Form<br />

1. Nella barra degli strumenti Form Controls, scegliete il tasto Shape.<br />

2. <strong>di</strong>segnate con i mouse la forma sul form.<br />

Potete mo<strong>di</strong>ficare la forma dell'oggetto <strong>di</strong>segnato attraverso le proprietà curvatura nella finestra delle<br />

proprietà.<br />

Aggiungere grafici a un form<br />

Potete aggiungere un <strong>di</strong>segno allo sfondo del vostro form oppure un immagine all'interno <strong>di</strong> una casella<br />

form.<br />

Per aggiungere grafica al form


●<br />

❍<br />

1.<br />

2.<br />

3.<br />

4.<br />

Scegliete uno dei seguenti meto<strong>di</strong>:<br />

per cambiare lo sfondo del form, selezionate il form<br />

-oppure-<br />

per aggiungere un margine al form, selezionate il controllo immagine dalla barra degli strumenti Form<br />

Control e posizionatelo sul form.<br />

nella finestra delle proprietà, selezionate proprietà Picture.<br />

cliccate sul tasto <strong>di</strong> <strong>di</strong>alogo e per vedere la finestra Open.<br />

localizzate l'immagine che volete inserire<br />

cliccate su OK<br />

Impostare i colori del form<br />

Potete impostare i colori del forma utilizzando le proprietà ColorSource sulla base <strong>di</strong> uno schema <strong>di</strong><br />

colori esistenti, oppure potete utilizzare la barra degli strumenti Color Palette per mo<strong>di</strong>ficare i colori <strong>di</strong><br />

primo piano o del fondo e dei controlli all'interno.<br />

Per impostare i colori attraverso la proprietà ColorSource<br />

❍<br />

Nella scheda Layout nella finestra delle proprietà, scegliete ColorSource e il valore desiderato.<br />

Per impostare il colore <strong>di</strong> primo piano o <strong>di</strong> sfondo <strong>di</strong> un Form o <strong>di</strong> un<br />

controllo<br />

1. Dal menu View, selezionate la barra degli strumenti Color Palette.<br />

2. Scegliete Foreground (primo piano) o Background (sfondo).<br />

3. selezionate il controllo o il form che volete mo<strong>di</strong>ficare.<br />

4. Nella barra degli strumenti Color Palette, selezionate il colore che desiderate utilizzare.<br />

5. per visualizzare più colori, scegliete Other Colors.<br />

Per creare colori personalizzati<br />

1. Nella barra degli strumenti Color Palette, scegliete Other Colors<br />

2. nella finestra <strong>di</strong> <strong>di</strong>alogo Color, scegliete Define Custom Colors per visualizzare Custom Color<br />

Selector.<br />

3. scegliete una delle caselle Custom Color, cliccate nella Custom Color Selector per selezionare il<br />

colore personalizzato che volete.<br />

4. Scegliete Add to Custom Color per aggiungere nuovo colore alla vostra paletta.<br />

5. cliccate su OK<br />

<strong>Visual</strong> FoxPro applicherà il colore personalizzato alla selezione attiva.<br />

Impostare le <strong>di</strong>mensioni massime <strong>di</strong> area del form<br />

Impostando l'area <strong>di</strong> <strong>di</strong>segno del form assicura che esso venga mostrato correttamente a seconda della<br />

specifica risoluzioni. Ad esempio, se sapete che l'utente utilizza 640 per 480 come risoluzione non<br />

dovette impostare l'area massima <strong>di</strong> <strong>di</strong>segno a 1024 x 768..<br />

Per impostare l'area massima <strong>di</strong> <strong>di</strong>segno<br />

1. dal menu Tools scegliete Options<br />

2. Nella scheda Forms, selezionate il valore Maximum Design Area<br />

Suggerimento- Se selezionate NONE, il Form Designer non pone un limite nelle


<strong>di</strong>mensione del form che potete <strong>di</strong>segnare.

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

Saved successfully!

Ooh no, something went wrong!