Il blog di Emilio Scaccaglia

Dedicato al VB ed al VBA
posts - 165, comments - 3058, trackbacks - 1

aprile 2011 Blog Posts

Info - Software medico con VB

Dato che l'aver riproposto un "antico" programma sviluppato prima in Quick Basic e poi tradotto per Windows con VB6 solo alcuni anni fa, ha avuto un disceto successo, ritengo di dover riproporre alcune delucidazioni ancora una volta. Ricordo inoltre che, il libro del Dott. Giorgio Fiore è gratuito e verrà spedito a chi ne faccia richiesta al seguente indirizzo: giorgio-fiore@alice.it, senza neppure richiedere le spese di spedizione. Se, sarete in molti a richiederlo, al fine di limitare le spese di stampa e spedizione il libro verrà messo a disposizione di tutti per il download entro un paio di mesi dalla data di...

posted @ martedì 26 aprile 2011 13:37 | Feedback (21) |

Info - link manuali gratuiti MS Office

metto a disposizione il link per scaricare gratuitamente alcuni manuali riguardandi prodotti Microsoft, non tutti sono recentissimi ma, molto spesso i software si assomigliano e hanno gli stessi strumenti passati di generazione in generazione. http://www.scaccaglia.net/manualistica.html  

posted @ lunedì 25 aprile 2011 13:43 | Feedback (37) |

Info - il mio lavoro

Se siete interessati a sapere di cosa mi occupi, non ho scrupolo a farmi un poco di pubblicità invitandovi a guardare alcune pagine web che parlano del mio lavoro nel settore informatico. http://www.scaccaglia.net http://percorsidigitali.wordpress.com http://scaccaglia.wordpress.com http://ipotesidiagnostica.wordpress.com http://accessdb.wordpress.com questi sono alcuni del link che potete visitare per maggiori informazioni. Altrimenti digitate il mio npome e cognome in google. Troverete qualche software anche in msdn di Microsoft. Ing. Emilio Scaccaglia

posted @ lunedì 25 aprile 2011 11:48 | Feedback (25) |

Info - Windows XP è ancora un S.O. valido?

La risposta, in base alla mia esperienza è sì!!! Ascoltate e leggete cosa ne pensa Microsoft ... al seguente link: http://technet.microsoft.com/en-us/windows/hh124515.aspx?ITPID=mscomsl  

posted @ lunedì 25 aprile 2011 11:37 | Feedback (31) |

Info - Microsoft SQL Server Migration Assistant for Access v4.2

Non ho mai creduto molto nelle utility che traducono u n codice da un linguaggio ad un altro, magari molto differente. Ma l'utiliti di cui al titolo, funziona veramente bene. Potrete così portare con estrema facilità un database (le tabelle) da Access a SQL Server di Microsoft in un momento. Naturalmente prima separate i dati (tabelle) da codice VBA e dalle maschere. Esportate per mezzo dell'utility le tabelle in SQL Server e poi collegatele ad Access come tabelle collegate e, tutto funzionerà come prima, anzi, meglio di prima. Funziona egregiamente anche in grandi reti aziendali. Dove trovarew l'utility? Eccovi il link: http://www.microsoft.com/downloads/en/details.aspx?FamilyID=5abe098d-c7e1-46c6-994a-09a2856eef0b&displaylang=en Naturalmente...

posted @ lunedì 25 aprile 2011 11:34 | Feedback (17) |

Info - ancora su L'Ipotesi Diagnostica

Post scritto da Emilio Scaccaglia, il libro allegato al software "L'Ipotesi Diagnostica nel Metodo Clinico", visto l'alto numero di richieste pervenutemi, sarà messo gratuitamente a disposizione di tutti entro un paio di mesi dalla data di questo post, come download. Intanto, per averne una copia: giorgio-fiore@alice.it Grazie a tutti per l'interesse dimostrato  . . . Dott. Giorgio Fiore, mail: giorgio-fiore@alice.it Ing. Emilio Scaccaglia, mail: emilio.scaccaglia@alice.it Dott.ssa Laura Mutti, mail: mutti.lura@libero.it

