Aggiornamento di sicurezza KB2992611

Attenzione, l’installazione dell’aggiornamento di sicurezza KB 2992611, su server o PC che fanno girare SQL Server, può causare seri problemi di performance ai client Access e ad applicazioni che si connettono in ODBC a SQL Server.
Qui viene descritto il problema, Microsoft sta investigando… speriamo risolvano presto, per il momento la soluzione se verificate come è successo a me che ci siano gravi problemi di performance, è disinstallare l’aggiornamento dalle macchine con SQL Server installato.

Grazie a Alex Dybenko  che ha condiviso su Facebook e mi ha risparmiato ore di lavoro a caccia della causa del rallentamento misterioso

Pubblicato in Access, SQL server | Contrassegnato , | Lascia un commento

Internet Explore 10 non visualizza più i PDF

Oggi un tip che non ha niente a che vedere con Access, ma siccome ho avuto il problema e ci ho messo un po’ a capire cosa non funzionasse più riporto qui la soluzione, così ritrovo più facilmente la soluzione quando il primo utente chiamerà dicendo che non vede i PDF!

Se dopo aver aggiornato ad Internet Explorer 10 su Windows 7, quando tentate di visualizzare un pdf vedete un rettangolino nero con una X, per ritornare a vedere i pdf è necessario apportare una piccola modifica al registro.
Aprite RegEdit cercate
HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main\TabProcGrowth e modificate il valore da 0 a1.

Pubblicato in Uncategorized | Contrassegnato , | Lascia un commento

Office 2013, cosa cambia

