1. Trang chủ
  2. » Công Nghệ Thông Tin

Visual Basic and Databases pdf

270 397 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Visual Basic and Databases
Trường học ISPGAYA
Chuyên ngành Computer Science
Thể loại Giáo trình
Định dạng
Số trang 270
Dung lượng 1,03 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Contents xi Course Objectives ⇒ Understand the benefits of using Microsoft Visual Basic to build a ‘front-end’ interface as a database programming tool ⇒ Learn database structure, termin

Trang 1

Visual Basic and Databases

LAP II ISPGAYA

Trang 2

Visual Basic and Databases

ii

Notice

This guide was developed for the course, “Visual Basic and Databases,” It is not intended to be a complete reference to Visual Basic Consult the Microsoft documentation that comes with your particular version of Visual Basic for detailed reference information

This guide refers to several software and hardware products by their trade names These references are for informational purposes only and all trademarks are the property of their respective companies

Trang 3

How Names are Used in Object Events 1-14 Writing Code 1-15 Review of Variables 1-15 Visual Basic Data Types 1-15 Variable Declaration 1-16 Example 1 Mailing List Application 1-18 Summary 1-25

2 Introduction to Databases

Review and Preview 2-1 Database Structure and Terminology 2-2 Relational Databases 2-3 Sample Relational Database 2-4 Sample Database Structure 2-7 Virtual Database Tables 2-8 Creating a Database 2-10

Trang 4

Visual Basic and Databases

iv

3 Database Connection with the DAO Data Control

Review and Preview 3-1 DAO or ADO – What’s the Difference? 3-2 DAO Data Control 3-3 DAO Data Control Properties 3-4 Recordset Object 3-5 Data Bound Controls 3-6 Data Bound Control Properties 3-6 Example 3-1 Accessing the Books Database 3-8 DAO Data Control Events 3-11 DAO Data Control Methods 3-11 DAO Data Control Recordset Properties 3-12 DAO Data Control Recordset Methods 3-13 DAO Data Control Recordset Navigation 3-14 Quick Example 1 - Recordset Navigation 3-15 Summary 3-17 Exercise 3 Northwind Traders Database 3-18

Trang 5

Contents v

4 Database Connection with ADO Technology

Review and Preview 4-1 ADO Data Control 4-2 ADO Data Control Properties 4-3 ConnectionString Property 4-4 Recordset Object 4-5 Data Bound Controls 4-6 Data Bound Control Properties 4-6 Example 4-1 Accessing the Books Database 4-8 ADO Data Control Events 4-11 ADO Data Control Methods 4-12 ADO Data Control Recordset Properties 4-12 ADO Data Control Recordset Methods 4-13 ADO Data Control Recordset Navigation 4-14 Quick Example 1 - Recordset Navigation 4-15 DAO or ADO – What’s the Difference? 4-17 ADO Data Environment 4-18 Connection Object 4-19 Command Object 4-19

Quick Example 2 – Use of ADO Data Environment 4-20 Data Bound Controls with the Data Environment 4-23 Example 4-2 Drag and Drop Controls 4-24 Recordsets in the Data Environment 4-27 Quick Example 3 – Record Navigation with the Data Environment 4-28 DAO to ADO – ADO to DAO 4-30 Summary 4-32 Exercise 4-1 Northwind Traders Database 4-33 Exercise 4-2 Data Environment with Northwind Traders Database 4-36

Trang 6

Visual Basic and Databases

vi

5 Database Queries with SQL

Review and Preview 5-1 SQL Background 5-2 Basics of SQL 5-3 Where Does SQL Fit In Visual Basic? 5-5 SQL with the DAO Data Control 5-6 Quick Example 1 - SQL with the DAO Data Control 5-7 SQL with the ADO Data Control 5-9 Quick Example 2 - SQL with the ADO Data Control .5-10 SQL with the ADO Data Environment 5-12 Quick Example 3 - SQL with the ADO Data Environment 5-14 Example 5-1 SQL Tester 5-17

