VBA - Beginner How To - Computer Programming Concepts and Vi.pdf

(7893 KB) Pobierz
VISUAL BASIC 6.0
Computer Programming
Concepts and Visual Basic
David I. Schneider
UNI
VERSI
TY
OF
PHOENI
X
COLLEGE OF INFORMATION SYSTEMS AND TECHNOLOGY
257345365.001.png
Cover Art: Copyright © Stock Illustration Source, Inc./Kelly Brother.
Excerpts taken from:
An Introduction to Programming Using Visual Basic 6.0, Fourth Edition,
by David I. Schneider
Copyright © 1999, 1998, 1997, 1995 by Prentice-Hall, Inc.
A Pearson Education Company
Upper Saddle River, New Jersey 07458
IBM is a registered trademark ® of International Business Machines Corporation
Hercules is a registered trademark ® of Hercules Computer Technology.
Visual Basic is a registered trademark ® of the Microsoft Corporation.
The information, illustrations, and/or software contained in this book, and regarding the above-
mentioned programs, are provided “As Is,” without warranty of any kind, express or implied,
including without limitation any warranty concerning the accuracy, adequacy, or completeness
of such information. Neither the publisher, the authors, nor the copyright holders shall be re-
sponsible for any claims attributable to errors, omissions, or other inaccuracies contained in
this book. Nor shall they be liable for direct, indirect, special, incidental, or consequential dam-
ages arising out of the use of such information or material.
All rights reserved. No part of this book may be repro-
duced, in any form or by any means, without permission
in writing from the publisher.
This special edition published in cooperation with
Pearson Custom Publishing
Printed in the United States of America
10 9 8 7 6 5 4 3 2 1
Please visit our web site at www.pearsoncustom.com
ISBN 0–536–60446–0
BA 990807
PEARSON CUSTOM PUBLISHING
160 Gould Street/Needham Heights, MA 02494
A Pearson Education Company
257345365.002.png
C ONTENTS
SECTION 1: PROBLEM SOLVING . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1
1.1 P ROGRAM D EVELOPMENT C YCLE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3
1.2 P ROGRAMMING T OOLS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5
SECTION 2: FUNDAMENTALS OF PROGRAMMING IN VISUAL BASIC . . . . . . . . 15
2.1 V ISUAL B ASIC O BJECTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.2 V ISUAL B ASIC E VENTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
2.3 N UMBERS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
2.4 S TRINGS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
2.5 I NPUT AND O UTPUT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
2.6 B UILT -I N F UNCTIONS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
S UMMARY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
P ROGRAMMING P ROJECTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
SECTION 3: GENERAL PROCEDURES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
3.1 S UB P ROCEDURES , P ART I . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
3.2 S UB P ROCEDURES , P ART II . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
3.3 F UNCTION P ROCEDURES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
3.4 M ODULAR D ESIGN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
S UMMARY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
P ROGRAMMING P ROJECTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
SECTION 4: DECISIONS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
4.1 R ELATIONAL AND L OGICAL O PERATORS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
4.2 I F B LOCKS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
4.4 S ELECT C ASE B LOCKS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
4.4 A C ASE S TUDY : W EEKLY P AY R O L L . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
S UMMARY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
P ROGRAMMING P ROJECTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
SECTION 5: REPETITION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
5.1 D O L OOPS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
5.2 P ROCESSING L ISTS OF D ATA W I T H D O L OOPS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
5.3 F OR ...N EXT L OOPS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
5.4 A C ASE S TUDY : A NALYZE A L OAN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
S UMMARY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
P ROGRAMMING P ROJECTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
SECTION 6: ARRAYS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
6.1 C REATING AND A CCESSING A RRAYS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
6.2 U SING A RRAYS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
6.3 C ONTROL A RRAYS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
6.4 S ORTING AND S EARCHING . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184
6.5 T WO -D IMENSIONAL A RRAYS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196
6.6 A C ASE S TUDY : C ALCULATING WITH A S PREADSHEET . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
iii
 
S UMMARY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
P ROGRAMMING P ROJECTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
SECTION 7: SEQUENTIAL FILES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215
7.1 S EQUENTIAL F ILES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217
7.2 U SING S EQUENTIAL F ILES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
7.3 A C ASE S TUDY : R ECORDING C HECKS AND D EPOSITS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228
S UMMARY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237
P ROGRAMMING P ROJECTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237
SECTION 8: RANDOM-ACCESS FILES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243
8.1 U SER D EFINED D ATA T YPES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245
8.2 R ANDOM -A CCESS F ILES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251
S UMMARY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255
P ROGRAMMING P ROJECTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255
SECTION 9: THE GRAPHICAL DISPLAY OF DATA . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257
9.1 I NTRODUCTION TO G RAPHICS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259
9.2 L INE C HARTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267
9.3 B AR C HARTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273
9.4 P IE C HARTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277
S UMMARY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282
P ROGRAMMING P ROJECTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282
SECTION 10: ADDITIONAL CONTROLS AND OBJECTS . . . . . . . . . . . . . . . . . . . . . . 285
10.1 L IST B OXES AND C OMBO B OXES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287
10.2 N INE E LEMENTARY C ONTROLS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294
10.3 F IVE A DDITIONAL O BJECTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303
S UMMARY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316
P ROGRAMMING P ROJECTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317
SECTION 11: DATABASE MANAGEMENT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321
11.1 A N I NTRODUCTION TO D ATABASES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323
11.2 R ELATIONAL D ATABASES AND SQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330
11.3 T HREE A DDITIONAL D ATA -B OUND C ONTROLS ; C REATING AND D ESIGNING D ATABASES . . . . 338
S UMMARY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 350
P ROGRAMMING P ROJECTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 350
SECTION 12: OBJECT-ORIENTED PROGRAMMING . . . . . . . . . . . . . . . . . . . . . . . . . . 353
12.1 C LASSES AND O BJECTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355
12.2 C OLLECTIONS AND E VENTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 365
12.3 C LASS R ELATIONSHIPS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373
S UMMARY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 380
P ROGRAMMING P ROJECTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 381
SECTION 13: COMMUNICATING WITH OTHER APPLICATIONS . . . . . . . . . . . . . 383
13.1 OLE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385
13.2 A CCESSING THE I NTERNET WITH V ISUAL B ASIC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 392
iv
 
13.3 W EB P AGE P ROGRAMMING WITH VBS CRIPT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 397
S UMMARY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403
APPENDICES
A. ANSI V ALUES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 407
B. H OW T O . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 409
C. V ISUAL B ASIC S TATEMENTS , F UNCTIONS , M ETHODS , P ROPERTIES , E VENTS ,
D ATA T YPES , AND O PERATORS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423
D. V ISUAL B ASIC D EBUGGING T OOLS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 457
INDEX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 465
v
 
Zgłoś jeśli naruszono regulamin