posted @ lunedì 25 aprile 2011 01:00 | Feedback (25) |

SQL - Empty, Missing, Nothing e Null

Empty: il valore di una variabile che sia uguale a zero (0) nel caso di una variabile numerica o uguale "" stringa vuota, è definibile una variabile Empty (vuota) Missing: se passi due argomenti ad una subfunction quando ne servivano obbligatoria,mente almeno tre, questa è una variabile Missing (mancante) Nothing: una variabile oggetto non inizializzata possiede valore Nothing (nessuno) Null: è la condizione di un campo di una tabella, per esempio, che non ha ancora ricevuto nessun valore. Se una variabile o campo ha ricevuto in passato un valore cghe poi è stato cancellato, la variabile e  o campo non potrà più cavere...

posted @ lunedì 25 aprile 2011 01:00 | Feedback (42) |

Ancora su: L'Ipotesi Diagnostica nel Metodo Clinico

Visto il rinnovato interesse verso questo software, ideato ormai più di 15 anni fa, propongo alcuni utili link per avere maggiori informazioni sell'argomento. In questo stesso Blog vedi altri Post riferiti allo stesso argomento. http://ipotesidiagnostica.wordpress.com http://percorsidigitali.wordpress.com http://scaccaglia.wordpress.com http://www.scaccaglia.net scrivete a: giorgio-fiore@alice.it

posted @ domenica 24 aprile 2011 20:51 | Feedback (13) |

SQL - query dinamiche 2

A volte capito di dover inserire numeri decimali (dinamicamente) in query create all'interno di codice VBA o VB. Spesso questi numeri sono in formato stringa: "SELECT * FROM NomeTabella WHERE ID = " & Stringa & ";" la variabile stringa contiene il codice identificativo ID che, sicuramente sarà un numero intero, ma che cosa potrebbe accadere se si usassrero numeri a virgola mobile? "SELECT * FROM NomeTAbella WHERE Numero = " & Stringa & ";" dove Stringa contiene il numero, esempio: 5,45 - SQL non accetta la virgola come separatore fra la parte intera e quella frazionaria di un numero e, il risultato...

posted @ domenica 24 aprile 2011 20:40 | Feedback (25) |

Info - versione per Windows di "L'Ipotesi Diagnostica"

Rivisto e corretto, disponibile per Windows XP o superiore, la nuova versione del software scritto dal Dott. Ing. Giorgio Fiore di Parma. La traduzione è stata fatta da me, Emilio Scaccaglia, usando il più possibile le routines originali. Per maggiori info: giorgio-fiore@alice.it

posted @ giovedì 21 aprile 2011 20:58 | Feedback (21) |

Access - gestire istanze multiple di un medesimo form (maschera)

Semplice, bastano poche linee di codice VBA per avere più istanze della stessa maschera: Dim MyForm as Form Set MyForm = New Form_Clienti MyForm.SetFocus ma, queste maschere non sono realmente indipendenti fra loro! Per avere più maschere identiche ma indipendenti, come per esempio consultando la posizione di più clienti contemporaneamente, bisognerà creare una collezione di Maschere come segue. Public MyCollection As New Collection per avviare una o più istanze della maschera, cliccare sul piulsante che ha il seguente codice nell'evento Click: Dim frm As Form Set frm = New Form_Clienti frm.Visible = True frm.Caption = "Clienti" & frm.Hwnd      '(Hwnd è usato per distinguere le varie istanze delle maschere eventualmente aperte) MyCollection.Add Item:=frm,...

posted @ giovedì 21 aprile 2011 12:07 | Feedback (18) |

Access - non usare il campo Yes/No

Un interessante articolo scritto da Allen Browne, descrive perchè è meglio evitare l'uso del campo Yes/No (Sì/No) con Access (tutte le versioni). In effetti ritengo che Allen abbia ragione, e non poco. Troverete l'articolo al seguente indirizzo: http://www.allenbrowne.com/NoYesNo.html