A Brief (Hopefully) Interlude for Visual Basic 6 Users 5-18 SELECT/FROM SQL Statement 5-23 ORDER BY Clause 5-25 WHERE Clause 5-28 Single Table WHERE Clause 5-29 Multiple Table WHERE Clause 5-32 INNER JOIN Clause 5-37 OUTER JOIN Clause 5-41 Visual Basic Functions with SQL 5-43 SQL Aggregate Functions 5-45 SQL Construction Tools 5-47 Building SQL Commands in Code 5-51 Example 5-2 Searching the Books Database 5-52 Summary 5-58 Exercise 5 Northwind Traders Database 5-59

Trang 7

Contents vii

6 Visual Basic Interface Design

Review and Preview 6-1 Interface Design Philosophy 6-2

Example 6-1 Mailing List Revisited 6-4 Visual Basic Standard Controls 6-5 Form Control 6-5 Command Button Control 6-6 Label Control 6-7 Text Box Control 6-8 Check Box Control 6-9 Option Button Control 6-10 Frame Control 6-10 Picture Box Control 6-11 Image Control 6-11

Example 6-2 Authors Table Input Form 6-12 Message Box 6-19

Example 6-3 Authors Table Input Form (Message Box) 6-22 Application State 6-24

Example 6-4 Authors Table Input Form (Application State) 6-26 Entry Validation 6-29

Example 6-5 Authors Table Input Form (Entry Validation) 6-31 Input Validation 6-32

Example 6-6 Authors Table Input Form (Input Validation) 6-34 Error Trapping and Handling 6-37 Example 6-7 Authors Table Input Form

(Error Trapping and Handling) 6-42 On-Line Help Systems 6-43

Example 6-8 Authors Table Input Form (On-Line Help Systems) 6-51 Application Testing 6-54 Custom Controls 6-55 Masked Edit Control 6-56

Quick Example 1 – Masked Edit Control 6-57 UpDown Control 6-58

Quick Example 2 – UpDown Control 6-59 Tabbed Dialog Control 6-61 Quick Example 3 – Tabbed Dialog Control 6-62 Toolbar Control 6-63

Quick Example 4 – Toolbar Control 6-64 Data Bound List Control 6-66 Quick Example 5 – Data Bound List Control 6-68 Data Bound Combo Control 6-70

Trang 8

Visual Basic and Databases viii

6 Visual Basic Interface Design (continued)

Data Bound Grid Control 6-71 Quick Example 6 – Data Bound Grid Control 6-72 Data Bound FlexGrid Control 6-73 Quick Example 7 – Data Bound FlexGrid Control 6-74 Calendar Control 6-75

Quick Example 8 – Calendar Control 6-76 Common Dialog Control 6-77

Quick Example 9 – Common Dialog Control 6-79 Additional ADO Custom Controls 6-81 Hierarchical FlexGrid Control 6-82

Quick Example 10 – Hierarchical FlexGrid Control 6-83 Chart Control 6-84

Quick Example 11 – Chart Control 6-85 Month View Control 6-86

Quick Example 12 – Month View Control 6-87 Date Time Picker Control 6-88 Quick Example 13 – Date Time Picker Control 6-89 Data Repeater Control 6-90

Example 6-9 Data Repeater Control 6-91 Summary 6-96 Exercise 6 Publisher Table Input Form 6-97 Build Interface 6-98 Add Message Box(es) 6-102 Code Application State 6-103 Perform Entry Validation 6-104 Perform Input Validation 6-105

Add Error Trapping and Handling 6-105 Add On-Line Help System 6-106 Application Testing 6-107

Trang 9

Contents ix

7 Database Management