Qui http://technet.microsoft.com/en-us/library/cc178954(v=office.15).aspx potete trovare un riepilogo delle caratteristiche rimosse/cambiate in Office 2013.
Per quanto riguarda Access, quello di cui sentirò maggiormente la mancanza è la possibilità di creare applicazioni ADP , sarò costretta a tenermi un PC con Access 2010 per ancora molti anni!  (Qui le alternative suggerite da Microsoft http://msdn.microsoft.com/it-it/library/jj618413(office.15).aspx)
Un’altra caratteristica che non ho usato molto spesso, ma che era comoda era la possibilità di creare diagrammi Pivot e Tabelle Pivot, adesso se servono bisognerà crearle in Excel!

Pubblicato in Uncategorized | 2 commenti

Access compie 20 anni!

Il 28 Ottobre 2012, Access ha festeggiato il suo 20° compleanno.   Era infatti il 28 Ottobre 1992 quando Microsoft metteva in commercio Access 1.0.

(Foto di Arvin Meyer MVP)

Da allora tanta strada è stata fatta, e Access ha accompagnato le mie giornate quasi ininterrottamente.

Pubblicato in Access | Contrassegnato , | 2 commenti

Access 2013 preview Web Apps e relazioni molti a molti

Oggi voglio  vedere come Access 2013 Preview costruisce una Web App  quando si utilizzano relazioni molti a molti.

Per farlo utilizziamo l’applicazione BiblioOnline che abbiamo costruito nel post precedente e introduciamo una tabella AutoriLibri per avere la possibilità di inserire più di un autore per un singolo libro.

Aggiungiamo la tabella AutoriLibri in cui andiamo ad inserire 2 campi lookup Libro sulla tabella Books  e Autore sulla tabella Autori.

Adesso mi piacerebbe fare una query per recuperari i dati sugli autori già inseriti nella tabella Books e portarli nella tabella AutoriLibri prima di cancellare il campo Autore dalla tabella Books, ma purtroppo, pare che questa cosa non sia possibile in una Access App.

Potrei farlo se avessi pubblicato il database su Sharepoint 2013 preview,  dove sarebbe possibile accedere al database che Access crea su SQL Azure tramite ad esempio SQL Server Management Studio  e a quel punto creare tutte le query di manipolazione che servono. Purtroppo l’esempio è stato realizzato utilizzando  Office 365 Preview e al momento non è disponibile la possibilità di collegarsi al db di SQL Azure, apparentemente solo perché non è possibile impostare da Office 365 una regola Firewall che consenta a un determinato IP di accedere al database di SQL Azure.

Access mette a disposizione i dati necessari   per poter creare una connessione esterna, ma una limitazione di Office 365 non ci consente per ora  di utilizzare questa possibilità. (Poco male i dati inseriti sono talmente pochi che possiamo anche sistemarli a mano!)

Andiamo adesso sulla tabella Books, eliminiamo il campo Autore e facciamo la stessa cosa sulle viste Books List  e Datasheet,  nella vista List andiamo a cliccare su Add related fields e definiamo i campi che vogliamo vedere in questo modo:

Alla fine la nostra vista è così definita:

Nella vista Datasheet, cancelliamo il campo Autore e otteniamo:

Come vedete qui non ho la possibilità di  aggiungere campi correlati  e quindi salviamo senza fare ulteriori modifiche.  Andiamo anche sulla  Vista Autori List e aggiungiamo i campi correlati da AutoriLIbri in modo tale da vedere per ogni autore i libri che ha scritto.

A questo punto lanciamo la nostra Web App e vediamo come Access ha realizzato l’applicazione.

Questa volta allego un piccolo video che vi fa vedere le funzioni principali (Scusate è senza audio, ma in questo periodo sono un po’ afona…se miglioro nei prossimi giorni metterò la versione con audio).

Se avete la pazienza di guardarlo vedete che anche le relazioni molti a molti sono state risolte in modo brillante e l’applicaziuone che ne è scaturita è semplice ma fa quello per cui l’abbiamo progettata.

Pubblicato in Access 2013, Office, Uncategorized, Web App | Contrassegnato , , | Lascia un commento

Creare una applicazione Web con Access 2013 preview

OBIETTIVO

Costruire una applicazione web per gestire una piccola biblioteca. Allo scopo avremo bisogno a grandi linee di una tabella per registrare gli utenti della nostra biblioteca, una tabella per le informazioni sui libri e una tabella per registrare i prestiti.

Strumenti necessari

Step by step

Dopo aver installato Office 2013 preview ed essersi creati un account su Office365 siamo pronti per creare la nostra applicazione.

Lanciamo Access 2013 e dalla maschera iniziale scegliamo Custom Web App

Ci viene chiesto di dire dove vogliamo creare l’applicazione e indichiamo il nostro spazio SharePoint su Office 365 Preview e clicchiamo su Create.

Inseriamo username e password:

E finalmente possiamo iniziare a creare maschere e tabelle.

In questa finestra Access ci aiuta nella creazione delle tabelle proponendoci dei templates già pronti per alcuni tipi di archivi d’uso comune,  vediamo allora di capire se ci sono dei template per i libri,  scriviamo books nell’apposita casella di testo e premiamo invio, ci vengono mostrate diverse combinazioni, noi clicchiamo  Book collection e in pochi secondi ci vengono create le tabelle e le maschere necessarie per gestire  Books, People, Publishers, Series  e Genres, siamo già ad un buon punto!

Diamo adesso un’occhiata a queste maschere/ tabelle,  vediamo se dobbiamo fare delle modifiche o se ci vanno bene così!

Clicchiamo su Books ed ecco vediamo la maschera per l’inserimento dei dati che contiene tutti i campi, notiamo anche che è disponibile  una maschera  “Datasheet” o foglio dati per una visualizzazione  tabellare delle informazioni.

Per modificare la maschera cliccheremo su Edit, ma guardiamo prima la struttura della tabella.  Per farlo click con il pulsante destro del mouse su Books e compare un Popup menu da cui scegliamo Edit Table.

Otteniamo la visualizzazione a cui siamo abituati nei database desktop di Access:

Notate i campi Lookup, sono quelli che ci consentono di definire le relazioni tra le varie tabelle, guardiamo ad esempio il campo Author e vediamo come è definita la relazione, per farlo clicchiamo sul pulsante  Modify  Lookups:

E viene visualizzato la maschera di dialogo per la definizione guidata della Relazione:

In questo caso specifichiamo che il campo Autore deve prendere i dati dalla tabella People, che vogliamo venga visualizzato il campo Display Name, che vogliamo l’elenco sia ordinato in modo crescente e che non sia possibile cancellare un record dalla tabella People se ci sono elementi corrispondenti nella tabella Books.

Se allo stesso modo andiamo a vedere la definizione del lookup per il campo Rating scopriamo che è definito come una lista statica di valori in questo modo:

Se clicco sul pulsante Indexes vedo  tutti gli indici che sono stati definiti  per quella tabella:

Eseguiamo la stessa procedura per vedere la struttura della Tabella People,  e scopriamo che contiene un sacco i campi che per i nostri Autori sono sovrabbondanti, decidiamo allora di usare Paoples  per registrare gli iscritti alla nostra biblioteca e di creare invece per gli autori una tabella apposita contenente solo Nome e Cognome.  Ne approffitto però per farvi notare l’ultimo campo Display Name First Last definito come campo calcolato con questa definizione:

Coalesce([First Name]+” “+[Last Name];[Last Name];[First Name];[Email];[Company])

(Coalesce è una funzione TSQL che ritorna il primo valore non null tra quelli elencati)

Se clicchiamo sul pulsante Validation Rule vediamo che basandosi sulla stessa funzione è anche definita una regola di validità per cui l’utente sarà avvisato se almeno uno di quei campi non sarà compilato.

Cancelliamo dalla tabella Peoples il campo Group e il campo Web Page che per il nostro scopo non ci serve.

Andiamo anche sulle due maschere People List e People Datasheet ad eliminare gli stessi campi, ottenendo qualcosa che assomiglia a questa finestra:

Notate in basso la scritta Books con il pulsante  + a fianco, quella rappresenta  l’equivalente di una sottomaschera,  che in questo momento, visualizzerebbe i libri scritti da un determinato autore, ma nel momento in cui avremo finito le nostre modifiche visualizzerà i libri presi in prestito da una determinata persona.

Clicchiamo anche sul pulsante By Group con il tasto destro del  mouse e scegliamo Delete, ci chiede se vogliamo eliminare la Vista e diciamo di Si (Avendo eliminato il campo Group non ha più senzo la visualizzazione per gruppi).

Aggiungiamo adesso la tabella Autori e per farlo clicchiamo sul pulsante Table e poi sul link Add a new blank table.

Definiamo i campi come in figura:

e definiamo anche una regola di validazione in questo modo:
Coalesce([Nome]+’ ‘+[Cognome];[Cognome];[Nome]) Is Not Null
e un messaggio di validazione.  Salviamo la tabella con il nome Autori.

Andiamo adesso a sistemare il campo lookup Author della tabella Book.  Ritorniamo in visualizza struttura di Books,  selezioniamo il campo Author e clicchiamo su Modify Lookups e impostiamo così le opzioni della finestra di autocomposizione lookup:

Andiamo adesso a vedere nelle viste Book List Datasheet come sono definiti i
controlli Author, andiamo in edit della vista Book List clicchiamo sul campo
Author e poi sull’icona dati che compare lì vicino ed otteniamo questo popup:

Vedete che le proprietà RowSource e Primary Display Field sono evidenziate in rosso perché non corrispondono più alla definizione data nella tabella Books,
modifichiamo allora le proprietà in  questo modo:

Apportiamo le stesse modifiche alla vista Books DataSheet.

A questo punto punto dovremmo definire la tabella prestiti e relative viste ma mi sembra che siamo già ad un buon punto e possiamo anche provare a vedere come è venuta la nostra appplicazione Web.

Clichiamo su Lunch App e dopo qualche secondo ecco la nostra pagina Web.

Come potete vedere l’applicazione è già sufficientemente completa, potremmo subito iniziare ad inserire libri con tutti i dati, editori, utenti della biblioteca ecc…, ma prima di iniziare torniamo su Access e aggiungiamo quello che manca.

Aggiungiamo la tabella Prestiti, facendo click su Tables e poi su Add new Blank Table, definiamo i campi Libro e Utente come Lookup filed su Books e Peoples rispettivamente, DataPrestito, DataScadenzaPrestito e DataRestituzione come campi data e per il campo DataPrestito impostiamo il valore predefinito a Today(). Impostiamo anche la proprietà required dei campi Utente, Libro, DataPrestito e DataScadenzaPrestito a Si. Inseriamo anche una Regola di Validazione:

Not [Utente] Is Null And Not [Libro] Is Null And Not [DataPrestito] Is Null And Not [DataScadenzaPrestito] Is Null 

E un messaggio di validazione: “I campi Libro, Utente, data Prestito e Data Scadenza Prestito devono sempre essere compilati”

Salviamo la nostra tabella, e andiamo a vedere le viste che ha creato, se ci soddisfano torniamo su Books scegliamo la vista Books List e clicchiamo su Edit. Per aggiungere la sottomaschera con la storia dei prestiti di quel libro. Clicchiamo sul pulsante  “Related Items control”, viene aggiunto un box con un pulsante per aggiungere (+), clicchiamo sul più e definiamo da dove prendere i dati e quali dati visualizzare in questo modo:

Adesso siamo pronti per ritornare nella nostra web app, inserire degli utenti, dei libri e dei prestiti per vedere cosa succede, sarete impressionati dalla facilità con cui  si possono inserire i dati, dal livello di controllo sugli stessi presenti, dalla quantità di strumenti a disposizione, senza aver  scritto praticamente una sola linea di codice.  Provando noto che c’è qualcosa che non funziona tanto bene nella vista Autori List, nell’elenco a sinistra viene visualizzato solo il nome, andiamo a controllare cosa c’è che non va.

Ritorniamo in Access, andiamo sulla vista Autori List e selezioniamo il box a sinistra con la scritta Nome

:

Cambiamolo così:

E andiamo a verificare che sia tutto a posto sul web ed in effetti tutto funziona.

La nostra prima applicazione web con Access 2013 preview  è pronta!

Pubblicato in Access 2013, Web App | Contrassegnato , , , | 1 commento

MVP again

Ieri, per il quinto anno consecutivo, è arrivata una graditissima mail da Microsoft che diceva:

Complimenti MVP Microsoft 2011!  … Si tratta di un premio destinato a leader di comunità tecniche con doti eccezionali che condividono attivamente con altri la straordinaria qualità della propria competenza sul campo. Apprezziamo davvero il suo incredibile contributo, relativamente a Access, all’interno delle community tecniche durante lo scorso anno.  ….

Che dire è sempre un bel modo di cominciare un nuovo anno,  sperando di avere in questo 2011, la possibilità di continuare con lo stesso entusiasmo! 

Nel frattempo auguro a tutti un  2011 ricco di soddisfazioni, e   …   per rimanere in tema, Buona community a tutti!

Pubblicato in Uncategorized | Lascia un commento