Corso breve su automazione d'ufficio



Documenti analoghi
Laboratorio Progettazione Web PHP e MySQL - Lezione 9. Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.ita 2012/2013

LA GESTIONE DELLE VISITE CLIENTI VIA WEB

Dispensa di database Access

Direzione Centrale per le Politiche dell Immigrazione e dell Asilo

Excel. A cura di Luigi Labonia. luigi.lab@libero.it

Esercizio data base "Biblioteca"

Guida Utente PS Contact Manager GUIDA UTENTE

MANUALE D USO DELLA PIATTAFORMA ITCMS

Laboratorio Progettazione Web PHP e MySQL - Lezione 9. Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.ita 2011/2012

Database 1 biblioteca universitaria. Testo del quesito

Integrazione InfiniteCRM - MailUp

Il sofware è inoltre completato da una funzione di calendario che consente di impostare in modo semplice ed intuitivo i vari appuntamenti.

GUIDA UTENTE PRIMA NOTA SEMPLICE

MANUALE PARCELLA FACILE PLUS INDICE

Database 3 affitto veicoli. Testo del quesito

Scuola Digitale. Manuale utente. Copyright 2014, Axios Italia

Manuale Utente MyFastPage

GCEWEB Denunce mensili in WEB

Corso di Sistemi di Elaborazione delle informazioni

Modulo 4 Il pannello amministrativo dell'hosting e il database per Wordpress

CREAZIONE DI UN DATABASE E DI TABELLE IN ACCESS

GUIDA UTENTE MONEY TRANSFER MANAGER

GUIDA UTENTE BILLIARDS COUNTER (Vers )

Guida operativa. My Legal Corner. BestSoft SOFTWARE IN SANITÀ

Creazione manuale delle tabelle (mediante scrittura del codice SQL corrispondente)

MySQL Database Management System

Esercizio sui data base "Gestione conti correnti"

INSERIMENTO DATI BASILARI

Guida alla registrazione on-line di un DataLogger

Manuale d uso Software di parcellazione per commercialisti Ver [05/01/2015]

GERARCHIE RICORSIVE - SQL SERVER 2008

POSTECERT POST CERTIFICATA GUIDA ALL USO DELLA WEBMAIL

Guida all utilizzo del CRM

Come modificare la propria Home Page e gli elementi correlati

User Tools: DataBase Manager

1) GESTIONE DELLE POSTAZIONI REMOTE

ACQUISIZIONE DATI CONTECA TOUCH

Portale Agenti Sambonet Paderno Industrie Pagina : 1 MANUALE PORTALE AGENTI

BLOCK CALL Manuale utente Block Call Manuale Utente

AGGIORNAMENTO DATI SU PORTALE DOCENTI

Configuration Managment Configurare EC2 su AWS. Tutorial. Configuration Managment. Configurare il servizio EC2 su AWS. Pagina 1

Volumi di riferimento

Manuale di istruzioni sulle maschere per il calcolo del punteggio e del voto (unico) degli studenti che sostengono la Prova nazionale 2011

Per accedere all area di gestione collegarsi al sito e digitare nell apposito box i dati di accesso (username: xxx password: xxx).

Software di interfacciamento sistemi gestionali Manuale di installazione, configurazione ed utilizzo

Uso delle basi di dati DBMS. Cos è un database. DataBase. Esempi di database

L interfaccia utente di Office 2010

Registratori di Cassa

Standard Nazionale di Comunicazione Mercato Gas

Guida all utilizzo. Rif. File: Pag. 1 / 14

COLLI. Gestione dei Colli di Spedizione. Release 5.20 Manuale Operativo

Esercitazione 4 JDBC

I Codici Documento consentono di classificare le informazioni e di organizzare in modo logico l archiviazione dei file.

- PROCEDURA TY - MANUALE D USO PALMARE PORTATILE HTC RILEVAMENTO LETTURE CONTATORI ACQUA

Guida all installazione di Easy