Review and Preview 7-1 Database Management with the DAO Data Control 7-2 Editing Records with the DAO Data Control 7-3 Example 7-1 Editing Records with the DAO Data Control 7-6 Adding Records with the DAO Data Control 7-13 Example 7-2 Adding Records with the DAO Data Control 7-15 Deleting Records with the DAO Data Control 7-18 Example 7-3 Deleting Records with the DAO Data Control 7-20 Database Management with the ADO Data Control 7-22 Editing Records with the ADO Data Control 7-23 Example 7-4 Editing Records with the ADO Data Control 7-26 Adding Records with the ADO Data Control 7-33 Example 7-5 Adding Records with the ADO Data Control 7-35 Deleting Records with the ADO Data Control 7-38 Example 7-6 Deleting Records with the ADO Data Control 7-40 Database Management with the ADO Data Environment 7-42 Editing Records with the ADO Data Environment 7-43 Example 7-7 Editing Records with the ADO Data Environment 7-45 Adding Records with the ADO Data Environment 7-54 Example 7-8 Adding Records with the ADO Data Environment 7-56 Deleting Records with the ADO Data Environment 7-59 Example 7-9 Deleting Records with the ADO Data Environment 7-61 Finding Records in a Database 7-63 Finding Records with the DAO Data Control 7-64 Quick Example 1 - Finding Records with the DAO Data Control 7-66 Finding Records with the ADO Data Control 7-67 Quick Example 2 - Finding Records with the ADO Data Control 7-69 Finding Records with the ADO Data Environment 7-70 Quick Example 3 -

Finding Records with the ADO Data Environment 7-72 Modifying Records in Code 7-73

Quick Example 4 – Accessing Records in Code 7-75 Stopping a Database Application 7-76 Example 7-10 – Stopping a Database Application 7-78 Example 7-11 Authors Table Input Form 7-80 Additional Navigation Capabilities 7-81 Editing Records 7-83 Adding Records 7-87 Deleting Records 7-94

Stopping the Application 7-95

Trang 10

Visual Basic and Databases

x

Visual Basic and Databases

1 Introducing Visual Basic and Databases

Preview

• In this first chapter, we will do a quick overview of what the course entails We will discuss what you need to complete the course We’ll take a brief look at what databases are, where they are used, and how Visual Basic is used with databases And, we’ll review the Visual Basic development environment and the steps followed to build an application in Visual Basic

Trang 11

Contents xi Course Objectives

⇒ Understand the benefits of using Microsoft Visual Basic to build a ‘front-end’ interface as a database programming tool

⇒ Learn database structure, terminology, and proper database design

⇒ Learn how to connect to a database using the Visual Basic DAO (data access object) control

⇒ Use the ADO (ActiveX data object) data control and data environment to

connect to a database (Visual Basic 6 only)

⇒ Learn the use of Visual Basic data bound controls

⇒ Learn to make database queries using SQL (structured query language)

⇒ Understand proper database search techniques

⇒ Learn how to use the Visual Data Manager to create a database

⇒ Learn database management techniques

⇒ Learn to create and produce database reports

⇒ Learn how to distribute a Visual Basic database application

⇒ Understand connection to remote databases

⇒ Introduce other advanced database concepts

Trang 12

Visual Basic and Databases xii

Course Requirements

• An obvious requirement is a Windows-based computer with Windows 95, Windows 98, Windows 2000, Windows Me, Windows NT, or Windows XP installed, as well as Visual Basic The student should be familiar with the basics of using the Windows operating system

• Visual Basic and Databases requires some edition of Visual Basic 5 or

Visual Basic 6 There are two controls used by Visual Basic to interact with

databases: the DAO (data access object) control and the ADO (ActiveX data

object) control Both controls will be discussed in this course You should be aware, however, that the ADO control is available only with Visual Basic 6

• Most examples presented in the course notes are done using the Professional Edition of Visual Basic 6 Hence, if you are using Visual Basic 5 or another edition of Visual Basic 6, some of your screens may differ from the ones seen

in the notes

• No knowledge of databases or how to work with databases is presumed Adequate introductory material is presented Even if you’ve worked with

databases before, it is suggested you read through this introductory information

to become acquainted with the nomenclature used by the author for databases and their component parts

• This course does not teach you how to build a Visual Basic application It is

assumed that the student has a basic understanding of the Visual Basic

development environment and knows the steps involved in building a Visual Basic application You should feel quite comfortable with building the example application at the end of this first chapter If not, our company, KIDware, offers several tutorials that teach this information Please visit our web site or contact

us for more information

Trang 13

Contents xiii What is a Database?

• A database is a collection of information This information is stored in a very

structured manner By exploiting this known structure, we can access and modify the information quickly and correctly

• In this information age, databases are everywhere:

⇒ When you go to the library and look up a book on their computer, you

are accessing the library’s book database

⇒ When you go on-line and purchase some product, you are accessing