posted @ giovedì 21 aprile 2011 11:41 | Feedback (78) |

Da Access 2007 a Access 2010 - problemi

Al seguente link, troverete le informazioni utili necessarie se intendete passare un datyabase creato con Access 2007 ad Access 2010. Questi due applicativi, molto simili in apparenza, non sono del tutto identici e non sempre permettono una facile transizione dalla versione 2007 alla versione 2010. http://msdn.microsoft.com/en-us/office/cc907897.aspx (da Mic rosoft maggiori delucidazioni prima di provare l'upgrade) Allego un ESEMPIO di un problema accaduto a me e a molti miei allievi: Aprendo, un applicativo creato con Access 2007 e contenente molto codice VBA, con Access 2010, ottenevo moltissimi errori che in apparenza sembravano assurdi: non venivano riconosciute alcune comunissime parolo chiave del linguaggio VBA e appartenenti alla...

posted @ mercoledì 20 aprile 2011 20:57 | Feedback (135) |

VBA - Printer Selection

Printer Selection Utility You can design a report to use one of your printers by choosing Page Setup from the Page Setup ribbon (Access 2010), the Report Tools ribbon (Access 2007), or the File menu (previous versions.) But that approach is useless if others use your report: you do not know what printers they will have installed. This utility lets the end user assign one of their printers to each report. Whenever they open the report, it is sent to that printer. The utility works with MDE files and runtime versions also. The utility also illustrates how to manipulate the Printer object and...

posted @ mercoledì 20 aprile 2011 20:52 | Feedback (97) |

SQL - Transazioni

Requisito fondamentale per garantire l'integrità dei dati, in caso di malfunzionamenti hardware o software del sistema che ospita il database, è che lo stato del database si evolva per effetto di transazioni. Una transazione è definita come una sequenza di operazioni che hanno un effetto globale sul database. L'atomicità è la caratteristica fondamentale delle transazioni: o tutte le operazioni della sequenza terminano con successo o, se una delle operazioni fallisce, fallisce l'intera transazione; in quest'ultimo caso lo stato del database resta invariato. Operando in questo modo vengono evitate le situazioni di inconsistenza, porchè ciascuna transazione trova il database in uno stato di...

posted @ mercoledì 20 aprile 2011 12:52 | Feedback (10) |

SQL - Query dinamiche

SQL è stato pensato per essere utilizzato con codice applicativo, vedi: Visual Basic, C#, Visual C++ e altri ... Le query dinamiche sono un modo per sfruttare al massimo le potenzialità dei database. In questo caso, l'applicazione intrattiene un dialogo più o meno complicato con il database, modificando, aggiungendo, cancellando dati. Qunado si creano query SQL come stringhe e si combinano con variabili create nell'applicazione, si parla di Query Dinamiche o SQL Dinamico. Ogni query di cui si esegue il parsing in fase di runtime è SQL dinamico. ESEMPIO: (codice VBA da eseguirsi solo con Microsoft Access) Risp = InputBox("Inserire il nome della nuova...

posted @ mercoledì 20 aprile 2011 09:56 | Feedback (28) |

SQL - creare una tabella

Ci sono due metodi per creare una tabella con SQL, il primo è il seguente: CREATE TABLE Prodotti ( ID_Prod SERIAL PRIMARY KEY Nome_Prod VARCHAR(75) Codice_Prod BIGINT UNSIGNED - -    . . . ); Altro metodo, amio parerepiù facile da manutenere è il seguente, si limita a copiare una tabella già esistente usata come campione e inusata (ovviamente senza dati): SELECT [TabellaCampione] INTO [NuovaTabella] IN 'PercorsoDatabase' FROM [TabellaCampione]; TabellaCampione è il nome della tabella che si vuole copiare, NuovaTabella è il nome della tabella che si vuole creare e PercorsoDatabase non è altro che il path completo e il nome del file di database a cui si vuole aggiungere la...