CHIUSURE di MAGAZZINO di FINE ANNO

MANUALE PER CONSULTARE LA RASSEGNA STAMPA VIA WEB ( ULTIMO AGGIORNAMENTO 26MARZO 2009)

COME CREARE IL DATABASE GESTIONE CLIENTI IN ACCESS 2010

MANUALEDIUTILIZZO MODULO CRM POSTVENDITA

Applicazione Access annuale Universale mini-howto

Circolari e lettere da Word con anagrafiche e indirizzi da Metodo

MANUALE D'USO DEL PROGRAMMA IMMOBIPHONE

Monitor Orientamento. Manuale Utente

ACO Archiviazione Elettronica e Conservazione sostitutiva

Lezione 9. Applicazioni tradizionali

Sistemi di Elaborazione delle Informazioni (C.I. 15) Access

SOSEBI PAPERMAP2 MODULO WEB MANUALE DELL UTENTE

2.1 Installazione e configurazione LMS [4]

Autorizzazioni Kronos Web

Guida introduttiva. Aprire una finestra di dialogo Facendo clic sull'icona di avvio vengono visualizzate ulteriori opzioni per un gruppo.

Pagina 1 di 10

Guida all uso. Esso sarà riportato nell intestazione. Vediamo:

FIRESHOP.NET. Gestione Lotti & Matricole.

GUIDA SULLA COMPILAZIONE DEL PIANO OPERATIVO DI SICUREZZA SUL SITO

GESTIONE INCASSI SAGRA. Ver. 2.21

Guida all Utilizzo dell Applicazione Centralino

Vi ricordiamo che per qualsiasi problema tecnico o informazione potete contattare info@eduitalia.org oppure Francesco al

Guida alla Prima Configurazione dei Servizi

Il calendario di Windows Vista

Access. P a r t e p r i m a

monitoraggio dei locomotori via Internet

Archimede ver GUIDA FUNZIONALE ARCHIMEDE VER

Nuovo Order Manager per il software NobelProcera

ASSOWEB. Manuale Operatore

Il software ideale per la gestione delle prenotazioni GUIDA UTENTE

Raggruppamenti Conti Movimenti

Nuovo server E-Shop: Guida alla installazione di Microsoft SQL Server

FPf per Windows 3.1. Guida all uso

STRUMENTO PER LA COMPRESSIONE E LA CRIPTAZIONE DI FILE

Manuale operatore per l utilizzo dell utente di dominio

DBMS. Esempi di database. DataBase. Alcuni esempi di DBMS DBMS. (DataBase Management System)

Il foglio elettronico. Excel PARTE

CROSSROAD. Gestione TENTATA VENDITA. Introduzione. Caratteristiche generali. Principali funzionalità modulo supervisore

File, Modifica, Visualizza, Strumenti, Messaggio

Transcript:

OpenOffice.Org MySQL PHP Corso breve su automazione d'ufficio

L'obiettivo di questa dimostrazione è la creazione di una connessione ad una sorgente dati e l'automazione della stessa con un foglio di calcolo generico. In particolare creeremo una semplice fattura in cui inseriremo in automatico i dati anagrafici dei clienti, precedentemente salvati in un database gestito da MySQL. Nel contempo utilizzeremo le funzioni dell'autopilota per la creazione dei formulari necessari all'inserimento dei dati.

La gestione di database relazionali presuppone la conoscenza di alcuni concetti fondamentali. In particolare è necessario conoscere il sistema di gestione del database medesimo (avvio del server, creazione database, tabelle, gestione utenti e permessi). In MySQL la gestione dei predetti parametri nonché la creazione di database, tabelle e quant'altro necessario, può essere effettuata direttamente da linea di comando ( a mezzo delle utility e dei comandi presenti nel server stesso), oppure avvalendosi di comode interfacce grafiche (MySQLCC, PhpMyAdmin, Webmin). Una volta creato il database e forniti gli opportuni permessi sarà possibile accedervi da OpenOffice. Tramite OpenOffice sarà peraltro possibile aggiungere tabelle, modificarne di preesistenti, creare formulari per l'inserimento dei dati e quant'altro.