the web merchant’s product database

⇒ Your friendly bank keeps all your financial records on their database

When you receive your monthly statement, the bank generates a

database report

⇒ When you call to make a doctor appointment, the receptionist looks

into their database for available times

⇒ When you go to your car dealer for repairs, the technician calls up

your past work record on the garage database

⇒ At the grocery store, when the checker scans each product, the price

is found in the store’s database, where inventory control is also

performed

⇒ When you are watching a baseball game on television and the

announcer tells you that “the batter is hitting 328 against left-handed

pitchers whose mother was born in Kentucky on a Tuesday morning,”

that useless information is pulled from the team’s database

(apologies to our foreign readers who don’t understand the American

game of baseball!)

• You can surely think of many more places that databases enter your life The idea is that they are everywhere And, each database requires some way for a user to interact with the information within Such interaction is performed by a

database management system (DBMS)

Trang 14

Visual Basic and Databases xiv

• The tasks of a DBMS are really quite simple In concept, there are only a few

things you can do with a database:

1 View the data

2 Find some data of interest

3 Modify the data

4 Add some data

5 Delete some data

There are many commercial database management systems that perform these tasks Programs like Access (a Microsoft product) and Oracle are used

world-wide In this course, we look at using Visual Basic as a DBMS

• Examples where you might use Visual Basic as a DBMS:

⇒ Implementing a new application that requires management of a

database

⇒ Connecting to an existing database

⇒ Interacting with a database via the internet

• In a DBMS, the database may be available locally on your (or the user’s) computer, available on a LAN (local area network) shared by multiple users, or only available on a web server via the Internet In this course, we spend most

of our time looking at local databases, but access with remote databases is addressed

• We will look at databases in more depth in the next chapter You will see that databases have their own vocabulary Now, let’s take a look at how Visual Basic fits into the database management system

Trang 15

Contents xv Where Does Visual Basic Fit In?

• For database management, we say our Visual Basic application acts as a

front-end to the database This means the Visual Basic application provides

the interface between the user and the database This interface allows the

user to tell the database what he or she needs and allows the database to respond to the request displaying the requested information in some manner

• A Visual Basic application cannot directly interact with a database There are two intermediate components between the application and the database: the

data control and the database engine:

• The data control is a Visual Basic object that connects the application to the

database via the database engine It is the conduit between the application and the engine, passing information back and forth between the two

• The database engine is the heart of a Visual Basic database management

system It is the actual software that does the management Having this engine saves programmers a lot of work The database engine native to

Visual Basic is known as the Jet engine It is the same engine used by

Microsoft Access for database management Hence, it is primarily used to work with Access databases, but it can also work with others

Trang 16

Visual Basic and Databases xvi

• As mentioned, the Jet engine will save us lots of work An observation that illustrates the power of using Visual Basic as a front-end for database

management systems:

Using Visual Basic, it requires less code to connect to an existing

database, view all information within that database, and modify any

and all information within that database, than it does to add two

1 Your users don’t need to have Access installed on their computers or know how to use Access

2 By building a custom front-end, you limit what your user can do with

the information within the database Under normal operation,

Access provides no such limits

• So, in this course, we will look at how to build Visual Basic applications that operate as front-ends to databases Research has shown that over half of all Visual Basic applications involve working with databases We will look at how

to make our applications into complete database management systems, being able to view, search, modify, add, and/or delete database information

• Before going any further, let’s review the steps in building a Visual Basic application and then build a simple application for practice

Trang 17

Contents xvii

Control 1

Control 3Control 2

Form 2 (.FRM)

Control 1

Control 3Control 2Form 3 (.FRM) Module 1 (.BAS)

Building a Visual Basic Application

• In the remainder of this chapter, we will provide an overview of a Visual Basic application and how the Visual Basic development environment is used to develop an application This should provide you with some idea of what

knowledge you need to possess to proceed in this course and introduce the terminology used by the author to describe a Visual Basic application

Structure of a Visual Basic Application

Project (.VBP)

Application (Project - saved as a file with a VBP extension) is made up of:

⇒ Forms - Windows that you create for user interface (saved as a file with a

.FRM extension)

