Advanced VBA Techniques. Alison Balter InfoTech Services Group

Size: px
Start display at page:

Download "Advanced VBA Techniques. Alison Balter InfoTech Services Group"

Transcription

1 Advanced VBA Techniques Alison Balter InfoTech Services Group

2 About Me Started InfoTech Services Group in 1990 Wrote first book for SAMS on Access 2.0 Have written 15 books on Access and SQL Server Have authored over 300 videos for KeyStone Learning Systems, SAMS Publishing and Experts Exchange Microsoft Access MVP Expert for Experts Exchange Husband Dan is business partner Children Alexis, 17, and Brendan, 14

3 About Me Spend 90% of my time developing custom access applications 90% of applications that I design are client/server Most clients are medium to large corporations and government entities Shell Oil Southern California Edison Cisco Systems USC Drug Enforcement Administration (DEA) General Services Administration (GSA)

4 What We ll Cover Utilizing User-Defined Types Working with Constants Working with Arrays Passing by Reference Versus Passing by Value Using Optional Parameters Working with Empty and Null Creating and Working with Custom Collections

5 Utilizing User-Defined Types Also known as a struct or record Allows you to create a variable containing several pieces of information Generally used to house related information Each element can store a different type of data

6 Utilizing User-Defined Types Public Type TimeCardInfo TimeCardDetailID as Long TimeCardID as Long DateWorked as Date ProjectID as Long WorkDescription As String * 255 BillableHours As Double BillingRate as Currency End Type

7 Utilizing User-Defined Types Creating a Type variable Dim mtyptimecarddate as TimeCardInfo

8 Utilizing User-Defined Types Storing information from a record displayed on a form into a Type variable Private Sub cmdwritetotype mtyptimecarddata.timecarddetailid = Me.txtTimeCardDetailID mtyptimecarddate.timecardid = Me.txtTimeCardID. End Sub

9 Utilizing User-Defined Types Retrieving information from elements of a Type Private Sub cmddisplayfromtype_click MsgBox Timecard Detail ID Is & _ mtyptimecarddata.timecarddetailid & _ vbnewline & _ Time Card ID Is & _ mtyptimecarddata.timecardid

10 Working with Constants Symbolic Improve readability Make maintenance easier Self-documenting Intrinsic Built into the VBA language System-defined Available to all applications True, False, Null

11 Working with Constants Private Const mcurtaxrate as Currency =.0875 Private Const MTAXRATE as Currency =.0875 Function TotalAmount(curSaleAmount as _ Currency) TotalAmount = cursaleamount * MTAXRATE End Function

12 Working with Arrays Series of variables referred to by the same name Each element has a unique index number All elements must be of the same data type It is easy to loop through each element of an array, performing some process on each element

13 Working with Arrays Dim astrnames(5) as String Sub FixedArray() Dim astrnames(5) as String Dim intcounter as Integer astrnames(0) = Dan astrnames(1) = Alexis astrnames(2) = Brendan For intcounter = 0 to Ubound(astrNames) Debug.Print astrnames(intcounter) Next intcounter End Sub

14 Working with Arrays Sub FixedArray() Dim astrnames(5) as String Dim intcounter as Integer Dim vntany as Variant astrnames(0) = Dan astrnames(1) = Alexis astrnames(2) = Brendan For Each vntany in astrnames Debug.Print vntany Next vntany End Sub

15 Working with Arrays Sub DynamicArray() Dim astrnames() as String Dim intcounter as Integer Dim vntany as Variant Redim astrnames(2) astrnames(0) = Dan astrnames(1) = Alexis astrnames(2) = Brendan For Each vntany in astrnames Debug.Print vntany Next vntany End Sub

16 Working with Arrays Sub ResizeDynamic() Dim astrnames() as String Dim intcounter as Integer Dim vntany as Variant Redim astrnames(1) astrnames(0) = Dan astrnames(1) = Alexis Redim astrnames(2) astrnames(2) = Brendan For Each vntany in astrnames Debug.Print vntany Next vntany End Sub

17 Working with Arrays Sub ResizePreserve() Dim astrnames() as String Dim intcounter as Integer Dim vntany as Variant Redim astrnames(1) astrnames(0) = Dan astrnames(1) = Alexis Redim Preserve astrnames(2) astrnames(2) = Brendan For Each vntany in astrnames Debug.Print vntany Next vntany End Sub

18 Working with Arrays Passing Arrays as Parameters Sub PassArray() Dim astrnames(5) as String Dim intcounter as Integer Call FillNames(astrNames) For intcounter = 1 to Ubound(astrNames) Debug.Print astrnames(intcounter) Next intcounter End Sub Sub FillNames(varNameList as Variant) varnamelist(0) = Dan varnamelist(1) = Alexis varnamelist(2) = Dan End Sub

19 Passing By Reference Versus Passing By Value By default parameters are passed by reference This means that a memory reference to the variable is received by the function The function that is called can modify the value of the variable in the calling function

20 Passing By Reference Versus Passing By Value Sub PassByRef Dim strfirstname as String strfirstname = Alison Call FuncByRef(strFirstName) Debug.Print strfirstname End Sub Sub FuncByRef(strFirstParm as String) strfirstparm = Alan End Sub

21 Passing By Reference Versus Passing By Value Sub PassByVal Dim strfirstname as String strfirstname = Alison Call FuncByRef(strFirstName) Debug.Print strfirstname End Sub Sub FuncByVal(ByVal strfirstparm as String) strfirstparm = Alan End Sub