posted @ mercoledì 20 aprile 2011 09:28 | Feedback (45) |

Regole di normalizzazione

PROGETTARE UN BUON DATABASE NON è POI COSì DIFFICILE, BASTA ATTENRSI AD ALCUNE BUONE REGOLE. Nota: il termine relazionale, parlando di database, non significa relazione tra tabelle ma, interpreta la relazione che intercorre tra le colonne di una tabella. La relazione è la tabella stessa. Obiettivi della normalizzazione: rappresentare fatti del mondo reale in maniera comprensibile ridurre la memorizzazione di dati ridondanti (duplicati o più ...) supportare vincoli di integrità Prima forma normale la tabella deve essere una relazione e non deve presentare nessun gruppo ripetuto. Seconda forma normale la tabella deve possedere una chiave primaria composta Terza...

posted @ martedì 19 aprile 2011 23:38 | Feedback (69) |

Antipattern

Cosa è un antipattern? (a volte scritto anche Anti-Pattern o Anti_Pattern) Primo significato In informatica, gli anti-pattern sono problemi che si incontrano frequentemente durante lo sviluppo dei programmi e che dovrebbero essere evitati. Il termine antipattern è stato creato dalla cosiddetta Gang of Four (la banda dei quattro) nel loro libro intitolato Design Patterns: Elementi per il riuso di software ad oggetti, che presentava degli esempi di buona pratica di programmazione che gli autori chiamano nel libro, appunto, design pattern (in contrasto con gli anti-pattern). Gli anti-pattern sono trappole logiche in cui il programmatore può facilmente cadere. Secondo significato Trattasi di una tecnica progettata per individuare...

posted @ martedì 19 aprile 2011 23:13 | Feedback (24) |

L'Ipotesi Diagnostica nel Metodo Clinico

Dopo un lungo periodo di inattività, torniamo al lavoro su un software che in passato ha fatto molto discutere. Il software dovrebbe permettere al medico di effettuare una diagnosi con l'ausilio di un normalissimo PC. Testato da diversi medici di differenti settori specialistici, il software realizzato dal Dott. Giorgio Fiore di Parma (Italia) in effetti è risultato essere un più che valido ausilio alla diagnosi. Perchè si torna sull'argomento? Semplice, perchè l'IBM insieme alla Software House Nuance, stà sviluppando un software simile al nostro, anche se il metodo di calcolo è differente. IBM mette a disposizione il Super Computer "Watson" mentre Nuance è...

posted @ martedì 19 aprile 2011 21:05 | Feedback (9) |

Antivirus, Microsoft Security Essential

Scaricabile gratuitamente da: http://www.microsoft.com/downloads/en/details.aspx?FamilyID=e1605e70-9649-4a87-8532-33d813687a7f L'antivirus di Microsoft, completamente gratuito, finalmente sembra essere alla pari con la concorrenza, anche quella a caro prezzo. Fuori tema, per un Blog dedicato ai database ed a SQL, vorrei "sponsorizzare" l'antivirus di casa Microsoft, ritenendolo alla pari con la concorrenza e inpiù, completamente gratuito.

posted @ domenica 17 aprile 2011 10:18 | Feedback (14) |

Operatori logici in SQL non documentati

Testo di Karl Donaubauer Si possono effettuare Query (su un MDB) facendo una maschera di bit su un campo. Per intenderci fare una cosa del tipo: seleziona tutti i record tranne quelli in cui il 3° bit del campo è = 1 Per affrontare questo problema serve avere un minimo di conoscenza della logica booleana. Mascherare una parola binaria al fine di ottenere il solo 3° bit equivale ad eseguire un AND logico con 00000100 che tradotto in decimale: Mask= 00000100 = 4 Decimale Sappiamo infatti che se mascheriamo con logica booleana una parola a 16 Bit con il valore...

posted @ domenica 17 aprile 2011 10:06 | Feedback (26) |