La creazione di un database potrà essere fatta da riga di comando: digitando mysql nella consolle si otterrà (a patto di avere il server MySQL attivo!) il prompt di mysql:

Avendo i permessi necessari creare un database sarà semplice, basterà digitare: mysql> CREATE Fatture; Il comando mysql> USE Fatture ci permetterà di operare all'interno del nostro nuovo database per creare le tabelle sarà sufficiente dare i seguenti comandi: mysql> CREATE TABLE clienti ( ->cf_iva VARCHAR(16) NOT NULL, ->codice MEDIUMINT (10) DEFAULT '0' NOT NULL AUTO_INCREMENT, ->PRIMARY KEY (codice), ->UNIQUE codice (codice) ->); In questo modo creeremo due campi: cf_iva che non può essere nullo codice autoincrementale (e quindi unico) che è anche chiave primaria.

Analogamente per la tabella indirizzi andremo a digitare: mysql>create table indirizzi ( ->codice INT(11) DEFAULT '0' NOT NULL, ->rag_sociale TEXT, ->indirizzo TEXT, ->cap INT(5), ->citta TEXT, ->cf_iva VARCHAR(16) NOT NULL, ->telefono TEXT ->PRIMARY KEY (codice) ->);

Differentemente si potranno utilizzare le utility grafiche come phpmyadmin...

o Webmin...

per settare i permessi dei database...

o addirittura dei singoli campi

od ancora con MySQLCC...

Una volta creata la nostra base dati e settati i permessi corretti si potrà finalmente connettere. Sarà sufficiente selezionare il menù Tools-Data Source (Strumenti-Sorgente Dati)

Il passo successivo sarà la creazione della nuova sorgente dati cliccando sull'omonimo bottone...inserire il nome della nuova sorgente e dati e selezionare il driver di connessione desiderato nella casella combinata...e passare alla seconda schermata (nel ns. caso MySQL)

per selezionare il database sarà sufficiente cliccare sul bottone a fianco della casella Data Source URL e comparirà una maschera di selezione delle basi dati disponibili per il ns. driver...

le tabelle verranno caricate in maniera automatica...

oppure modificare le tabelle esistenti...

ma anche... crearne di nuove...

come pure... creare e modificare Query e Link...

una volta creata si potrà accedere alla nostra nuova sorgente dati semplicemente cliccando sull'icona corrispondente nella barra degli strumenti...

Tramite la funzione autopilota possiamo creare sia dei formulari per l'inserimento dei dati che dei report per la stampa degli stessi (eventulamente provenienti da apposite query).

sarà sufficiente selezionare i campi di interesse...

... ed inoltre l'aspetto e gli stili...

il nuovo formulario verrà salvato in un file esterno e posizionato nei link...

analogamente potrà essere fatto per i report...

la creazione del nostro foglio di lavoro non presenta particolari difficoltà...

possiamo quindi passare alla programmazione vera e propria creando la nuova macro... dal menù Tools-Macros-Macro passeremo alla relativa finestra...

una volta inserito il nome della nuova macro si potrà passare alla programmazione...cliccando su Edit...

entreremo quindi nel modulo di editing delle macro...

analizziamo quindi i passi necessari... Sub Ricerca rem define variables dim DatabaseContext As object dim DataSource As Object dim Connection As Object dim InteractionHandler As Object dim Statement As Object dim ID As String dim ResultSet As Object dim S As String dim RisRG As String dim RisIN As String dim RisCAP As String dim RisCA As String dim RisPI As String Dim Doc As Object Dim Sheet As Object Dim Cell As Object rem --------------------------------- Nella prima porzione vengono definite le variabili utilizzate di seguito.

