Låt Access skriva dokumentationen till ett Excel-ark

Nivå: Avanderad

Inledning

Jag har i ett tidigare inlägg visat principen för hur man kan göra för att automatiskt skriva sin dokumentation till ett Word-dokument.  I den här bloggposten tänkte jag visa hur man skriver sin dokumentation till ett Excelark istället. Något som är nog så viktigt, men ack så tråkigt, är att skriva dokumentation för de projekt du arbetar med. Jobbar du med projekt, så är dokumentation en viktig sak att lägga ner tid på. Anledningen är enkel: man glömmer ganska fort vad man gjort! Att ha färdiga rutiner för hur man skall dokumentera viktiga delar i projektet är helt avgörande, om dokumentationen skall bli av eller inte. Man kan dokumentera på flera olika sätt.  I den här artikeln ska jag beskriva principen för hur det går till.

Antag följande. vi har en Access-databas med dagsnoteringar över börspriser för råolja. Vi har lagrat alla våra data i en Access-tabell som heter Crude2013. Tabellen innehåller fältnamn, antal poster, värden etc. Vad vi vill göra är att dokumentera följande:

  • Datum och klockslag när vi gjorde dokumentationen.
  • Databasens namn och sökvägen dit
  • Tabellens namn och när den skapades
  • Tabellens namn och när den senast uppdaterades
  • Antal poster i tabellen
  • Antal fält
  • Fältens namn

Programkoden i Access

När du startat Access går du in i kodeditorn genom att trycka tangentenkombinationen ALT+F11. Väl inne i editorn är det första som måste göras är sätta referenserna. Förutom de sedvanliga referenserna, måste man sätta följande referenser:

  • Microsoft DAO 3.6 Object Library 
  • Microsoft Excel 12 Object Library  (i detta fall Excel 2007).

Nu är de dags att titta på koden!

AccessExcel1

 

Kommentar: I det första kodblocket  händer inte så mycket, vi definierar de olika objekten som skall användas för DAO och Excel. Vi talar också om var Excelarket finns, genom att ange sökvägen till katalogen. Vi anger också att data skall skrivas in på rad två i Excelarket. Notera att i detta exempel måste Excelfilen finnas i aktuell katalog.

AccessExcel2

Kommentar: Nu är det dags att skriva ut data till Excelarket.  Genom att använda IsEmpty och Offset kan man styra Excel så att data kommer att skrivas till en på raden med den första tomma cellen. På så sätt kan man dokumentera flera händelser till ett och samma Excelark. När data är utskrivet skall data sparas Excelarket, vidare skall vi ta bort objektvariablerna.

AccessExcel3

Kommentar: Nu återstår bara att meddela användaren resultatet och hur det gått. Om vi lyckas, så får användaren ett meddelande om detta. Koden avslutas med sedvanlig felhantering.

Slutresultatet i ACCESS

I nedanstående skärmdump kan du se hur slutresultatet ser ut när vi kört ovan beskrivna procedur från ett Access-formulär.

AccessExcel4

 Slutresultatet i Excel

Nedan ses hur data är skrivet till Excearket!

AccessExcel5

Slutsats

Både Access och Excel är mycket kraftfulla program som fungerar utmärkt tillsammans.  Excel fungerar utmärkt om man vill använda programmet när man skall dokumentera sitt projekt.

 

Referenser på nätet

VBA Language Reference

Share