L'Ipotesi Diagnostica nel Metodo Clinico - 2

Vedi Post "L'ipotesi diagnostica nel metodo clinico" il Dott. Giorgio Fiore di Parma informa che: il testo verrà spedito gratuitamente a chi ne faccia esplicita richiesta, telefonando al numero 0521/287048 oppure scrivendo al seguente indirizzo mail giorgio-fiore@alice.it   Grazie

posted @ giovedì 14 aprile 2011 14:31 | Feedback (18) |

L'Ipotesi Diagnostica nel Metodo Clinico

Info utile (spero) Il testo che accompagna il software denominato "L'Ipotesi Diagnostica nel Metodo Clinico"  è disponibile gratuitamente a chi ne faccia richiesta. Il testo contiene oltre le istruzioni per l'istallazione del software e per il suo corretto uso, anche alcune disquisizioni del Dott. Giorgio Fiore sui cambiamenti più o meno desiderati che la medicina ha avuto negli ultimi 100 anni. Accompagna il tutto, la stampa completa di una branca della medicina così come è stata inserita nel software. Per ordinare e ricevere gratuitamente il testo: 0521/287048 - Dott. Giorgio Fiore Una buona lettura a tutti

posted @ giovedì 14 aprile 2011 08:21 | Feedback (24) |

Database, campi, record, tabelle, viste e qualcosa di più

Il campo è la rappresentazione di un dato su un supporto elaborabile. Nello specifico nei supporti elaborativi il dato può essere visto come una sequenza di caratteri alfanumerici, valori numerici o caratteri speciali espressi nella forma originale o codificata. Esempi di campo sono la data di pubblicazione di un libro oppure il cognome di uno studente. il record è un oggetto di un databasestrutturato in dati che contiene un insieme di campi o elementi, ciascuno dei quali possiede nome e tipo propri. I record devono molto alle tradizionali schede cartacee delle biblioteche, da cui riprendono in gran parte la struttura. Nella...

posted @ mercoledì 13 aprile 2011 07:32 | Feedback (162) |

Database, struttura relazionale

Il termine Relational database management system (RDBMS) (sistema per la gestione di basi di dati relazionali) indica un database management system basato sul modello relazionale, ed è stato introdotto da Edgar F. Codd. Oltre ai RDBMS esistono, anche se meno diffusi a livello commerciale, sistemi di gestione di basi di dati che implementano modelli dei dati alternativi a quello relazionale: gerarchico, reticolare e a oggetti. Codd ha introdotto il termine nei primi anni del 1970. L'espressione compare per la prima volta nel testo del seminario "A Relational Model of Data for Large Shared Data Banks" ("Un modello relazionale di dati per...

posted @ mercoledì 13 aprile 2011 07:31 | Feedback (34) |

Istruzioni SQL, 3 categorie ...

Di norma, le istruzioni SQL si dividono in tre ben distinte categorie. Data Definition Language (DDL), utilizzate per la gestione degli schemi del DB. Data Manipulation Language (DML), istruzioni utilizzate per manipolare i dati presenti nel db. Data Control Language (DCL), queste istruzioni sono usate per fornire o revocare le credenziali per l’accesso alla struttura del db ed ai suoi dati.

posted @ mercoledì 13 aprile 2011 07:30 | Feedback (23) |

Critiche al linguaggio SQL

SQL è un linguaggio per interrogazioni verso i database relazionali. I teorici pensano che le caratteristiche originali di SQL, ispirate al calcolo delle tuple “generico elemento di una relazione”, in realtà lo violino. Le sue estensioni più recenti supportano in pieno il Modello Relazionale, ma hanno peggiorato le suddette violazioni. Inoltre, ci sono molte critiche sull’utilizzo di SQL in generale: 1.       il linguaggio è troppo complesso; 2.       esistono più implementazioni di SQL, generalmente incompatibili fra loro; 3.       i valori NULL “metavalore che indica assenza di un valore”, sono troppo usati e considerati; 4.       non viene fornito un metodo standard per suddividere comandi complessi in...

