a comparison of sas versus microsoft excel and access’s inbuilt vba functionality jozef tarrant,...

24
A Comparison of SAS versus Microsoft Excel and Access’s Inbuilt VBA Functionality Jozef Tarrant, Amadeus Software Ltd. 1 Copyright © 2011 Amadeus Software Ltd.

Upload: kimberly-christiana-robinson

Post on 01-Jan-2016

224 views

Category:

Documents


0 download

TRANSCRIPT

A Comparison of SAS versus Microsoft Excel and Access’s Inbuilt VBA Functionality

Jozef Tarrant, Amadeus Software Ltd.

1Copyright © 2011 Amadeus Software Ltd.

Overview

What is VBA?

VBA Essentials: Modules and Subroutines

Programming an Export from Excel to CSV

Programming an Import from CSV to Access

Comparison of VBA versus SAS

Copyright © 2011 Amadeus Software Ltd. 2

What is VBA?

VBA (Visual Basic for Applications) is an event-driven programming language built into most Microsoft Office applications, often informally referred to as ‘Macro’.

It allows us to script and automate almost any procedure that can be done manually.

It lends itself to any procedure that the user finds themselves having to do repetitively.

Or to any task that an administrator would prefer to be automatic and not subject to user input and associated error.

Copyright © 2011 Amadeus Software Ltd. 3

VBA is entered inside code modules

Copyright © 2011 Amadeus Software Ltd. 4

The Principle

Copyright © 2011 Amadeus Software Ltd. 5

Multiple Excel worksheets and workbooks

Single Access databaseread and consolidated into

The Practice

Copyright © 2011 Amadeus Software Ltd. 6

Multiple Excel worksheets and workbooks Access database

consolidated into

Single Excel worksheet

exported to

Example of source spreadsheets

Copyright © 2011 Amadeus Software Ltd. 7

Demonstration of Process

Copyright © 2011 Amadeus Software Ltd. 8

Defining Variables with DIM Statements

Copyright © 2011 Amadeus Software Ltd. 9

Dim anyname1 as IntegerDim anyname2 as StringDim anyname3 as WorksheetDim anyname4 as DatabaseDim anyname5 as TableDefDim anyname6 as BooleanDim anyname7 as ObjectDim anyname8 as DAO.DatabaseDim anyname9 as DAO.Recordset Dim anyname10 as DAO.FieldDim anyname11

Dim anyname1 as IntegerDim anyname2 as StringDim anyname3 as WorksheetDim anyname4 as DatabaseDim anyname5 as TableDefDim anyname6 as BooleanDim anyname7 as ObjectDim anyname8 as DAO.DatabaseDim anyname9 as DAO.Recordset Dim anyname10 as DAO.FieldDim anyname11

Code Module 1 Highlights

Copyright © 2011 Amadeus Software Ltd. 10

Code Module 1 Highlights

Copyright © 2011 Amadeus Software Ltd. 11

Code Module 1 Highlights

Copyright © 2011 Amadeus Software Ltd. 12

Code Module 2 Highlights

Copyright © 2011 Amadeus Software Ltd. 13

Code Module 2 Highlights

Copyright © 2011 Amadeus Software Ltd. 14

Code Module 2 Highlights

Copyright © 2011 Amadeus Software Ltd. 15

... The halfway stage

Copyright © 2011 Amadeus Software Ltd. 16

Creating tables in Access

Copyright © 2011 Amadeus Software Ltd. 17

Design view

Data view

Creating forms and associating actions

Copyright © 2011 Amadeus Software Ltd. 18

Dialogue boxes in action

Copyright © 2011 Amadeus Software Ltd. 19

Target table is updated

Copyright © 2011 Amadeus Software Ltd. 20

VBA vs. SAS

Copyright © 2011 Amadeus Software Ltd. 21

VBA SAS

Consolidation through importing to Excel

Consolidation through PROC IMPORT or CONNECT TO ODBC

IF statements control reading IF and WHERE statements control reading and writing

Exporting to Access by creating temporary recordset object

Write out directly to an external database

VBA vs. SAS continued

Copyright © 2011 Amadeus Software Ltd. 22

VBA SAS

Explicit loops Implied loops

Variables have to be defined in type and number

Allows the user to create variables as and when needed

Requires interfaces with external objects to be explicitly programmed and embedded

SAS uses built-in, or sometimes additionally licensed, engines to interface with external objects

Custom functions Parameterized macros

Conclusions

Both VBA and SAS are perfectly good options to

consolidate data from multiple sources

VBA is included as part of MS Office, although no

formal support is provided

SAS is much easier to use and benefits from

greater discipline across all procedures and

functions

Copyright © 2011 Amadeus Software Ltd. 23

Copyright © 2011 Amadeus Software Ltd. 24

... Any Questions?

Jozef TarrantAmadeus Software Ltd.

Tel: +44 (0)1993 848010e-Mail: [email protected]: www.amadeus.co.uk