22 Using Optional Parameters Function ReturnInit(ByVal strfname as String, Optional ByVal strlname) If IsMissing(strLName) Then strlname = _ InputBox( Enter Last Name ) End If ReturnInit = strlname &, & _ strfname) End Function

23 Using Optional Parameters Function ReturnInit2(ByVal strfname as String, Optional ByVal strlname) If IsMissing(strLName) Then strlname = Balter End If ReturnInit2 = strlname &, & _ strfname) End Function

24 Using Optional Parameters Function ReturnInit3(ByVal strfname as String, Optional ByVal strlname) If IsMissing(strLName) Then ReturnInit3 = strfname Else ReturnInit3 = strlname &, & _ strfname End If End Function

25 Using Optional Parameters Function ReturnInit4(Optional ByVal strfname as String = Alison, Optional ByVal strlname as String = Balter ) ReturnInit3 = strlname &, & _ strfname End If End Function

26 Working with Empty and Null Working with Empty Variant variables are initialized to the value of Empty Once a value is placed in a variant variable, it is no longer empty

27 Working with Empty and Null Sub StringVar() Dim strname as String Debug.Print IsEmpty(strName) False Debug.Print strname = True End Sub Sub EmptyVar() Dim vntname as Variant Debug.Print IsEmpty(vntName) True vntname = Debug.Print IsEmpty(vntName) False vntname = Empty Debug.Print IsEmpty(vntName) True End Sub

28 Working with Empty and Null Sub EmptyVar() Dim vntname as Variant Debug.Print IsEmpty(vntName) True Debug.Print IsNull(vntName) False vntname = Null Debug.Print IsEmpty(vntName) False Debug.Print IsNull(vntName) True End Sub

29 Working with Empty and Null Function ReturnInit3(ByVal strfname as String, Optional ByVal strlname) If IsMissing(strLName) Then ReturnInit3 = strfname Else ReturnInit3 = strlname &, & _ strfname End If End Function

30 Working with Empty and Null Practical Examples LoopProjects LoopProjects2 Form_Current PropNulls

31 Creating and Working with Custom Collections Advantages over arrays Dynamically allocated Knows how many elements it has Each element can contain a different type of data You can insert elements anywhere you would like

32 Creating and Working with Custom Collections Dim colnames as Collection colnames.add Alexis, Alexis Sub AddToCollection() Dim colnames as Collection Set colnames = New Collection colnames.add Alison, Alison colnames.add Dan, Dan colnames.add Alexis, Alexis colnames.add Brendan, Brendan End Sub

33 Creating and Working with Custom Collections Accessing an item in a collection Debug.Print colnames.item(1) Debug.Print colnames(1) Debug.Print colnames( Alexis )

34 Creating and Working with Custom Collections Removing items from a collection Remove method colnames.remove 2 colnames.remove Alexis Set colnames = New Collection (all items) Set colnames = Nothing (all items)

35 Creating and Working with Custom Collections Iterating through the elements of a custom collection Sub IterateCollection() Dim colnames as Collection Dim varitem as Variant Set colnames = New Collection colnames.add Alison, Ali colnames.add Daniel, Dan colnames.add Alexis, Lexie colnames.add Brendan, Bren For Each varitem in colnames Debug.Print colnames(varitem) Next varitem End Sub

DATABASE AUTOMATION USING VBA (ADVANCED MICROSOFT ACCESS, X405.6)

DATABASE AUTOMATION USING VBA (ADVANCED MICROSOFT ACCESS, X405.6) Technology & Information Management Instructor: Michael Kremer, Ph.D. Database Program: Microsoft Access Series DATABASE AUTOMATION USING VBA (ADVANCED MICROSOFT ACCESS, X405.6) AGENDA 3. Executing VBA

More information

Agenda. Arrays 01/12/2009 INTRODUCTION TO VBA PROGRAMMING. Arrays Matrices.

