Relazione scrittore di Visual FoxPro è un potente scrittore con tutti le funzioni previste dalla relazione tutti gli strumenti di cui hanno bisogno per creare e inviare report accattivanti con l’applicazione. Nella maggior parte dei casi, è possibile creare report di Visual FoxPro basati solo sui dati che già esiste (per esempio, una tabella, query o vista esistente). Tuttavia, immaginare che i dati necessari per riempire il vostro rapporto non esiste come un tavolo che può essere aggiunto facilmente ai dati ambienti nel rapporto o esiste come un insieme di tabelle su cui è possibile eseguire una query SQL direttamente a inoltrare o vedere!
?
Chi dovrebbe leggere questo articolo
In questo articolo una certa familiarità con la costruzione e lo sviluppo di applicazioni con Microsoft Visual FoxPro 9
assumere
Introduzione:
Uno dei principali vantaggi di utilizzare Visual FoxPro come strumento di sviluppo principale è che fornisce tutti gli strumenti necessari per creare applicazioni con tutte le caratteristiche potenti e interessanti sono veloci e ricco di funzionalità!
Una delle funzionalità di Visual FoxPro che rende questo possibile è il produttore di rapporto rinnovato di recente, che è incluso in Visual FoxPro 9! A causa della necessità di fornire o fornire dati per il report o l’etichetta prima della stampa, il Report Writer offre una varietà di modi per rendere i dati facilmente disponibili per il report.
Un metodo per rendere i dati disponibili per il rapporto e utilizzato tra l’altro, la maggior parte del tempo è quello di scrivere un rapporto che si basa sempre sulle stesse fonti di dati. Questo metodo in realtà richiedono di aggiungere tabelle o viste per l’ambiente di dati di un report o utilizzare un DO comando nel caso di Init ambiente I dati del report. In alternativa, è possibile eseguire una query con la creazione di una esecuzione di un’istruzione SQL nel caso di ambiente di dati Init del rapporto.
Un secondo metodo è quando è necessario creare un report che utilizza gruppi separati di fonti di dati per il report. In questo caso, è necessario aprire dinamicamente le fonti di dati in fase di runtime utilizzando un usa
usa DO o istruzione SQL SELECT per l’evento click di un pulsante o altro codice da eseguire prima di emettere una relazione o comando LABEL .
Tuttavia, ciò che accade quando i dati per il report non è in una tabella che può essere visualizzato in modo dinamico con SQL SELECT né è in un modo che semplicemente aprirà con Utilizzare il comando ! La ricchezza del linguaggio di programmazione Visual FoxPro permette di risolvere facilmente questo problema, come questo articolo vi mostrerà. Per dimostrare il concetto discusso, immaginate che avete bisogno di stampare o generare reddito e nota spese per la vostra azienda e in un dato giorno! Ciò significa che è necessario tenere un diario di ogni saldo del conto nella vostra lettera di funzionamento conti di contabilità su una tabella che forse chiameremo ActGLDayTot. Le sezioni seguenti descrivono come creare queste tabelle e la loro struttura, nonché il codice che genera il report.
Report Visual FoxPro stampa
Come indicato in precedenza, è necessario disporre di dati per un rapporto prima di continuare a stampare il report. Per stampare un report in Visual FoxPro, si dovrà eseguire il comando REPORT FORM . Per visualizzare la sintassi completa del FORM REPORT comando consultare la documentazione Guida in linea di Visual FoxPro 9.
Se si esegue il SEGNALAZIONE comando con tavoli per l’ambiente di dati e fonti di dati aperti nell’ambiente di dati del rapporto, appare semplicemente a lampeggiare e poi richiudere! Per evitare questa situazione, è necessario aggiungere i dati per l’ambiente di dati o utilizzare l’evento ambiente dati Init ai dati disponibili nell’ambiente di dati prima della stampa. Quando i dati non esiste più in una query o in una forma che si può accedere direttamente, cosa hai intenzione di fare?
rendere i dati disponibili in tempo reale
Poiché i dati devono essere messi a disposizione per la prima volta prima di eseguire un report, si dovrà emettere un SELEZIONA SQL o aprire un tavolo, almeno nel caso di Init ambiente i dati del report. Tuttavia, se i dati non esiste in un modo che è possibile costruire facilmente una vista su di esso o un’informazione su di esso e se c’è un modo che può essere aggiunto come una tabella di seguito, nessuno dei metodi discusso finora i risultati desiderati saranno raggiunti!
Ciò significa che è necessario trovare un nuovo modo per rendere i dati disponibili per il vostro programma. Un esame più dettagliato di come sarebbe stato utilizzato la frase SQL SELECT dà un’idea di come si può fare questo. La forma generale della sintassi SQL SELECT consideriamo è la seguente:
Questa forma della sintassi indica che l’istruzione SQL SELECT crea una query e poi , troveranno le informazioni richieste in una tabella molto spesso, un cursore (tabella temporanea), tabella o una matrice archiviazione di destinazione. Il cursore che rappresenta destinazione di memorizzazione viene utilizzato come fonte di dati per il report. Sulla base di questa realtà, si può dedurre che la nostra relazione correrebbe se creiamo un oggetto cursore utilizzando i tasti create cursore o una tabella temporanea utilizzando CREATE TABLE in Init ambiente di dati. Ciò renderebbe i dati disponibili per il report e quindi evitare che il rapporto di chiusura posteriore subito dopo l’apertura.
Come questa realtà nella pratica?
1. Crea il tuo Report: In primo luogo, dobbiamo creare un report di un report Report Designer . È possibile farlo scegliendo il pulsante Rapporti Node in Project Manager e selezionando Nuovo . Quando l’indicatore nuovo rapporto mostra la finestra di dialogo, quindi scegliere Relazione Nuovo . Visual FoxPro quindi creare un nuovo report vuoto denominato Report1 e aprire la Report Designer
2. disponibile della sua relazione: Ora che il report designer è aperto, è possibile avviare il layout del rapporto. Di solito si dovrebbe fare questo trascinando campi dall’ambiente di dati al rapporto di lavoro. Ma in questo caso, non ci sono dati per l’ambiente dati in modo è necessario impostare manualmente le proprietà del rapporto. Pertanto, è necessario mostrare segnalazioni controlli della barra degli strumenti selezionando relazioni di controllo Barra degli strumenti di Cfr dal menu principale. Una volta che gli schermi della barra degli strumenti, è possibile pianificare la distribuzione della superficie rapporto eseguendo le seguenti operazioni:
a. Selezionare un controllo dalla casella degli strumenti per essere immessi sul vostro rapporto. Se si seleziona un controllo come una casella di testo di controllo e si sceglie la banda di dettagli del report, Visual FoxPro si apre automaticamente la di proprietà di campo finestra di dialogo in modo da poter impostare non solo la fonte di dati per campo, ma anche altre caratteristiche del campo.
b. Tabella Espressione in di scheda Generale, digitare l’espressione che sarà server come sorgente di dati per il report. Si entra nel cursorname.fieldname formato dove CursorName rappresenterà il nome del cursore che creerà (ovviamente non ha ancora creato altrimenti solo avresti scelto il tasto .. . per consentire selezionarlo nel costruttore espressione [i] ). Se si fa clic su un controllo come un controllo Label, posizionarlo in qualsiasi punto del rapporto e quindi digitare dove Inserimento di informazioni sembra aggiungere un’etichetta descrittiva. Ad esempio, fare clic su un controllo etichetta nel report e quindi aggiungere un’etichetta descrittiva per ogni casella di testo nell’intestazione della pagina. È possibile aggiungere descrizioni, come Campo Uno e Campo Dos . È possibile aggiungere un titolo del report (Rapporto di prova, per esempio) facendo clic sul controllo Etichetta e quindi facendo clic sulla posizione appropriata nell’intestazione del report. Per impostare gli stili e le dimensioni dei sottotitoli dei font, fare clic sulla voce corrispondente per selezionare Proprietà quindi selezionare Style pagina a schede. Nel pagina a schede stile, è possibile effettuare le regolazioni necessarie nella casella Fonti o inviare ulteriori modifiche necessarie. Ricordati di salvare il lavoro come si va.
c. Ora che hai ottenuto campo di report, è possibile applicare il formato usuale per il report, come i campi calcolati, linee, ecc
3. definire le proprietà dell’ambiente di dati: si devono ancora mantenere automaticamente il rapporto di spegnere quando si tenta di eseguire in modo è necessario definire le proprietà dell’ambiente dati come segue:
a. Fare clic sul report, quindi selezionare comando di menu ambiente di dati nel menu contestuale che appare. Il Data Environment – Report Designer si apre. È vuoto, mostrando che nessun fonti di dati sono state aggiunte ad esso.
b. Fare clic all’interno dell’ambiente dati quindi selezionare comando di menu Proprietà per visualizzare la finestra delle proprietà per ambiente di dati.
c. Impostare AutoOpenTables di proprietà su false. Quando questa proprietà è impostata su false, il rapporto non tenta di aprire le tabelle o viste nell’ambiente di dati per eseguire il report. Se ciò dovesse accadere, il rapporto semplicemente trovare che l’ambiente di dati non contiene dati, quindi il rapporto avrebbe chiuso bruscamente. Ora sei pronto ad aggiungere il codice per il rapporto come descritto nella prossima fase. (Fase 4 – Scrivere il codice per rendere i dati disponibili)
4. scrivere il codice per rendere i dati disponibili: deve essere ricordare che i dati saranno esagerate o resi disponibili solo in fase di esecuzione. Così ora è necessario scrivere codice che renderà disponibili questi dati per il report. Si farà questo nel caso di ambiente di dati Init scrivendo codice come:
a. Cercare l’evento ambiente dati Init nella finestra delle proprietà e fare doppio clic su di esso per aprire la finestra di codice.
b. Nella finestra del codice, digitare il codice che crea il cursore utilizzando il comando cursore per creare e scrivere codice per aggiungere più record per il cursore utilizzando il comando APPEND. Questo codice potrebbe essere la seguente:
CREATE CURSOR testcursor (Field1 C (10) unica, Field2 i)
APPEND vuoto
CHANGE testcursor . field1 “test”
cambiano con TestCursor.Field2 50
APPEND BLANK
cambiano con TestCursor.Field1 “TEST2”
cambiano con TestCursor.Field2 100
APPEND BLANK
cambiano con TestCursor.Field1 “TEST3”
cambiano con TestCursor.Field2 150
c. Chiudere la finestra del codice e chiudere la Progettazione Data Environment
d. testare rapidamente il rapporto facendo clic su Preview nella barra degli strumenti. La relazione dovrebbe aprire in modalità anteprima.
5. Salvare e generare il report: Ora che avete creato il vostro rapporto e dati generati in fase di esecuzione, è necessario salvare la relazione e poi per eseguirlo. È possibile verificare se il rapporto verrà eseguito effettuando le seguenti operazioni:
a. Selezionare Salva nella barra degli strumenti per assicurarsi di aver salvato il report.
b. Chiudere il report facendo clic su Chiudi . Il report viene visualizzato nella sezione Report nodo Project Manager .
c. Per eseguire questo rapporto, selezionare il report ( Report1) nel manager di progetto e quindi selezionare la Pre . Il report si apre in modalità di anteprima di stampa.
6. Il funzionamento del rapporto tramite l’interfaccia utente: Il più comune è che il loro rapporto disponibile per gli utenti applicazione attraverso l’interfaccia utente dell’applicazione. Ad esempio, è possibile fornire un mezzo attraverso il quale gli utenti possono selezionare loro rapporto e premere un pulsante o un’anteprima o di stampa. Avrete bisogno di usare il comando REPORT FORM per eseguire il report di programmazione. Se volete che il vostro rapporto è disponibile attraverso l’interfaccia utente dell’applicazione, è necessario effettuare le seguenti operazioni:
a. Selezionare il nodo Forme nelle Documenti pagina a schede Project Manager di Visual FoxPro e quindi selezionare la Nuovo . Il finestra di dialogo nuova forma .
b. Selezionare Nuovo modulo . Visual FoxPro crea un nuovo modulo denominato Form1 e aprire la finestra di progettazione Andamento .
c. display forme di controllo degli strumenti se dimostrato non scegliere il menu Barra Form Controls nella visualizzazione .
d. Selezionare il controllo pulsante di comando in forme controllo degli strumenti e quindi selezionare il modulo. Visual FoxPro creerà un nuovo pulsante di comando chiamato Command1 .
e. Fare doppio clic sul pulsante Command1 per visualizzare il Codice per Fare clic su evento .
f. ora è possibile inserire il seguente codice:
PRECEDENTE REPORT FORM Report4.frx NOCONSOLE
grammo.
h. Eseguire il modulo, premendo Ctrl + E o scegliendo il pulsante sulla barra degli strumenti Run nella barra degli strumenti. il form viene eseguito.
i. Ora fare clic sul pulsante di comando per eseguire il report. Il rapporto viene visualizzato nella finestra di anteprima di stampa.
L’applicazione del concetto di una situazione di vita reale
L’esempio illustrato e ha mantenuto volutamente semplice. Ora, questo deve essere applicato in una situazione di vita reale. Nell’esempio riportato, il cursore è popolato da emissione aggiungere vuote comandi. In un’applicazione nella vita reale, tuttavia, può essere possibile che dati già esistono, devono solo essere rileggere e ri-arrangiati in un formato che il rapporto può essere stampato. Illustriamo questo con la costruzione di un bilancio di verifica Relazione e in un dato giorno (bilanci di verifica di solito stampate come in un certo tempo data di fine).
Per stampare un equilibrio che pista, avremmo dovuto conoscere il saldo del conto, come in un dato giorno. Vediamo ora accettare che tali dati al giorno vengono memorizzati per le transazioni al giorno sono passati in una tabella chiamata ActGLDayTot e questa tabella potrebbero essere creati con la seguente istruzione SQL:
CREATE ActGLDayTot TABLE (BatchNo c (20) PRIMARY KEY, accountcode C (15),
ValueDate D, CurrYear i, nextyear i, PeriodNumb i, MonthNumb i, Debitamt E,
CreditAmt E Balance Y)
per ogni account nel file master contabilità generale, vogliamo ottenere i saldi dei conti al giorno specificato, in modo che saremo in grado di costruire il bilancio di verifica. Ora immaginate che la tabella Maestro registro generale può essere creata con la seguente istruzione SQL:
CREATE TABLE ActGLMast (accountcode C (15) PRIMARY KEY, NomeAccount C (50)
AccountType C ( 40), currbal Y)
il codice seguente viene inserito nella Init ambiente dati della nostra relazione:
* Questo codice costruisce il cursore utilizzato nel relazione
dValueDate locale come la data, cBranchCode come carattere, intNoOfRows nel suo complesso, ODT come un oggetto, come lAnswer
CREATE CURSOR MgtTBalByDate (c accountcode ( 20), NomeAccount C (50), AccountType C (50), TBalDate D, E MTDDebit MTDCredit E YTDDebit E YTDCredit E, NomeUtente C (10))
SELEZIONA MgtTBalByDate
APPEND arrTR matrice
This.OpenTables ()
nelle variabili di memoria di codice di cui sopra sono dichiarati che verrà utilizzato per lo svolgimento dei criteri di report l’utente o per memorizzare e trasportare dati. Il comando dimensione crea una matrice che viene utilizzato per restituire i dati da Data Aware Class che incapsula la funzionalità della tabella ActGLDayTot . Un’altra cosa da considerare è il modo in cui abbiamo permesso agli utenti di specificare i dati da includere nel rapporto con l’introduzione della specificato per chi desidera una data di chiusura del processo. Per raccogliere queste informazioni da parte degli utenti, la linea Come frmMgtTBalByDate.Scx modulo gestisce il parametro di report in modo che gli utenti possono inserire i criteri. Quando l’utente fa clic sul tasto Ok in questo modo un comando THISFORM.Hide nasconde temporaneamente la forma degli utenti, mentre le linee immediatamente dopo il comando DO FORM raccogliere informazioni sul modulo. Linea frmMgtTBalByDate.RELEASE e quindi rimuove la scheda di segnalazione.
Poi la linea ODT = CreateObject ( “ActGLDayTot ‘) crea un’istanza della classe ActGLDayTot e memorizza un riferimento ad esso nella variabile oggetto ODT . linea lAnswer = GetTransByDate … chiama il metodo della classe per restituire i dati specifici che vogliamo, passando i parametri necessari che formano l’utente insieme con la matrice da utilizzare per l’archiviazione e il trasporto dei dati il nostro rapporto.
come abbiamo fatto in precedenza, quindi utilizzare un comando Crea cursore MgtTBalByDate per creare un cursore con i campi richiesti. linea APPEND FROM ARRAY arrTR riempie il tavolo. quindi il rapporto riconosce questo cursore nell’ambiente di dati con la linea THIS.OpenTables () viene eseguita.
separando il codice che rende la collezione e l’elaborazione dei dati da proprio evento Init del Rapporto, che sono in grado di rendere il codice è sempre disponibile da più postazioni, in quanto è contenuto in una sorta consapevole di dati. Il codice contenuto all’interno metodo GetTransByDate di ActGLDayTot classe è la seguente:
* Ora chiudere tutte le tabelle che non hanno bisogno
O lGLMastInUse
USO ActGLMast
ENDIF
O lGLDayTotInUse
USO ActGLDayTot
ENDIF
RETURN .T.
Il comando Parametri a partire il metodo identifica i parametri passati alla classe. Il programma utilizza un SCAN … ENDSCAN ciclo per passare attraverso il tavolo ActGLMast per isolare tutti i conti che soddisfano i criteri e quindi a riempire la matrice con i dati di ActGlDayTot tavolo. Alla fine, il programma ritorna .T. se il metodo viene eseguito completamente. Ora è possibile eseguire questo rapporto con un FORM REPORT comando come abbiamo fatto sia un modo o il menu di Visual FoxPro.
Conclusioni
Visual FoxPro lingua manipolazione dei dati è una delle cose che rende Visual FoxPro standout tra i numerosi prodotti della sua categoria. Questo articolo ha mostrato come la ricchezza dell’ambiente e lo sviluppo del linguaggio Visual FoxPro permette allo sviluppatore di raccogliere i dati necessari per un report in fase di esecuzione e di essere ancora in grado di controllare più o meno il processo di rendicontazione. Anche se questo articolo ha assunto che lo sviluppatore sta costruendo un programma di ‘volpe puro “(dopo tutto, Visual FoxPro si dà quasi tutto il necessario per creare applicazioni complete solida gestione dei dati), con un piccolo ritocco e le modifiche, è possibile utilizzare questo metodo per ricavare i dati da potenti server SQL come Oracle, proprio SQL Server o Advantage Database Server di Microsoft per l’utilizzo all’interno di un report di Visual FoxPro. Se si può immaginare, Visual FoxPro consente di creare esso.
[i] Se si desidera utilizzare il costrutto di espressione per selezionare da un elenco di campi attraverso un selettore di campo quindi potrebbe essere necessario inserire un comando nella finestra di comando che crea il cursore
Utilizziamo i cookie per essere sicuri che tu possa avere la migliore esperienza sul nostro sito. Se continui ad utilizzare questo sito noi assumiamo che tu ne sia felice.