rem ----------------------------------------------------------rem get access to the document rem global definition of variables questa è una funzione DatabaseContext = createunoservice("com.sun.star.sdb.databasecontext") DataSource = DatabaseContext.getByName("Fatture") questo è un service If Not DataSource.IsPasswordRequired Then Connection = DataSource.GetConnection("","") Else InteractionHandler = createunoservice("com.sun.star.sdb.interactionhandler") Connection = datasource.connectwithcompletion(interactionhandler) End If Questa è la fase cruciale che perfeziona la connessione alla sorgente dati (Fatture) senza immissione di user e password o differentemente.

UNO è una interfaccia di programmazione object oriented con cui OpenOffice controlla le parti della suite. Per usare UNO in OO Basic bisogna associare ad ogni oggetto una variabile. Questa dichiarazione è fatta a mezzo della istruzione Dim. dim DatabaseContext As Object La variabile oggetto deve poi essere inizializzata per poter essere usata. Questo può essere fatto tramite la funzione createunoservice: DatabaseContext = createunoservice("com.sun.star.sdb.databasecontext") Il com.sun.star.sdb.databasecontext assomiglia ad un object type ; nella terminologia UNO è in realtà chiamato service. L'oggetto DatabaseContext è definito un riferimento ad un object che supporta il com.sun.star.sdb.databasecontext service. Come la struttura di un object in VBA è definito dalla classe a cui appartiene, in OpenOffice Basic la struttura è definita attraverso il servizio che supporta. Un VBA object è sempre assegnato precisamente ad una singola classe. Un OpenOffice Basic object può, tuttavia, supportare molti servizi.

ID = InputBox("Digita il Codice Cliente: ", "Codice Cliente") Statement = Connection.createStatement() S = "SELECT `clienti`.`codice`, `indirizzi`.`rag_sociale`, `indirizzi`.`indirizzo`, `indirizzi`.`cap`, `indirizzi`.`citta`, `clienti`.`cf_iva`, `indirizzi`.`telefono` FROM `indirizzi` `indirizzi`, `clienti` `clienti` WHERE ( `indirizzi`.`codice` = `clienti`.`codice` ) AND ( ( `clienti`.`codice` =" & ID &") )" ResultSet = Statement.executeQuery(S) Raccogliamo il risultato di una InputBox nella variabile ID che successivamente utilizziamo nella query. Infine eseguiamo la query stessa e consolidiamo il risultato nella variabile ResultSet.

If Not IsNull(ResultSet) Then While ResultSet.next RisRG = ResultSet.getString(2) RisIN = ResultSet.getString(3) RisCAP= ResultSet.getString(4) RisCA = ResultSet.getString(5) RisPI = ResultSet.getString(6) Wend End If Vengono quindi salvati i risultati della query nelle rispettive variabili.

Doc = StarDesktop.CurrentComponent Sheet = Doc.Sheets(0) Cell = Sheet.getCellByPosition(4, 8) Cell.String = UCase(RisRg) Cell = Sheet.getCellByPosition(4, 9) Cell.String = UCase(RisIN) Cell = Sheet.getCellByPosition(4, 10) Cell.String = RisCAP Cell = Sheet.getCellByPosition(5, 10) Cell.String = UCase(RisCA) Cell = Sheet.getCellByPosition(4, 11) Cell.String = "P.IVA: " & RisPI End Sub ed infine, dopo aver selezionato il documento, inseriamo i risultati della query nelle rispettive posizioni.

il posizionamento dei dati nelle celle segue la seguente facile codifica...

La macro così creata può essere collegata ad un bottone, ad una combinazione di tasti, alla toolbar, ai tasti funzione...

ed alla fine ecco il risultato...

be... un sacco di cose: migliorare la macro...ovviamente. Si potrebbe inserire una Dialog Box dotata di combo box elencante i codici dei clienti e raffigurante le rispettive anagrafiche, richiedere l'imponibile e l'esistenza o meno della ritenuta d'acconto... Si potrebbero infine salvare in un database i dati inseriti. To Do

ed ora... PHP!