Agenda. Arrays 01/12/2009 INTRODUCTION TO VBA PROGRAMMING. Arrays Matrices. INTRODUCTION TO VBA PROGRAMMING LESSON6 dario.bonino@polito.it Agenda Matrices 1 Allow to store vectorial data Geometric vectors Sets of data having something in common... Declared as Dim array_name (begin

More information

Good Variable Names: dimensionone, dimension1 Bad Variable Names: dimension One, 1dimension

Good Variable Names: dimensionone, dimension1 Bad Variable Names: dimension One, 1dimension VB Scripting for CATIA V5: Email Course by Emmett Ross Lesson #4 - CATIA Macro Variable Naming Variables make up the backbone of any programming language. Basically, variables store information that can

More information

d2vbaref.doc Page 1 of 22 05/11/02 14:21

d2vbaref.doc Page 1 of 22 05/11/02 14:21 Database Design 2 1. VBA or Macros?... 2 1.1 Advantages of VBA:... 2 1.2 When to use macros... 3 1.3 From here...... 3 2. A simple event procedure... 4 2.1 The code explained... 4 2.2 How does the error

More information

Language Fundamentals

Language Fundamentals Language Fundamentals VBA Concepts Sept. 2013 CEE 3804 Faculty Language Fundamentals 1. Statements 2. Data Types 3. Variables and Constants 4. Functions 5. Subroutines Data Types 1. Numeric Integer Long

More information

IDENTIFYING UNIQUE VALUES IN AN ARRAY OR RANGE (VBA)

IDENTIFYING UNIQUE VALUES IN AN ARRAY OR RANGE (VBA) Date: 20/11/2012 Procedure: Identifying Unique Values In An Array Or Range (VBA) Source: LINK Permalink: LINK Created by: HeelpBook Staff Document Version: 1.0 IDENTIFYING UNIQUE VALUES IN AN ARRAY OR

More information

EXCEL WORKSHOP III INTRODUCTION TO MACROS AND VBA PROGRAMMING

EXCEL WORKSHOP III INTRODUCTION TO MACROS AND VBA PROGRAMMING EXCEL WORKSHOP III INTRODUCTION TO MACROS AND VBA PROGRAMMING TABLE OF CONTENTS 1. What is VBA? 2. Safety First! 1. Disabling and Enabling Macros 3. Getting started 1. Enabling the Developer tab 4. Basic

More information

Excel VBA Variables, Data Types & Constant

Excel VBA Variables, Data Types & Constant Excel VBA Variables, Data Types & Constant Variables are used in almost all computer program and VBA is no different. It's a good practice to declare a variable at the beginning of the procedure. It is

More information

Function: function procedures and sub procedures share the same characteristics, with

Function: function procedures and sub procedures share the same characteristics, with Function: function procedures and sub procedures share the same characteristics, with one important difference- function procedures return a value (e.g., give a value back) to the caller, whereas sub procedures

More information

VBA Handout. References, tutorials, books. Code basics. Conditional statements. Dim myvar As <Type >

VBA Handout. References, tutorials, books. Code basics. Conditional statements. Dim myvar As <Type > VBA Handout References, tutorials, books Excel and VBA tutorials Excel VBA Made Easy (Book) Excel 2013 Power Programming with VBA (online library reference) VBA for Modelers (Book on Amazon) Code basics

More information

Introduction To Programming. Chapter 5: Arrays and More

Introduction To Programming. Chapter 5: Arrays and More Introduction To Programming Chapter 5: Arrays and More Introduction Arrays are like groups of variables that allow you to store sets of similar data A single dimension array is useful for storing and working

More information

Basic Programming Algorithms. 1-D Arrays

Basic Programming Algorithms. 1-D Arrays Basic Programming Algorithms 1-D Arrays 1-D fixed-size array Dim arr(5) As Double 0-base, 6 elements Dim arr(0 to 5) As Double 0-base, 6 elements Dim arr(1 to 5) As Double 1-base, 5 elements Option Base

More information

NOTES: Procedures (module 15)

NOTES: Procedures (module 15) Computer Science 110 NAME: NOTES: Procedures (module 15) Introduction to Procedures When you use a top-down, structured program design, you take a problem, analyze it to determine what the outcome should

More information

Syntax. Table of Contents

Syntax. Table of Contents Syntax Table of Contents First Edition2 Conventions Used In This Book / Way Of Writing..2 KBasic-Syntax..3 Variable.4 Declaration4 Dim4 Public..4 Private.4 Protected.4 Static.4 As..4 Assignment4 User Defined

More information

Sébastien Mathier wwwexcel-pratiquecom/en Variables : Variables make it possible to store all sorts of information Here's the first example : 'Display the value of the variable in a dialog box 'Declaring

More information

Binary Trees and Binary Search Trees

Binary Trees and Binary Search Trees Binary Trees and Binary Search Trees Learning Goals After this unit, you should be able to... Determine if a given tree is an instance of a particular type (e.g. binary, and later heap, etc.) Describe

More information

DroidBasic Syntax Contents

DroidBasic Syntax Contents DroidBasic Syntax Contents DroidBasic Syntax...1 First Edition...3 Conventions Used In This Book / Way Of Writing...3 DroidBasic-Syntax...3 Variable...4 Declaration...4 Dim...4 Public...4 Private...4 Static...4

More information

Sub Programs. To Solve a Problem, First Make It Simpler

Sub Programs. To Solve a Problem, First Make It Simpler Sub Programs To Solve a Problem, First Make It Simpler Top Down Design Top Down Design Start with overall goal. Break Goal into Sub Goals Break Sub Goals into Sub Sub Goals Until the Sub-Sub Sub-Sub Sub-Sub

More information

Chapter 8. Arrays and More Pearson Addison-Wesley. All rights reserved. Addison Wesley is an imprint of

Chapter 8. Arrays and More Pearson Addison-Wesley. All rights reserved. Addison Wesley is an imprint of Chapter 8 Arrays and More Addison Wesley is an imprint of 2011 Pearson Addison-Wesley. All rights reserved. Introduction Arrays are like groups of variables that allow you to store sets of similar data

More information

Chapter 2.5 Writing maintainable programs

Chapter 2.5 Writing maintainable programs Chapter 2.5 Writing maintainable programs Good program writing techniques Maintenance is the updating of a program after it has been released. Maintenance will be helped when the programmer uses good programming

More information

CS 2113 Midterm Exam, November 6, 2007

CS 2113 Midterm Exam, November 6, 2007 CS 2113 Midterm Exam, November 6, 2007 Problem 1 [20 pts] When the following VBA program is executed, what will be displayed in the message box? Option Explicit Sub problem1() Dim m As Integer, n As Integer

More information

Unit 4. Lesson 4.1. Managing Data. Data types. Introduction. Data type. Visual Basic 2008 Data types

Unit 4. Lesson 4.1. Managing Data. Data types. Introduction. Data type. Visual Basic 2008 Data types Managing Data Unit 4 Managing Data Introduction Lesson 4.1 Data types We come across many types of information and data in our daily life. For example, we need to handle data such as name, address, money,

More information

variables programming statements

variables programming statements 1 VB PROGRAMMERS GUIDE LESSON 1 File: VbGuideL1.doc Date Started: May 24, 2002 Last Update: Dec 27, 2002 ISBN: 0-9730824-9-6 Version: 0.0 INTRODUCTION TO VB PROGRAMMING VB stands for Visual Basic. Visual

More information

Learning VB.Net. Tutorial 19 Classes and Inheritance

Learning VB.Net. Tutorial 19 Classes and Inheritance Learning VB.Net Tutorial 19 Classes and Inheritance Hello everyone welcome to vb.net tutorials. These are going to be very basic tutorials about using the language to create simple applications, hope you

More information

Programmers should write code that is self-documenting and split into small sections.

Programmers should write code that is self-documenting and split into small sections. Writing Programs What are good program writing techniques? Programmers should write code that is self-documenting and split into small sections. Specifically, the programmers should: use meaningful identifier

More information

Agenda. First Example 24/09/2009 INTRODUCTION TO VBA PROGRAMMING. First Example. The world s simplest calculator...

Agenda. First Example 24/09/2009 INTRODUCTION TO VBA PROGRAMMING. First Example. The world s simplest calculator... INTRODUCTION TO VBA PROGRAMMING LESSON2 dario.bonino@polito.it Agenda First Example Simple Calculator First Example The world s simplest calculator... 1 Simple Calculator We want to design and implement

More information

CS130/230 Lecture 12 Advanced Forms and Visual Basic for Applications

CS130/230 Lecture 12 Advanced Forms and Visual Basic for Applications CS130/230 Lecture 12 Advanced Forms and Visual Basic for Applications Friday, January 23, 2004 We are going to continue using the vending machine example to illustrate some more of Access properties. Advanced

More information

IS 320 A/B Spring 97 Page 1 Exam 1

IS 320 A/B Spring 97 Page 1 Exam 1 IS 320 A/B Spring 97 Page 1 Please use the paper supplied by the instructor to answer the questions. Question point values are shown in parentheses. 1. (18) What output is generated by the three MsgBox

More information

Lecture Outline. Rainfall Solution Attempt 1. Motivation for arrays. Introducing the Array. Motivation

Lecture Outline. Rainfall Solution Attempt 1. Motivation for arrays. Introducing the Array. Motivation Lecture Outline IMS1906 Programming in VB.NET Week 7 Lecture 1 & 2 Introduction to Arrays Arrays Part 1 and II Angela Carbone Monash University School of Information Management and Systems Defining Arrays

More information

VBA Collections A Group of Similar Objects that Share Common Properties, Methods and

VBA Collections A Group of Similar Objects that Share Common Properties, Methods and VBA AND MACROS VBA is a major division of the stand-alone Visual Basic programming language. It is integrated into Microsoft Office applications. It is the macro language of Microsoft Office Suite. Previously

More information

ISM 3253 Exam I Spring 2009

ISM 3253 Exam I Spring 2009 ISM 3253 Exam I Spring 2009 Directions: You have exactly 75 minutes to complete this test. Time available is part of the exam conditions and all work must cease when "Stop work" is announced. Failing to

More information

VARIABLES. 1. STRINGS Data with letters and/or characters 2. INTEGERS Numbers without decimals 3. FLOATING POINT NUMBERS Numbers with decimals

VARIABLES. 1. STRINGS Data with letters and/or characters 2. INTEGERS Numbers without decimals 3. FLOATING POINT NUMBERS Numbers with decimals VARIABLES WHAT IS A VARIABLE? A variable is a storage location in the computer s memory, used for holding information while the program is running. The information that is stored in a variable may change,

More information

Alternatives To Custom Dialog Box

Alternatives To Custom Dialog Box Alternatives To Custom Dialog Box Contents VBA Input Box Syntax & Function The Excel InputBox method Syntax The VBA MsgBox Function The Excel GetOpenFilename Method The Excel GetSaveAsFilename Method Reference

More information

ENGG1811 Computing for Engineers Week 9 Dialogues and Forms Numerical Integration

ENGG1811 Computing for Engineers Week 9 Dialogues and Forms Numerical Integration ENGG1811 Computing for Engineers Week 9 Dialogues and Forms Numerical Integration ENGG1811 UNSW, CRICOS Provider No: 00098G W9 slide 1 References & Info Chapra (Part 2 of ENGG1811 Text) Topic 21 (chapter

More information

CS608 Lecture Notes. Visual Basic.NET Programming. Object-Oriented Programming Creating Custom Classes & Objects. (Part I) (Lecture Notes 2A)

CS608 Lecture Notes. Visual Basic.NET Programming. Object-Oriented Programming Creating Custom Classes & Objects. (Part I) (Lecture Notes 2A) CS608 Lecture Notes Visual Basic.NET Programming Object-Oriented Programming Creating Custom Classes & Objects (Part I) (Lecture Notes 2A) Prof. Abel Angel Rodriguez CHAPTER 5 INTRODUCTION TO OBJECT-ORIENTED

More information

DATA 301 Introduction to Data Analytics Microsoft Excel VBA. Dr. Ramon Lawrence University of British Columbia Okanagan

DATA 301 Introduction to Data Analytics Microsoft Excel VBA. Dr. Ramon Lawrence University of British Columbia Okanagan DATA 301 Introduction to Data Analytics Microsoft Excel VBA Dr. Ramon Lawrence University of British Columbia Okanagan ramon.lawrence@ubc.ca DATA 301: Data Analytics (2) Why Microsoft Excel Visual Basic

More information

ElseIf: Another Conditional Statement

ElseIf: Another Conditional Statement If This, Then What? If color = true Then If thecolor = blue Then lblsuess.caption = blue fish lblsuess.caption = red fish lblsuess.caption = thenumber & & fish Take out a piece of paper. Write your name

More information

Java Classes and Objects

Java Classes and Objects Table of contents 1 Introduction Case Study - Stack 2 3 Integer String Case Study - Stack Introduction Case Study - Stack Classes Template for creating objects Definition of State (What it knows) Definition

More information

A linked list grows as data is added to it. In a linked list each item is packaged into a node.

A linked list grows as data is added to it. In a linked list each item is packaged into a node. Lesson 4 Data Structures What is a data structure? A data structure is a particular way of organizing data in a computer. A data structure that we have already encountered is the array. An array stores

More information

Las Vegas, Nevada, December 3 6, Kevin Vandecar. Speaker Name:

Las Vegas, Nevada, December 3 6, Kevin Vandecar. Speaker Name: Las Vegas, Nevada, December 3 6, 2002 Speaker Name: Kevin Vandecar Course Title: Introduction to Visual Basic Course ID: CP11-3 Session Overview: Introduction to Visual Basic programming is a beginning

More information

Part 4 - Procedures and Functions

Part 4 - Procedures and Functions Part 4 - Procedures and Functions Problem Solving Methodology... 2 Top Down Design... 2 Procedures and Functions... 5 Sub Procedures... 6 Sending Parameters to a Sub Procedure... 7 Pass by Value... 8 Pass

More information

Control Statements Selection (Conditional Logic)

Control Statements Selection (Conditional Logic) Control Statements Selection (Conditional Logic) INTRODUCTION In the last few weeks, you were introduced to the concept of flow of control: the sequence of statements that the computer executes. In procedurally

More information

Introductory Notes: Condition Statements

Introductory Notes: Condition Statements Brigham Young University - Idaho College of Physical Sciences and Engineering Department of Mechanical Engineering Introductory Notes: Condition Statements The simplest of all computer programs perform

More information

! Tree: set of nodes and directed edges. ! Parent: source node of directed edge. ! Child: terminal node of directed edge

! Tree: set of nodes and directed edges. ! Parent: source node of directed edge. ! Child: terminal node of directed edge Trees & Heaps Week 12 Gaddis: 20 Weiss: 21.1-3 CS 5301 Fall 2018 Jill Seaman!1 Tree: non-recursive definition! Tree: set of nodes and directed edges - root: one node is distinguished as the root - Every

More information

VISUAL BASIC 2005 EXPRESS: NOW PLAYING

VISUAL BASIC 2005 EXPRESS: NOW PLAYING VISUAL BASIC 2005 EXPRESS: NOW PLAYING by Wallace Wang San Francisco ADVANCED DATA STRUCTURES: QUEUES, STACKS, AND HASH TABLES Using a Queue To provide greater flexibility in storing information, Visual

More information

Learning Excel VBA. About Variables. ComboProjects. Prepared By Daniel Lamarche

Learning Excel VBA. About Variables. ComboProjects. Prepared By Daniel Lamarche Learning Excel VBA About Variables Prepared By Daniel Lamarche ComboProjects About Variables By Daniel Lamarche (Last update February 2017). The term variables often send shivers in the back of many learning

More information

Please answer questions in the space provided. Question point values are shown in parentheses.

Please answer questions in the space provided. Question point values are shown in parentheses. IS 320 Spring 99 Page 1 Please answer questions in the space provided. Question point values are shown in parentheses. 1. (15) Assume you have the following variable declarations and assignments: Dim A

More information

Crit-bit Trees. Adam Langley (Version )

Crit-bit Trees. Adam Langley (Version ) CRITBIT CWEB OUTPUT 1 Crit-bit Trees Adam Langley (agl@imperialviolet.org) (Version 20080926) 1. Introduction This code is taken from Dan Bernstein s qhasm and implements a binary crit-bit (alsa known

More information

IS 320 Spring 96 Page 1 Exam 1. Please use your own paper to answer the following questions. Point values are shown in parentheses.

IS 320 Spring 96 Page 1 Exam 1. Please use your own paper to answer the following questions. Point values are shown in parentheses. IS 320 Spring 96 Page 1 Please use your own paper to answer the following questions. Point values are shown in parentheses. 1. (10) Consider the following segment of code: If txtansicode.text < "0" Or

More information

Miscellaneous Topics In Macro Programming

Miscellaneous Topics In Macro Programming OOoCon 2004 - Berlin Miscellaneous Topics In Macro Programming Andrew Pitonyak - OpenOffice.org Marketing Project - Slide 1 Agenda Speaker Introductions Library Management Copy by reference versus copy

More information

Review for Programming Exam and Final May 4-9, Ribbon with icons for commands Quick access toolbar (more at lecture end)

Review for Programming Exam and Final May 4-9, Ribbon with icons for commands Quick access toolbar (more at lecture end) Review for Programming Exam and Final Larry Caretto Mechanical Engineering 209 Computer Programming for Mechanical Engineers May 4-9, 2017 Outline Schedule Excel Basics VBA Editor and programming variables

More information

QTP Open Source Test Automation Framework Coding Standards for Developers

QTP Open Source Test Automation Framework Coding Standards for Developers Coding Standards for Developers Version 1.0 April 2009 D ISCLAIMER Verbatim copying and distribution of this entire article are permitted worldwide, without royalty, in any medium, provided this notice

More information

This project was originally conceived as a pocket database application for a mobile platform, allowing a

This project was originally conceived as a pocket database application for a mobile platform, allowing a Dynamic Database ISYS 540 Final Project Executive Summary This project was originally conceived as a pocket database application for a mobile platform, allowing a user to dynamically build, update, and

More information

Higher Computing Science Software Design and Development - Programming Summary Notes

Higher Computing Science Software Design and Development - Programming Summary Notes Higher Computing Science Software Design and Development - Programming Summary Notes Design notations A design notation is the method we use to write down our program design. Pseudocode is written using

More information

Introduction. In this preliminary chapter, we introduce a couple of topics we ll be using DEVELOPING CLASSES

Introduction. In this preliminary chapter, we introduce a couple of topics we ll be using DEVELOPING CLASSES Introduction In this preliminary chapter, we introduce a couple of topics we ll be using throughout the book. First, we discuss how to use classes and object-oriented programming (OOP) to aid in the development

More information

Creating a Dynamo with VBA Scripts

Creating a Dynamo with VBA Scripts Creating a Dynamo with VBA Scripts Creating a Dynamo with VBA 1 Table of Contents 1. CREATING A DYNAMO WITH VBA... 3 1.1 NAMING CONVENTIONS FOR DYNAMO OBJECTS...3 1.2 CREATING A DYNAMO...4 1.3 DESIGNING

More information

Linked lists. Insert Delete Lookup Doubly-linked lists. Lecture 6: Linked Lists

Linked lists. Insert Delete Lookup Doubly-linked lists. Lecture 6: Linked Lists Linked lists Insert Delete Lookup Doubly-linked lists Lecture 6: Linked Lists Object References When you declare a variable of a non-primitive type you are really declaring a reference to that object String

More information

3 IN THIS CHAPTER. Understanding Program Variables

3 IN THIS CHAPTER. Understanding Program Variables Understanding Program Variables Your VBA procedures often need to store temporary values for use in statements and calculations that come later in the code. For example, you might want to store values

More information

Repetition Structures

Repetition Structures Repetition Structures There are three main structures used in programming: sequential, decision and repetition structures. Sequential structures follow one line of code after another. Decision structures

More information

1. Getting Started Learning Outcomes Introduction Starting up Visual Basic for Applications Exercise 1...

1. Getting Started Learning Outcomes Introduction Starting up Visual Basic for Applications Exercise 1... 1. Getting Started... 6 Learning Outcomes... 6 Introduction... 6 Starting up Visual Basic for Applications... 7 Exercise 1... 8 2. Writing your first programme... 9 Learning Outcomes... 9 Introduction...

More information

Mr.Khaled Anwar ( )

Mr.Khaled Anwar ( ) The Rnd() function generates random numbers. Every time Rnd() is executed, it returns a different random fraction (greater than or equal to 0 and less than 1). If you end execution and run the program

More information

Introduction to Computer Science II (CSI 1101)

Introduction to Computer Science II (CSI 1101) Introduction to Computer Science II (CSI 1101) Professor: M. Turcotte February 2002, duration: 75 minutes Identification Student name: last name: Section: Student number: initials: Signature: Instructions

More information

UNIVERSITY OF EDINBURGH COLLEGE OF SCIENCE AND ENGINEERING SCHOOL OF INFORMATICS INFR08013 INFORMATICS 1 - FUNCTIONAL PROGRAMMING

UNIVERSITY OF EDINBURGH COLLEGE OF SCIENCE AND ENGINEERING SCHOOL OF INFORMATICS INFR08013 INFORMATICS 1 - FUNCTIONAL PROGRAMMING UNIVERSITY OF EDINBURGH COLLEGE OF SCIENCE AND ENGINEERING SCHOOL OF INFORMATICS INFR08013 INFORMATICS 1 - FUNCTIONAL PROGRAMMING Monday 15 th December 2014 14:30 to 16:30 INSTRUCTIONS TO CANDIDATES 1.

More information

Copyright (c) by Matthew S. Harris

Copyright (c) by Matthew S. Harris Documentation & How-To Didjiman's Forms Instance Manager Class For MS Access 2007 and Higher Version v2017-03-28 Copyright (c) 2014-2017 by Matthew S. Harris Permission is granted to copy, distribute and/or

More information

Programming Concepts and Skills. Arrays continued and Functions

Programming Concepts and Skills. Arrays continued and Functions Programming Concepts and Skills Arrays continued and Functions Fixed-Size vs. Dynamic Arrays A fixed-size array has a limited number of spots you can place information in. Dim strcdrack(0 to 2) As String

More information

Integrating Microsoft Access with AutoCAD VBA dave espinosa-aguilar Toxic Frog Multimedia

Integrating Microsoft Access with AutoCAD VBA dave espinosa-aguilar Toxic Frog Multimedia November 30 December 3, 2004 Las Vegas, Nevada Integrating Microsoft Access with AutoCAD VBA dave espinosa-aguilar Toxic Frog Multimedia CP32-3 Course Description: For years AutoCAD users have been trying

More information

Avoiding Naming Conflicts

Avoiding Naming Conflicts Avoiding Naming Conflicts A naming conflict occurs when you try to create or use an identifier that was previously defined. In some cases, naming conflicts generate errors such as "Ambiguous name detected"

More information

WORKING WITH WINDOWS SHELL

WORKING WITH WINDOWS SHELL Chapter 11 Scripting Quicktest Professional Page 1 WORKING WITH WINDOWS SHELL32... 3 MANAGING DISK QUOTAS ON THE NTFS FILE SYSTEM... 4 MICROSOFT.DIDISKQUOTAUSER OBJECT... 4 DIDiskQuotaUser.AccountContainerName

More information

Outline. Midterm Review. Using Excel. Midterm Review: Excel Basics. Using VBA. Sample Exam Question. Midterm Review April 4, 2014

Outline. Midterm Review. Using Excel. Midterm Review: Excel Basics. Using VBA. Sample Exam Question. Midterm Review April 4, 2014 Midterm Review Larry Caretto Mechanical Engineering 209 Computer Programming for Mechanical Engineers April 4, 2017 Outline Excel spreadsheet basics Use of VBA functions and subs Declaring/using variables

More information

6/14/2010. VBA program units: Subroutines and Functions. Functions: Examples: Examples:

6/14/2010. VBA program units: Subroutines and Functions. Functions: Examples: Examples: VBA program units: Subroutines and Functions Subs: a chunk of VBA code that can be executed by running it from Excel, from the VBE, or by being called by another VBA subprogram can be created with the

More information

Save and Load Searches in Access VBA

Save and Load Searches in Access VBA Save and Load Searches in Access VBA How to allow your users to load and save form states in Access through VBA to provide cross-session saving and retrieval of search or other information. This article

More information

Array A Before After

Array A Before After IS 320 Winter 2002 page 1 Instructions: Please write your answers in the space provided. An extra sheet of paper has been included at the end if you need more space. Question point values are shown in

More information

22. VB Programming Fundamentals Data Access with Data Objects

22. VB Programming Fundamentals Data Access with Data Objects 22. VB Programming Fundamentals Data Access with Data Objects 22.1 Data Access Object MS Data Access Object (DAO) enables you to use a programming language to access and manipulate data in local or remote

More information

VBA Foundations, Part 12

VBA Foundations, Part 12 As quickly as you can Snatch the Pebble from my hand, he had said as he extended his hand toward you. You reached for the pebble but you opened it only to find that it was indeed still empty. Looking down

More information

VISUAL BASIC II CC111 INTRODUCTION TO COMPUTERS

VISUAL BASIC II CC111 INTRODUCTION TO COMPUTERS VISUAL BASIC II CC111 INTRODUCTION TO COMPUTERS Intended Learning Objectives Able to build a simple Visual Basic Application. 2 The Sub Statement Private Sub ControlName_eventName(ByVal sender As System.Object,

More information

Ms Excel Vba Continue Loop Through Columns Range

Ms Excel Vba Continue Loop Through Columns Range Ms Excel Vba Continue Loop Through Columns Range Learn how to make your VBA code dynamic by coding in a way that allows your 5 Different Ways to Find The Last Row or Last Column Using VBA In Microsoft

More information

Iteration Loops. The Do While Loop (Continued) Looping Subtasks

Iteration Loops. The Do While Loop (Continued) Looping Subtasks Iteration s The Do While (Continued) ing Subtasks This section in your book is from pages 2 to. You might think that, since this in the Do While loop section, it only refers to those kinds of loops. This

More information

20. VB Programming Fundamentals Variables and Procedures

20. VB Programming Fundamentals Variables and Procedures 20. VB Programming Fundamentals Variables and Procedures 20.1 Variables and Constants VB, like other programming languages, uses variables for storing values. Variables have a name and a data type. Array

More information

PROBLEM 1 : (Vocabulary: 8 points) For each of the words/phrases below, circle the denition that is the best description as it pertains in the context

PROBLEM 1 : (Vocabulary: 8 points) For each of the words/phrases below, circle the denition that is the best description as it pertains in the context Test 1: CPS 100 Owen Astrachan February 12, 1996 Name: Honor code acknowledgement (signature) Problem 1 Problem 2 Problem 3 Problem 4 Extra TOTAL: value 8 pts. 18 pts. 13 pts. 16 pts. 6 pts. 57 pts. grade

More information

Write the code for the click event for the Move>> button that emulates the behavior described above. Assume you already have the following code:

Write the code for the click event for the Move>> button that emulates the behavior described above. Assume you already have the following code: IS 320 Spring 2000 page 1 1. (13) The figures below show two list boxes before and after the user has clicked on the Move>> button. Notice that the selected items have been moved to the new list in the

More information

UNIT 1. Introduction to Microsoft.NET framework and Basics of VB.Net

UNIT 1. Introduction to Microsoft.NET framework and Basics of VB.Net UNIT 1 Introduction to Microsoft.NET framework and Basics of VB.Net 1 SYLLABUS 1.1 Overview of Microsoft.NET Framework 1.2 The.NET Framework components 1.3 The Common Language Runtime (CLR) Environment

More information

Chapter 8 Arrays. Programming In Visual Basic.NET

Chapter 8 Arrays. Programming In Visual Basic.NET Chapter 8 Arrays Programming In Visual Basic.NET 1 Case Structure Best alternative for testing a single variable or expression for multiple values Any decisions coded with nested If statements can also

More information

Variable A variable is a value that can change during the execution of a program.

Variable A variable is a value that can change during the execution of a program. Declare and use variables and constants Variable A variable is a value that can change during the execution of a program. Constant A constant is a value that is set when the program initializes and does

More information

outlook-vba #outlookvba

outlook-vba #outlookvba outlook-vba #outlookvba Table of Contents About 1 Chapter 1: Getting started with outlook-vba 2 Remarks 2 Examples 2 Introduction 2 Outlook Visual Basic for Applications 3 Advanced topics 3 Chapter 2:

More information

(Subroutines in Visual Basic)

(Subroutines in Visual Basic) Ch 7 Procedures (Subroutines in Visual Basic) Visual Basic Procedures Structured Programs To simplify writing complex programs, most Programmers (Designers/Developers) choose to split the problem into

More information

Lab Sheet 4.doc. Visual Basic. Lab Sheet 4: Non Object-Oriented Programming Practice

Lab Sheet 4.doc. Visual Basic. Lab Sheet 4: Non Object-Oriented Programming Practice Visual Basic Lab Sheet 4: Non Object-Oriented Programming Practice This lab sheet builds on the basic programming you have done so far, bringing elements of file handling, data structuring and information

More information

CPSC 203 Extra review and solutions

CPSC 203 Extra review and solutions CPSC 203 Extra review and solutions Multiple choice questions: For Questions 1 6 determine the output of the MsgBox 1) x = 12 If (x > 0) Then s = s & "a" s = s & "b" a. a b. b c. s d. ab e. None of the

More information

1 Deletion in singly linked lists (cont d) 1 Other Functions. 1 Doubly Linked Lists. 1 Circular lists. 1 Linked lists vs. arrays

1 Deletion in singly linked lists (cont d) 1 Other Functions. 1 Doubly Linked Lists. 1 Circular lists. 1 Linked lists vs. arrays Unit 3: Linked Lists Part 2: More on Linked Lists 1 Deletion in singly linked lists (cont d) 1 Other Functions Engineering 4892: Data Structures 1 Doubly Linked Lists Faculty of Engineering & Applied Science

More information

Chapter 20: Binary Trees

Chapter 20: Binary Trees Chapter 20: Binary Trees 20.1 Definition and Application of Binary Trees Definition and Application of Binary Trees Binary tree: a nonlinear linked list in which each node may point to 0, 1, or two other

More information

What Is In the MsgBox?

What Is In the MsgBox? What Is In the MsgBox? Private Sub Form_Click() a = 2 b = 3 c = 4 Call DoIt(a, b) MsgBox (a & " " & b & " " & c) Call DoIt(c, a) MsgBox (a & " " & b & " " & c) Call DoIt(c, b) MsgBox (a & " " & b & " "

More information

Learning VB.Net. Tutorial 11 Functions

Learning VB.Net. Tutorial 11 Functions Learning VB.Net Tutorial 11 Functions Hello everyone welcome to vb.net tutorials. These are going to be very basic tutorials about using the language to create simple applications, hope you enjoy it. If

More information

CPSC 230 Extra review and solutions

CPSC 230 Extra review and solutions Extra review questions: the following questions are meant to provide you with some extra practice so you need to actually try them on your own to get anything out of it. For that reason, solutions won't

More information

Access VBA programming

Access VBA programming Access VBA programming TUTOR: Andy Sekiewicz MOODLE: http://moodle.city.ac.uk/ WEB: www.staff.city.ac.uk/~csathfc/acvba The DoCmd object The DoCmd object is used to code a lot of the bread and butter operations

More information

Microfocus VBA Add-On for Rumba+ Desktop. Quick Start Guide

Microfocus VBA Add-On for Rumba+ Desktop. Quick Start Guide Microfocus VBA Add-On for Rumba+ Desktop Quick Start Guide Micro Focus The Lawn 22-30 Old Bath Road Newbury, Berkshire RG14 1QN UK http://www.microfocus.com Copyright Micro Focus 1984-2018. All rights

More information

"apple" "grape" "grape" "grape" "apple"

apple grape grape grape apple Test 1: CPS 100 Owen Astrachan and Dee Ramm February 21, 1997 Name: Honor code acknowledgment (signature) Problem 1 Problem 2 Problem 3 Problem 4 Problem 5 Problem 6 TOTAL: value 10 pts. 9 pts. 21 pts.

More information

This chapter is intended to take you through the basic steps of using the Visual Basic

This chapter is intended to take you through the basic steps of using the Visual Basic CHAPTER 1 The Basics This chapter is intended to take you through the basic steps of using the Visual Basic Editor window and writing a simple piece of VBA code. It will show you how to use the Visual

More information

Data Structures in Java

Data Structures in Java Data Structures in Java Lecture 9: Binary Search Trees. 10/7/015 Daniel Bauer 1 Contents 1. Binary Search Trees. Implementing Maps with BSTs Map ADT A map is collection of (key, value) pairs. Keys are

More information

( ) 1.,, Visual Basic,

( ) 1.,, Visual Basic, ( ) 1. Visual Basic 1 : ( 2012/2013) :. - : 4 : 12-14 10-12 2 http://www.institutzamatematika.com/index.ph p/kompjuterski_praktikum_2 3 2 / ( ) 4 90% 90% 10% 90%! 5 ? 6 "? : 7 # $? - ( 1= on 0= off ) -

More information

Human Factors Engineering Short Course Topic: A Simple Numeric Entry Keypad

Human Factors Engineering Short Course Topic: A Simple Numeric Entry Keypad Human Factors Engineering Short Course 2016 Creating User Interface Prototypes with Microsoft Visual Basic for Applications 3:55 pm 4:55 pm, Wednesday, July 27, 2016 Topic: A Simple Numeric Entry Keypad

More information

DO NOT. UNIVERSITY OF CALIFORNIA Department of Electrical Engineering and Computer Sciences Computer Science Division. P. N.

DO NOT. UNIVERSITY OF CALIFORNIA Department of Electrical Engineering and Computer Sciences Computer Science Division. P. N. CS61B Fall 2013 UNIVERSITY OF CALIFORNIA Department of Electrical Engineering and Computer Sciences Computer Science Division Test #2 Solutions DO NOT P. N. Hilfinger REPRODUCE 1 Test #2 Solution 2 Problems

More information