⇒ Controls - Graphical features drawn on forms to allow user interaction (text

boxes, labels, scroll bars, command buttons, etc.) (Forms and Controls are

also called objects.)

⇒ Properties - Every characteristic of a form or control is specified by a property

Example properties include names, captions, size, color, position, and

contents Visual Basic applies default properties You can change properties

at design time or run time

⇒ Methods - Built-in procedures that can be invoked to impart some action to a

particular object

⇒ Event Procedures - Code related to some object This is the code that is

executed when a certain event occurs

⇒ General Procedures - Code not related to objects This code must be

invoked by the application

⇒ Modules - Collection of general procedures, variable declarations, and

constant definitions used by application (saved as a file with a BAS

Trang 18

Visual Basic and Databases xviii

Steps in Developing Application

• There are three primary steps involved in building a Visual Basic application:

1 Draw the user interface

2 Assign properties to controls

3 Write code for event procedures Develop any needed general procedures

We’ll look at each step

Drawing the User Interface and Setting Properties

• Visual Basic operates in three modes

⇒ Design mode - used to build application

⇒ Run mode - used to run the application

⇒ Break mode - application halted and debugger is available

We focus here on the design mode

• Six windows should appear when you start Visual Basic If any of these

windows do not appear, they may be accessed using the main window menu

View item

⇒ The Main Window consists of the title bar, menu bar, and toolbar

The title bar indicates the project name, the current Visual Basic

operating mode, and the current form The menu bar has drop-down

menus from which you control the operation of the Visual Basic

environment The toolbar has buttons that provide shortcuts to some

of the menu options (ToolTips indicate their function) The main

window also shows the location of the current form relative to the

upper left corner of the screen (measured in twips) and the width and

length of the current form

Trang 19

Contents xix

⇒ The Form Window is central to developing Visual Basic

applications It is where you draw your application

⇒ The Toolbox is the selection menu for controls (objects) used in

your application

Pointer Label Frame Check Box Combo Box Horizontal Scroll Bar

Timer Directory List Box

Shapes Image Box Object Linking Embedding

Picture Box Text Box Command Button Option Button List Box Vertical Scroll Bar Drive List Box File List Control Line Control DAO Data Control

Trang 20

Visual Basic and Databases

xx

⇒ The Properties Window is used to establish initial property values

for objects The drop-down box at the top of the window lists all

objects in the current form Two views are available: Alphabetic and Categorized Under this box are the available properties for the

currently selected object

⇒ The Form Layout Window shows where (upon program execution)

your form will be displayed relative to your monitor’s screen:

Trang 21

Contents xxi

⇒ The Project Explorer Window displays a list of all forms and

modules making up your application You can also obtain a view of

the Form or Code windows (window containing the actual Basic

coding) from the Project Explorer window

• As mentioned, the user interface is ‘drawn’ in the form window There are two ways to place controls on a form:

1 Double-click the tool in the toolbox and it is created with a default size

on the form You can then move it or resize it

2 Click the tool in the toolbox, and then move the mouse pointer to the

form window The cursor changes to a crosshair Place the crosshair at the upper left corner of where you want the control to be, press the left mouse button and hold it down while dragging the cursor toward the

lower right corner When you release the mouse button, the control is drawn This approach must be used to place controls in a frame or

picture box control

• To move a control you have drawn, click the object in the form window and

drag it to the new location Release the mouse button

• To resize a control, click the object so that it is select and sizing handles

appear Use these handles to resize the object

Trang 22

Visual Basic and Databases xxii

Setting Properties of Controls at Design Time

• Each form and control has properties assigned to it by default when you start

a new project There are two ways to display the properties of an object The first way is to click on the object (form or control) in the form window Then, click on the Properties Window or the Properties Window button in the tool bar The second way is to first click on the Properties Window Then, select the

object from the Object box in the Properties Window Shown is the Properties

Window for a new application:

The drop-down box at the top of the

Properties Window is the Object box It

displays the name of each object in the application as well as its type This display

shows the Form object The Properties

list is directly below this box In this list, you can scroll through the list of properties for the selected object You may select a property by clicking on it Properties can

be changed by typing a new value or choosing from a list of predefined settings (available as a drop down list) Properties

can be viewed in two ways: Alphabetic and Categorized

A very important property for each object is

its name The name is used by Visual

Basic to refer to a particular object in code

• A convention has been established for naming Visual Basic objects This

convention is to use a three-letter prefix (depending on the object) followed by

a name you assign A few of the prefixes are (we’ll see more as we progress

in the course):

Trang 23

Contents xxiii

• Object names can be up to 40 characters long, must start with a letter, must contain only letters, numbers, and the underscore (_) character Names are used in setting properties at run time and also in establishing procedure names for object events

Setting Properties at Run Time

• In addition to setting control properties in design mode, you can set or modify properties while your application is running (run mode) To do this, you must write some code The code format is:

ObjectName.Property = NewValue

Such a format is referred to as dot notation For example, to change the

BackColor property of a form name frmStart, we'd type:

frmStart.BackColor = vbBlue

• Using the three-letter prefix when naming an object and using an appropriate name makes reading such code easier and more meaningful

How Names are Used in Object Events

• The names you assign to objects are used by Visual Basic to set up a

framework of event-driven procedures for you to add code to The format for each of these subroutines (all object event procedures in Visual Basic are subroutines) is:

Sub ObjectName_Event (Optional Arguments)

End Sub

Visual Basic provides the Sub line with its arguments (if any) and the End Sub

statement You provide any needed code

• Using the three-letter prefix when naming an object and using a meaningful name makes finding appropriate event procedures a simpler task

Trang 24

Visual Basic and Databases xxiv

Writing Code

• The last step in building a Visual Basic application is to write code using the

BASIC language This is the most time consuming task in any Visual Basic

application, not just ones involving databases As objects are added to the form, Visual Basic automatically builds a framework of all event procedures

We simply add code to the event procedures we want our application to

respond to And, if needed, we write general procedures

• Code is placed in the code window At the top of the code window are two boxes, the object (or control) list and the procedure list Select an object and

the corresponding event procedure A blank procedure will appear in the window where you write BASIC code

Review of Variables

• Variables are used by Visual Basic to hold information needed by your

application Rules used in naming variables:

⇒ No more than 40 characters

⇒ They may include letters, numbers, and underscore (_)

⇒ The first character must be a letter

⇒ You cannot use a reserved word (word needed by Visual Basic)

Visual Basic Data Types

⇒ Boolean (True or False)

⇒ Integer (Whole numbers)

⇒ Long (Large whole numbers)

⇒ Single (Floating point numbers)

⇒ Double (Large floating point numbers)

⇒ Currency

⇒ Date

⇒ Object (yes, objects can be variables!)

Trang 25

Contents xxv Variable Declaration

• There are three ways for a variable to be typed (declared):

1 Default (Variant type)

2 Implicit (old technology)

3 Explicit

• There are many advantages to explicitly typing variables Primarily, we insure

all computations are properly done, mistyped variable names are easily

spotted, and Visual Basic will take care of insuring consistency in upper and lower case letters used in variable names Because of these advantages, and because it is good programming practice, we will explicitly type all variables

• To explicitly type a variable, you must first determine its scope There are

four levels of scope:

⇒ Procedure level

⇒ Procedure level, static

⇒ Form and module level

⇒ Global level

• Within a procedure, variables are declared using the Dim statement:

Dim MyInt As Integer

Dim MyDouble As Double

Dim MyString As String, YourString As String

Procedure level variables declared in this manner do not retain their value once

a procedure terminates

• To make a procedure level variable retain its value upon exiting the procedure,

replace the Dim keyword with Static:

Static MyInt As Integer

Static MyDouble As Double

• Form (module) level variables retain their value and are available to all

procedures within that form (module) Form (module) level variables are

declared in the declarations part of the general object in the form's (module's) code window The Dim keyword is used:

Dim MyInt As Integer

Dim MyDate As Date

Trang 26

Visual Basic and Databases xxvi

• Global level variables retain their value and are available to all procedures

within an application Module level variables are declared in the declarations part of the general object of a module's code window (It is advisable to keep all global variables in one module.) Use the Global keyword:

Global MyInt As Integer

Global MyDate As Date

• What happens if you declare a variable with the same name in two or more

places? More local variables shadow (are accessed in preference to) less

local variables For example, if a variable MyInt is defined as Global in a module and declared local in a routine MyRoutine, while in MyRoutine, the local value of MyInt is accessed Outside MyRoutine, the global value of MyInt

Dim Y As Integer Dim Z As Single

Sub Routine1() Sub Routine3()

Dim A As Double Dim C As String

Trang 27

Contents xxvii Example 1

Mailing List Application

In this example, we will build a Visual Basic application that could function as a database interface The application allows the entry of information (names and addresses) to build a mailing list An added feature is a timer that keeps track of the time spent entering addresses After each entry, rather than write the

information to a database (as we would normally do), the input information is simply displayed in a Visual Basic message box We present this example to illustrate the steps in building an application If you feel comfortable building this application and understanding the corresponding code, you probably possess the Visual Basic skills needed to proceed with this course

1 Start a new project Place two frames on the form (one for entry of address information and one for the timing function) In the first frame, place five labels, five text boxes, and two command buttons In the second frame, place a label control, a timer control and three command buttons Remember you need to