posted @ mercoledì 13 aprile 2011 07:29 | Feedback (40) |

Il modello di database gerarchico

Il Modello di Database gerarchico è stato storicamente il primo modello ad affermarsi sul mercato. Il modello di database gerarchico prevede che i dati siano organizzati secondo strutture ad albero, che si suppone riflettano una gerarchia esistente tra le entità (un esempio di entità è l'entità "Fornitori") che appartengono al database. Ogni albero è formato da un unico record radice (detto anche segmento o padre) e da un insieme di uno o più sotto-alberi dipendenti da esso, costruiti in modo simile. Ciascuna struttura ad albero costituisce, quindi, un insieme organizzato di segmenti o rami strutturati del database, in forma gerarchica. Al livello...

posted @ mercoledì 13 aprile 2011 07:28 | Feedback (22) |

Relazionale?

Il database relazionale risale al non lontano 1969 ed oggi senza dubbio è diventato il modello più diffuso nella gestione della basi di dati. Il padre del modello relazionale è il Dott. Edgard F. Codd che al tempo lavorava presso i laboratori di ricerca dell’IBM. Matematico di professione, credeva di poter applicare precise branche della matematica alla risoluzione di problemi legati alla gestione di grandi quantità di dati. La presentazione del modello relazionale risale al 1970 con un opera intitolata “Un modello relazionale di dati per grandi banche dati condivise”. La teoria di Codd si basava sulle branche della matematica che...

posted @ mercoledì 13 aprile 2011 07:27 | Feedback (11) |

Ipotesi Diagnostica Parte 2/2

Introduzione: Questo software vuole essere un programma di diagnostica clinica volto a illustrare semplici metodiche di indagine. Non è un’opera divulgativa specialistica. Si tratta di un programma molto sofisticato che si rivolge in primo luogo a quei Medici di base che desiderano approfondire le loro conoscenze sul significato dei segni nonchè sulle indagini diagnostico-cliniche fondate sull’anamnesi. Si rivolge quindi soprattutto ai Colleghi che svolgono un’attività professionale ambulatoriale ed anche agli Studenti, come un valido ausilio per una diagnosi che abbia il carattere di una relativa certezza, costruita su metodi di indagine non strumentali, in un tempo estremamente breve, così da consentire la possibilità...

posted @ martedì 5 aprile 2011 11:39 | Feedback (4) |

Query di definizione dati

Se si lavora con Access, le quey di definizione dati sono le meno utili, basta infatti lavorare in definizione struttura per poter creare/modificare tab elle facilmente. Se si lavora con database server e si usa Access come client o front-end, allora la cosa cambia. I comandi sono i seguenti: CREATE TABLE (CREA UNA NUOVA TABELLA) ALTER TABLE (MODIFICA UNA TABELLA ESISTENTE) DROP TABLE (CANCELLA UNA TABELLA) CREATE INDEX (CREA UN INDICE IN UNA TABELLA ESISTENTE) DROP INDEX (CANCELLA UN INDICE)

posted @ lunedì 4 aprile 2011 22:31 | Feedback (2) |

Query pass-through

Le query pass-through inviano un comando SQL direttamente a un database server come per esempio SQL SERVER o ORACLE o altri. In questo caso, Access è usato come strumento client o front.end. Il comando deve essere inviato rispettando la sintassi del database interrogato e non è detto corrisponda alla sintassi di Access.

posted @ lunedì 4 aprile 2011 21:14 | Feedback (21) |

Query di unione

Una query di unione unisce i risultati di due query: SELECT * FROM [NomeTabella1] UNION SELECT * FROM [NomeTabella2]; Bisogna tenere presente che, il nimero di campi restituite da ciascuna tabella è uguale. Il numero e il tipo dei campi delle due tabelle deve essere identico. I campi non selezionati in una delle due query, possono essere sostituiti da valori NULL. SELECT * FROM [NomeTabella1] UNION SELECT * FROM [NomeTabella2];

posted @ lunedì 4 aprile 2011 21:11 | Feedback (19) |

Query di ricerca dei dati non corrispondenti

In Access esiste una creazione guidata query appositamente studiata per affrontare il problema della ricerca dei dati non corrispondenti. I dati non corrispondenti, sono quei dati che, in una relazione fra due tabelle, sono rimasti orfani o vedova. Si dice orfano un record in una tabella sul lato molti della relazione che ha perso la relazione con la tabella sul lato uno. Si dice vedova un record in una tabella sul lato uno in una relazione uno a molti oppure uno a uno che non trova corrispondenza nell'altra tabella. Il tipo di query seguente aiuta a trovare i record che sono rimasti...

posted @ lunedì 4 aprile 2011 20:58 | Feedback (77) |

Speciali comandi SQL

Immaginate di conoscere tutto del linguaggio per DB denominato SQL (Structured Query Language)??? Esistono comandi che hanno nomi raramente usati, come per esempio: CUBE, ROLLUP, GROUPING E SET. Altri comandi li abbiamo più probabilmente intravisti ma mai usati: TRASFORM, PIVOT e altri che sarebbe lungo nominare ... Trovare informazioni su comandi SQL che pensavamo non esistessero è tutto sommato facile, basta visitare il sito: www.ansi.org

posted @ lunedì 4 aprile 2011 20:51 | Feedback (70) |

Trovare i primi records usando una semplice Query

Nei miei corsi sul linguaggio per database denominato SQL ho sempre trovatopersone esperte del linguaggio che però, non avevano idea che con una semplice parolina si potessero estrarre da una o più tabelle collegate, solo alcuni record, prelevati fra i primi: SELECT TOP n [Campo1], [Campo2],  [Campo3], ... FROM [NomeTabella]; dove n, nekl costrutto sopra riportato, è un numero intero che rappresenta la quantità di record che si vogliono estrarre dalla tabella.

posted @ sabato 2 aprile 2011 13:41 | Feedback (7) |

Access - creare veri e propri software - "Risorse & Analisi dei Costi"

Incredibile, con Access 2007 e circa 40.000 righe di codice VBA, ho realizzato un programma per il calcolo dei costi di grandi opere edili e non solo. Il bello è che non ho dovuto impiegare software considerati altamente professionali come ad esempio i linguaggi di programmazione Visual C++ o C# e un database come l’ottimo Microsoft SQL Server o Oracle Db oppure il gratuito ma tanto elogiato MySQL. Access si è dimostrato un valido supporto anche per la realizzazione di software complicati che impiegano, a volte, ore ed ore per terminare i calcoli. Per testare il programma, ho inserito, con...

posted @ venerdì 1 aprile 2011 13:55 | Feedback (28) |

Evitare valori "Null" nei Report

Quando un report di Access trova un valore "Null" nel campo di destinazione si legge "#ERROR". Se voglio evitare questa brutta scritta che, potrebbe coinvolgere altri campi calcolati, procede nel seguente modo: nella proprietà "ControlSource" del controllo che potrevve ricevere un valore Null, inserisco questa espressione =IIF([NomeCampo] Is Null, 0, [NomeCampo]) in questo caso al posto del valore Null si riempirà il campo con un valore 0

posted @ venerdì 1 aprile 2011 09:20 | Feedback (46) |

Evitare Report vuoti (senza dati)

Se Access non trova dati per costruire il report richiesto dall'utente, genera un evento "NoData" che può essere usato per avvisare l'utente che non sono disponibili dati da visualizzare. Private Sub Report_NoData(Cancel as Integer) MsgBox "Il Report non ha dati da visualizzare" Cancel = True ' va bene True o un valore intero diverso da 0 End Sub  

posted @ venerdì 1 aprile 2011 09:15 | Feedback (6) |

Powered by:
Powered By Subtext Powered By ASP.NET