‘draw’ controls into frames Resize and position controls so your form

BorderStyle 1-Fixed Single

Caption Mailing List Application

Trang 28

Visual Basic and Databases xxviii

Trang 30

Visual Basic and Databases xxx

Command5:

When done, the form should appear something like this:

3 Put these lines in the General Declarations area of the code window:

Option Explicit

Dim ElapsedTime As Variant

Dim LastNow As Variant

4 Put these lines in the Form_Load event procedure:

Private Sub Form_Load()

ElapsedTime = 0

End Sub

5 Put this code in the txtInput_KeyPress event procedure:

Private Sub txtInput_KeyPress(Index As Integer, KeyAscii

As Integer)

Trang 31

Note the line beginning with ‘If (KeyAscii >= Asc(“0”) And ’ is so

long that the word processor wraps the line around at the margin Type this as one long line, not two separate lines or review the use of the Visual Basic line continuation character (_) Be aware this happens quite often in these notes when actual code is being presented

6 Put this code in the cmdAccept_Click event procedure:

Private Sub cmdAccept_Click()

Dim S As String, I As Integer

'Accept button clicked - form label and output in message box

'Make sure each text box has entry

MsgBox S, vbOKOnly, "Mailing Label"

Call cmdClear_Click

End Sub

Trang 32

Visual Basic and Databases xxxii

7 Put this code in the cmdClear_Click event procedure:

Private Sub cmdClear_Click()

8 Put this code in the cmdStart_Click event procedure:

Private Sub cmdStart_Click()

'Start button clicked

'Disable start and exit buttons

'Enabled pause button

9 Put this code in the cmdPause_Click event procedure:

Private Sub cmdPause_Click()

'Pause button clicked

'Disable pause button

'Enabled start and exit buttons

cmdPause.Enabled = False

cmdStart.Enabled = True

cmdExit.Enabled = True

'Stop timer

Trang 33

Contents xxxiii

10 Put this code in the cmdExit_Click event procedure:

Private Sub cmdExit_Click()

'Exit button clicked

End

End Sub

11 Put this code in the timSeconds_Timer event procedure:

Private Sub timSeconds_Timer()

'Increase elapsed time and display

ElapsedTime = ElapsedTime + Now - LastNow

lblElapsedTime.Caption = Format(ElapsedTime, "hh:mm:ss") LastNow = Now

End Sub

12 Save the application Run the application Make sure it functions as designed Note that you cannot enter mailing list information unless the timer is running

Trang 34

Visual Basic and Databases xxxiv

Trang 35

Contents xxxv

Visual Basic and Databases

2 Introduction to Databases

Review and Preview

• In the last chapter, we looked at a database in very general terms We learned that the heart of any Visual Basic database application is the Jet database engine In this chapter, we provide more details into the structure of databases and how they are created We will use a sample database to illustrate the concepts presented

Trang 36

Visual Basic and Databases xxxvi

Database Structure and Terminology

• In simplest terms, a database is a collection of information This collection is stored in one or more well-defined tables, or matrices

• The rows in a database table are used to describe similar items The rows are referred to as database records In general, no two rows in a database table

• Here is a simple database example:

In this database table, each record represents a single individual The fields

(descriptors of the individuals) include an identification number (ID No), Name, Date of Birth, Height, and Weight

• Most databases use indexes to allow faster access to the information in the

database Indexes are sorted lists that point to a particular row in a table We can create an index for any field we might want to perform a search on The neat thing about an index is that the Jet database engine (included with Visual

Field

Record

Table

11/22/61 06/11/57

72 65 68

170 125 130

Trang 37

Contents xxxvii Relational Databases

• Most databases are made up of many tables stored in a single file Each table contains a logical grouping of information with its own records and fields When using multiple tables within a database, the tables must have some common fields to allow cross-referencing of the tables The referral of one

table to another via a common field is called a relation Such groupings of tables are called relational databases

• Relational databases allow us to store vast amounts of data with far simpler maintenance and smaller storage requirements than the equivalent flat

database As an example, say we had a flat database listing products stocked

by a grocery store with several fields describing each product’s manufacturer (manufacturer name, address, phone, ) If you have 1,000 products made by the same manufacturer, there is much repetition of information in the flat

database And, if the manufacturer changed their phone number, you would have to make that change in 1,000 places! In a relational database, you could use two tables, one for products, one for manufacturers In the product table, you would simply have a manufacturer ID that would correspond with an ID in

the manufacturer table (a relation), which would have that manufacturer’s

information Then, if the phone number changed, you would only have to change one field in the manufacturer table - quite a savings in work! When you break down database tables into simpler tables, the process is known as

database normalization

• Relations among tables in a relational database are established using keys A

primary key is a field that uniquely identifies a record so it can be referenced

from a related table A foreign key is a field that holds identification values to

relate records stored in other tables

• When one record in one table is linked to only one record in another table, we

say there is a one-to-one relation When one record in one table links to many records in another table, we say there is a one-to-many relation And, when

many records in one table are linked to many records in another table, we say

there is a many-to-many relation

• In the first few chapters in this course, we will use a sample database that

comes with Visual Basic This relational database (BIBLIO.MDB) is found in

the main Visual Basic directory - you will become very familiar with this

database It is a database of books about computer programming (and

databases) Let’s look at its relational structure to illustrate the many new concepts being introduced

Trang 38

Visual Basic and Databases

xxxvii

i

Sample Relational Database

• The books (BIBLIO.MDB) database is made up of four tables:

Authors (6,246 records)

Publishers (727 records)

Titles (8,569 records)

Title Author (16,056 records)

As you look at each table, pay attention to how the tables are logical groupings

of information Examine the record and field structures In particular, note each field with an ‘ID’ in the name acts as a key to relate one table to another

• The Authors table contains information about the authors of the books in the

database The table has three (3) fields: Au_ID, Name, and Year Born:

There are 6,246 different authors in the database

Trang 39

Contents xxxix

• The Publishers table contains information about the publishers in the book

database The table has ten (10) fields: PubID, Name, Company Name, Address, City, State, Zip, Telephone, Fax, and Comments:

There are 727 different publishers in the database

• The Titles table contains information about each book title in the database

The table has eight (8) fields: Title, Year Published, ISBN, PubID, Description, Notes, Subject, and Comments:

There are 8,569 distinct book titles in the database

Trang 40

Visual Basic and Databases

xl

• The Title Author table contains information relating book titles to authors

within the database It has just two fields: ISBN (International Standard Book Number, a number used by bookstores and libraries to reference books) and Au_ID:

There are 16,056 entries in this table You may wonder - if there are 8,569 titles in the database, how can there be nearly twice as many entries in this table The answer is that many books have more than one author and this table lists all the authors for each title

• There is obviously a lot of information in the books database! This example, though, is very useful and shows the kind of database we can work with using Visual Basic It is a well-designed database we can learn from We will

discuss database design in a later chapter, so much of what is discussed here will be very useful information later on You may be wondering – where did these views of the database tables come from? They were obtained using Microsoft Access In a couple of more chapters, you will be able to obtain such views using Visual Basic without writing a single line of code!

Ngày đăng: 30/03/2014, 22:20

TỪ KHÓA LIÊN QUAN