SlideShare una empresa de Scribd logo
1 de 127
Descargar para leer sin conexión
APRENDA VISUAL BASIC
PRACTICANDO
APRENDA VISUAL BASIC
PRACTICANDO
José Felipe Ramírez Ramírez
Master en Informática Administrativa,
Catedrático de la Facultad de Contaduría Pública y Administración,
Universidad Autónoma de Nuevo León, México
Revisión técnica:
Lic. José Luis Ramos
Coordinador de la Carrera de Informática Administrativa, Facultad de Contaduría
Pública y Administración, Universidad Autónoma de Nuevo León, México
Pearson
Educación
MÉXICO • ARGENTINA • BRASIL • COLOMBIA • COSTA RICA • CHILE
ESPAÑA • GUATEMALA • PERÚ • PUERTO RICO • VENEZUELA
/ Datos de catalogación bibliográfica
RAMÍREZ RAMÍREZ, JOSÉ
FELIPE Aprenda Visual Basic
practicando
PEARSON EDUCACIÓN. México, 2001
ISBN: 970-26-0285-8
Área: Universitarios
Formato: 18.5x23.5cm Páginas: 848
Editor: José Luis Vázquez Chavarría
e-mail: luis.vazquez@pearsoned.com
Editor de desarrollo: Amonio Nuñez Ramos
Supervisor de producción: José D. Hernández
Garduño
Diseño de portada: Iliana H. González Villafán
PRIMERA EDICIÓN. 2001
D-R, © 2001 por Pearson Educación de
México, S.A. de C.V. Calle 4 No, 25-
2do. Piso
Fracc. Industrial Alce Blanco 53370 Naucalpan de
Juárez, Edo. de México E-mail:
editorial.universidades@pearsoned.com
Cámara Nacional de la Industria Editorial Mexicana. Registro No. 1031
Reservados todos los derechos. Ni la totalidad ni parte de esta publicación pueden
reproducirse, registrarse o transmitirse, por un sistema de recuperación de
información, en ninguna forma ni por ningún medio, sea electrónico, mecánico.
fotoquímico, magnético o electro óptico, por fotocopia, grabación o cualquier otro.
sin permiso previo por escrito del editor.
El préstamo, alquiler o cualquier otra forma de cesión de uso de este ejemplar
requerirá también la autorización del editor o de sus representantes.
ISBN: 970-26-0285-8
Impreso en México- Primea in México
1234567890-03 02 01
Pearson
Educación
A Adriana, mi esposa,
porque ama mis propiedades,
hace mejores todos mis eventos
y motiva todos mis métodos.
CONTENIDO
____________________________________________________________________
Contenido ..........................................................................................................................................vi
índice de prácticas .............................................................................................................................xv
Lo inesperado ....................................................................................................................................xx
Prólogo ..............................................................................................................................................xxii
Forma y contenido del libro .............................................................................................................xxiii
Agradecimientos...............................................................................................................................xxvii
Parte 1: Entorno Integrado de Desarrollo
Capítulo 1: Visual Basic como plataforma de desarrollo ................................................. 3
Objeto de la programación ...................................................................................................................... 4
Visual Basic: más que un lenguaje de programación ............................................................................. 5
Entorno Integrado de Desarrollo ............................................................................................................ 6
Ediciones de Visual Basic ........................................................................................................................ 8
Elementos del IDE .................................................................................................................................. 9
La barra de menús ................................................................................................................................... 12
La barra de herramientas ......................................................................................................................... 12
Formulario (Form) .................................................................................................................................. 13
Modos de trabajo con formularios: SD1 y MDI ..................................................................................... 13
Tecnología orientada a objetos y Visual Basic ....................................................................................... 16
Controles ................................................................................................................................................. 18
Clase ........................................................................................................................................................ 18
Objetos .................................................................................................................................................... 18
Cuadro de herramientas .......................................................................................................................... 19
Propiedades ............................................................................................................................................. 23
Métodos .................................................................................................................................................. 24
Ejemplificación de objeto - propiedad - método .................................................................................... 24
Explorador de proyectos ......................................................................................................................... 25
Tiempos de desarrollo de Visual Basic ................................................................................................... 27
Ventana Propiedades ............................................................................................................................... 28
Ventana Posición del formulario .............................................................................................................31
Pasos para crear una aplicación en Visual Basic .....................................................................................32
Resumen................................................................................................................................................... 33
Algunas respuestas a los ejercicios ........................................................................................................ 34
Capitulo 2: Creación de la interfaz de usuario ............................................................... 35
El punto de partida: ¿Qué desea hacer? .................................................................................................. 36
Paso 1: Crear la interfaz de usuario ....................................................................................................37
Contenido vii
Inserción de objetos............................................................................................................................... 37
Propiedades de posición y dimensión .................................................................................................. 41
Organización de los objetos en el formulario ...................................................................................... 48
Cómo establecer las aplicaciones para diferentes resoluciones de monitores ..................................... 52
Resumen ....................................................................................................................................................... 55
Algunas respuestas a los ejercicios ..................................................................................................... 56
Capítulo 3: Cómo establecer las propiedades de los objetos .............................................. 57
Consideraciones de diseño en Visual Basic .......................................................................................... 58
Paso 2: Establecer las propiedades de los objetos ....................................................................................... 59
Validar que ya se tienen lodos los objetos que se requieren en el formulario..................................... 59
Cómo asignar el nombre adecuado a cada uno de los objetos .......................................................... 62
Cómo establecer las propiedades de apariencia y comportamiento .................................................. 67
Tablas de objetos y propiedades ........................................................................................................ 73
Resumen ..................................................................................................................................................... 74
Capítulo 4: Escritura del código de los eventos ................................................................... 75
Paso 3: Escribir el código de los eventos .................................................................................................... 76
El editor de código de Visual Basic ............................................................................................................ 76
Elementos de la ventana Código .......................................................................................................... 79
Caracteres especiales ............................................................................................................................ 81
Asistencia en la edición de código ....................................................................................................... 84
El evento predeterminado de los objetos............................................................................................... .84
Convenciones para la codificación ....................................................................................................... .94
Especificaciones de codificación ........................................................................................................... 96
¿Qué hacer con los procedimientos de evento sin código? .................................................................... .97
Resumen ...................................................................................................................................................... 98
Algunas respuestas a los ejercicios ..................................................................................................... 98
Capítulo 5: Cómo guardar y ejecutar aplicaciones ............................................................. 101
¿Cómo se almacena su trabajo en Visual Basic? ......................................................................................... 102
Cómo guardar aplicaciones .......................................................................................................................... 103
Recomendaciones para nombrar archivos en Visual Basic ....................................................................107
Cómo ejecutar su aplicación .........................................................................................................................108
Depuración y control del programa...............................................................................................................114
Indicadores de margen .............................................................................................................................115
La ventana Código al depurar una aplicación ..........................................................................................117
Ejecución paso a paso ..............................................................................................................................118
Puntos de interrupción .............................................................................................................................119
Cómo generar un archivo ejecutable (EXE) .................................................................................................120
Forma esquemática de presentación de aplicaciones ................................................................................... 123
Resumen ...................................................................................................................................................... 127
Algunas respuestas a los ejercicios .......................................................................................................... 128
Parte 2: Elementos de programación
Capítulo 6: Variables y tipos de datos ...................................................................................................... 131
MsgBox ..................................................................................................................................................132
Constantes de Visual Basic .................................................................................................................... 135
viii Contenido
InputBox .................................................................................................................................................... 139
Declaración de variables ................................................................................................................................ 142
Tipos de datos ................................................................................................................................................ 143
DIM: declaración de variables de memoria ................................................................................................... 145
Alcance .......................................................................................................................................................... 147
Nombre .......................................................................................................................................................... 148
Constantes ...................................................................................................................................................... 150
Matrices .......................................................................................................................................................... 150
Funciones de límite de posiciones .................................................................................................................. 153
Option Explicit ......................................................................................................................................... 155
Conversión de datos ........................................................................................................................................ 158
La función Format ........................................................................................................................................ 161
Resumen ......................................................................................................................................................... 166
Algunas respuestas a los ejercicios ....................................................................................................... 166
Capítulo 7: Operadores y estructuras de control ...................................................................... 169
Operadores aritméticos .................................................................................................................................... 170
Operadores comparativos ................................................................................................................................ 172
Código ASCII ......................................................................................................................................... 173
Operadores lógicos .......................................................................................................................................... 174
Prioridad entre operadores ............................................................................................................................... 177
Instrucción If (condicional) ........................................................................................................................... 178
Select Case ................................................................................................................................................ 184
For Next ....................................................................................................................................................... 186
Do Loop .......................................................................................................................................................... 189
Resumen .......................................................................................................................................................... 191
Algunas respuestas a los ejercicios ...................................................................................................... 191
Capítulo 8: Funciones de manipulación de datos ......................................................................193
Qué son las funciones .......................................................................................................................................194
Funciones de fecha y hora ................................................................................................................................195
Funciones de manipulación de cadenas (string) .........................................................................................202
Funciones numéricas ........................................................................................................................................210
Funciones de decisión ...................................................................................................................................... 213
Funciones de uso específico .............................................................................................................................216
Funciones financieras ................................................................................................................................216
Funciones trigonométricas ........................................................................................................................ 217
Resumen ...........................................................................................................................................................218
Capítulo 9: Procedimientos y funciones definidas por el usuario .......................................... 219
Procedimientos .................................................................................................................................................220
Ejecución de procedimientos ............................................................................................................... 221
Cómo agregar procedimientos en Visual Basic ................................................................................... 222
Procedimientos que no utilizan argumentos y no devuelven valores ................................................. 224
Procedimientos que no utilizan argumentos y sí devuelven valores .................................................. 225
Procedimientos que utilizan argumentos ........................................................................................... 227
Especificación de argumentos opcionales ......................................................................................... 229
Valores predeterminados para argumentos opcionales ...................................................................... 232
Funciones con número incierto de argumentos ................................................................................ 233
Resumen ......................................................................................................................................................... 237
Contenido jx
Parte 3: Controles gráficos y programación orientada a eventos
Capítulo 10: Controles básicos para la introducción de datos ................................................................ 241
Controles básicos para el acceso de datos ..................................................................................................... 242
Label....................................................................................................................................................... 242
TextBox.................................................................................................................................................. 243
CommandButton...................................................................................................................... 244
Enfoque ......................................................................................................................................................... 249
La tecla presionada: evento KeyPress .................................................................................................. 259
Resumen ........................................................................................................................................................ 262
Capítulo 11: Programación orientada a eventos ........................................................................................ 263
Eventos y su clasificación ............................................................................................................................... 264
Argumentos implícitos ............................................................................................................................. 266
Resumen de las categorías de eventos, consideradas de uso general .............................................................. 266
TipoClic .................................................................................................................................................. 267
Tipo Cambios ......................................................................................................................................... 268
Tipo Enfoque .......................................................................................................................................... 270
Tipo Ratón .............................................................................................................................................. 284
Prioridad de los eventos .................................................................................................................................. 294
Resumen .......................................................................................................................................................... 303
Capítulo 12: Controles contenedores y controles de selección .................................................................. 305
Objetos contenedores ...................................................................................................................................... 306
Frame ............................................................................................................................................................. 306
CheckBox ...................................................................................................................................................... 312
Matriz de controles .......................................................................................................................................... 316
Colores en Visual Basic utilizando RGB y QBColor .................................................................................... 323
RGB ........................................................................................................................................................... 323
QBColor ............................................................................................................................................... 324
OptionButton ............................................................................................................................................ 325
HscrollBary y ScrollBar ..................................................................................................................... 330
Resumen ...........................................................................................................................................................337
Capítulo 13: Controles de listas desplegables ..............................................................................................339
Concepto de colección ..................................................................................................................................... 340
Listas desplegables: ListBox y ComboBox ................................................................................................ 342
Cómo agregar y eliminar opciones de las listas desplegables ......................................................................... 343
Método Additem ..................................................................................................................................... 343
Propiedad ListCount ............................................................................................................................ 344
Propiedad List ........................................................................................................................................ 345
Propiedades Selected y Listindex ................................................................................................. 346
Método Removeltem .............................................................................................................................. 347
Método Clear .......................................................................................................................................... 348
Resumen ...........................................................................................................................................................368
Capítulo 14: Editor de menús y manejo del Portapapeles ......................................................................... 371
El Editor de menús .......................................................................................................................................... 372
Cómo invocar el Editor de menús .......................................................................................................... 373
x Contenido
Manejo del Portapapeles ............................................................................................................................... 385
Len: longitud del texto .......................................................................................................................... 386
Propiedades del objeto fuente: SelStart, SelLength y SelText .............................................. 386
Métodos del objeto Clipboard: Clear, SetText y GetText .......................................................... 387
Resumen ........................................................................................................................................................ 393
Capítulo 15: Manejo de imágenes .............................................................................................................. 395
Controles básicos para mostrar imágenes ....................................................................................................... 396
Image .............................................................................................................................................................. 396
LoadPicture ......................................................................................................................................... 396
PictureBox ................................................................................................................................................. 400
Adición de componentes al proyecto .............................................................................................................. 405
Almacenamiento de imágenes ......................................................................................................................... 409
ImageList ( Microsoft Windows Common Controls 6.0) ...................................................................... 410
Resumen .......................................................................................................................................................... 419
Algunas respuestas a los ejercicios ............................................................................................................. 419
Capítulo 16; Arrastrar y colocar ................................................................................................................. 421
Arrastrar y colocar .......................................................................................................................................... 422
Estados de transición y punteros predefinidos ................................................................................................ 432
Punteros predefinidos del entorno de Windows ..................................................................................... 433
Manejo en modo manual de arrastrar y colocar .............................................................................................. 435
Resumen .......................................................................................................................................................... 441
Capítulo 17: Control del tiempo .................................................................................................................. 443
Control básico para controlar el tiempo .......................................................................................................... 444
Timer ...................................................................................................................................................... 444
Resumen .......................................................................................................................................................... 449
Capítulo 18: Manejo del sistema de archivos ............................................................................................. 451
El sistema de archivos ..................................................................................................................................... 452
Controles básicos para el manejo del sistema de archivos .............................................................................. 452
DriveListBox ............................................................................................................................................ 452
DirListBox ................................................................................................................................................. 453
FileListBox .............................................................................................................................................. 453
Manejo del objeto FileSystem ................................................................................................................... 461
Manipulación de subdirectorios ...................................................................................................................461
Manipulación de archivos ............................................................................................................................ 468
Resumen ...........................................................................................................................................................474
Capítulo 19: Cuadros de diálogo comunes ...................................................................................................477
Cuadros de diálogo comunes ............................................................................................................................478
CommonDialog ( Microsoft Common Dialog Control 6.0) .....................................................................478
Indicadores ...................................................................................................................................................480
Manejo de errores .........................................................................................................................................481
Cuadro de diálogo Color .............................................................................................................................482
Cuadro de diálogo Fuente ............................................................................................................................ 485
Cuadro de diálogo Imprimir ........................................................................................................................ 491
Cuadro de diálogo Abrir/Guardar como ...................................................................................................... 497
Resumen .......................................................................................................................................................... 504
Contenido xi
Capítulo 20: Cómo trabajar en una interfaz de múltiples documentos ............................................... 505
Fundamentos del entorno MDI .................................................................................................................. 506
Limitaciones que implica el uso de un formulario MDI ....................................................................... 508
Cómo preparar su aplicación para compilación y distribución ................................................................... 511
Resumen ...................................................................................................................................................... 512
Capítulo 21: Controles ActiveX para mejorar la interfaz ..................................................................... 513
Controles comunes de Windows ................................................................................................................. 514
ProgressBar ( Microsoft Windows Common Controls 6.0) ....................................................... 514
TreeView ( Microsoft Windows Common Controls 6.0) ............................................................. 518
Cómo agregar opciones a un sistema TreeView ............................................................................... 519
StatusBar ( Microsoft Windows Common Controls 6.0) ............................................................ 526
Cómo agregar opciones a un objeto basado en StatusBar .............................................................. 526
ToolBar ( Microsoft Windows Common Controls 6.0) ................................................................. 529
Cómo agregar opciones a un objeto basado en StatusBar .............................................................. 530
Resumen ...................................................................................................................................................... 537
Parte 4: Archivos y bases de datos
Capítulo 22: Bases de datos y DAO ......................................................................................................... 541
Conceptos de bases de datos ....................................................................................................................... 542
Base de datos, tabla, registro y campo ................................................................................................... 542
Clave primaria ........................................................................................................................................ 543
Clave externa y relaciones ...................................................................................................................... 544
Integridad referencial .............................................................................................................................. 545
Índices ..................................................................................................................................................... 545
El motor de base de datos Microsoft Jet ...................................................................................................... 550
La interfaz de usuario y el código de aplicaciones ................................................................................ 550
El motor de base de datos ....................................................................................................................... 551
El almacén de datos ................................................................................................................................ 551
DAO ............................................................................................................................................................. 551
Clases, objetos y colecciones ................................................................................................................. 554
Divisiones de la programación de bases de datos .................................................................................. 555
Lenguaje de Definición de Datos ........................................................................................................... 555
Lenguaje de Manipulación de Datos ...................................................................................................... 556
Resumen ...................................................................................................................................................... 556
Algunas respuestas a los ejercicios ........................................................................................................ 556
Capítulo 23: Lenguaje de Definición de Datos y DAO ........................................................................... 559
Lenguaje de Definición de Datos ................................................................................................................. 560
Tipos de objetos en DAO ........................................................................................................................ 561
Sintaxis para el uso de colecciones ........................................................................................................ 562
Variables objeto ...................................................................................................................................... 563
Espacio de trabajo e integración de la base de datos .............................................................................. 570
Métodos Create ................................................................................................................................... 570
Bloque With... End With ................................................................................................................ 573
Elementos requeridos para agregar objetos ............................................................................................ 576
xii Contenido
Cómo trabajar con las colecciones de DAO ................................................................................................... 587
Resumen .......................................................................................................................................................... 594
Algunas respuestas a los ejercicios ........................................................................................................ 595
Capítulo 24: Lenguaje de Manipulación de Datos y DAO ........................................................................ 597
Lenguaje de Manipulación de Datos .............................................................................................................. 598
Validaciones a nivel tabla ....................................................................................................................... 599
Validaciones a nivel base de datos .......................................................................................................... 599
Operaciones básicas de manipulación de bases de datos ............................................................................... 600
Tareas de apertura de base de datos ................................................................................................................ 601
OpenDatabase ....................................................................................................................... 601
OpenRecordset ..................................................................................................................... 602
Tipos de Recordset ............................................................................................................... 603
Close ...................................................................................................................................... 605
Tareas de escritura de datos (partel) ................................................................................................................ 605
AddNew y actualización al almacén de datos .......................................................................................... 606
Tareas de búsqueda de datos (parte 1) ............................................................................................................. 609
Seek ........................................................................................................................................................ 609
Propiedad Index ..................................................................................................................................... 609
Propiedad NoMatch ................................................................................................................................ 610
Tareas de escritura de datos (parte 2) .............................................................................................................. 610
Edit ........................................................................................................................................................ 611
Update ....................................................................................................................................................611
Delete ....................................................................................................................................................612
Técnica RAR ................................................................................................................................................... 613
Tareas de movimiento entre datos ................................................................................................................... 622
Tareas de búsqueda de datos (parte 2) ............................................................................................................. 627
Condición ...................................................................................................................................................628
Métodos Find ...........................................................................................................................................629
Resumen ...........................................................................................................................................................636
Capítulo 25: Controles Data y FlexGrid ................................................................................................ 639
Control Data .................................................................................................................................................... 640
Objetos vinculados a campos de base de datos ........................................................................................ 641
FlexGrid ...................................................................................................................................................... 646
Consideraciones de incompatibilidad entre Access 97 y Access 2000 ........................................................... 649
Resumen .......................................................................................................................................................... 655
Capítulo 26: Bases de datos multiusuario usando DAO ........................................................................... 657
La necesidad de capacidades multiusuario ..................................................................................................... 658
Cómo abrir la base de datos en modo compartido ................................................................................... 658
Cómo abrir los Recordsets en modo compartido .............................................................................. 659
Problemas al escribir y concepto de bloqueo ........................................................................................... 660
Bloqueo pesimista y optimista ....................................................................................................................... 662
Bloqueo pesimista .................................................................................................................................... 662
Bloqueo optimista .................................................................................................................................... 663
Aclaración del "bloqueo de registros" ..................................................................................................... 664
Manejo de errores para el modo multiusuario ................................................................................................ 665
On Error ............................................................................................................................... 665
Etiquetas ................................................................................................................................. 665
GoTo ........................................................................................................................................ 665
Contenido xiii
Resume ............................................................................................................................................... 666
Err y Error ....................................................................................................................................... 666
Exit Sub ............................................................................................................................................. 666
Resumen ....................................................................................................................................... 672
Capítulo 27: Archivos planos para transferencia de datos ...................................................... 675
Los archivos planos siguen vigentes ............................................................................................................... 676
Creación y lectura de archivos planos ............................................................................................................. 677
Open ........................................................................................................................................................ 678
FreeFile ............................................................................................................................................... 678
Tipos de datos definidos por el usuario .................................................................................................... 679
Cómo escribir en un archivo ..................................................................................................................... 679
Input ...................................................................................................................................................... 684
Resumen .......................................................................................................................................................... 688
Capítulo 28: Manejo de bases de datos corporativas usando ADO ........................................ 689
Bases de datos más allá de la computadora personal ...................................................................................... 690
Objeto de Datos ActiveX .......................................................................................................................... 690
Pubs: La base de datos de ejemplo ............................................................................................................ 692
Ejecución front - end a través de ADO ..................................................................................................... 693
Conexión a una base de datos corporativa mediante ADO ...................................................................... 694
Peticiones al servidor de bases de datos utilizando ADO ........................................................................ 701
DataGr-id ( Microsoft DataGrid Control OLEDB) ................................................................................... 704
SQL............................................................................................................................................................... 709
DML usando ADO ........................................................................................................................................ 720
ADO a través de ODBC ................................................................................................................................ 732
Conexión a través de DSN almacenado en el Registro ........................................................................... 733
Conexión a través de DSN almacenado en archivo DSN ....................................................................... 733
MDAC y problemas comunes en el enlace ................................................................................................... 735
Resumen ........................................................................................................................................................ 736
Capítulo 29: Data Environment ................................................................................................. 737
Organización de enlaces a datos utilizando el Data Environment ................................................................ 738
Estructura jerárquica del Data Environment .......................................................................................... 739
Resumen ....................................................................................................................................................... 749
Capítulo 30: Data Report ........................................................................................................... 751
Informes a través del Data Report ................................................................................................................ 752
Cómo agregar un Data Report a un proyecto .......................................................................................... 752
Objetos del Data Report .......................................................................................................................... 753
Secciones del Data Report ....................................................................................................................... 753
Controles del Data Report ...................................................................................................................... 754
Desarrollo de un informe .............................................................................................................................. 755
¿Qué queremos? La imagen visual del informe ...................................................................................... 755
Cómo agregar campos del Data Environment al Data Report ................................................................ 760
Cómo agregar objetos al Data Report ..................................................................................................... 762
Informes con grupos de datos ........................................................................................................................ 769
Data Environment para informes con grupos .......................................................................................... 771
Cómo se organizan las secciones ............................................................................................................. 776
Campos calculados y objetos rptFunction ........................................................................................ 783
Resumen ......................................................................................................................................................... 787
xiv Contenido
Parte 5: Apéndices
Apéndice I: Convenciones ......................................................................................................................... 791
Prefijos para los controles ............................................................................................................................ 791
Prefijos sugeridos para DAO .................................................................................................................. 794
Prefijos sugeridos para menús ................................................................................................................ 795
Selección de prefijos para otros controles .............................................................................................. 795
Convenciones de nombres de constantes y variables ................................................................................... 795
Prefijos de alcance de variables .............................................................................................................. 796
Constantes ............................................................................................................................................... 797
Variables .................................................................................................................................................. 797
Tipos de datos de variables ..................................................................................................................... 798
Nombres descriptivos de variables y procedimientos ............................................................................ 798
Tipos definidos por el usuario ................................................................................................................ 799
Convenciones de codificación estructurada ................................................................................................. 799
Convenciones de comentarios al código ................................................................................................ 799
Cómo formatear el código ...................................................................................................................... 801
Agrupación de constantes ....................................................................................................................... 801
Operadores & y + .................................................................................................................................... 802
Creación de cadenas para MsgBox, InputBox y consultas SQL ........................................................ 802
Apéndice II: Service Pack 5.0 de Visual Studio 6.0 ................................................................................... 803
Necesidad del Service Pack ............................................................................................................................ 803
Consideraciones de instalación ................................................................................................................. 805
Actualizaciones de productos relativos a Visual Basic ................................................................................... 807
Microsoft® Agent 2.0 ............................................................................................................................... 807
Visual Studio Installer ............................................................................................................................... 807
Problemas con los controles, resueltos con SP5 .............................................................................................. 807
Artículos de Microsoft Knowledge Base sobre los errores solucionados ........................................................812
Índice ................................................................................................................................................................813
ÍNDICE DE PRÁCTICAS
_________________________________________________________________________
Parte 1: Entorno Integrado de Desarrollo
Capitulo 1: Visual Basic como plataforma de desarrollo
01.01 Cómo iniciar sesión en Visual Basic...................................................................................... 6
01.02 Cómo cerrar una sesión en Visual Basic................................................................................ 8
01.03 Cómo activar los elementos del IDE ................................................................................... 11
01.04 Cómo establecer el entorno de desarrollo a SDI ................................................................. 14
01.05 Ubicación de los controles ................................................................................................... 22
01.06 Cómo ocultar y mostrar formularios..................................................................................... 26
01.07 Uso de la ventana Propiedades ............................................................................................. 30
Capitulo 2: Creación de la interfaz de usuario
02.01 Cómo insertar un objeto en la interfaz.................................................................................. 38
02.02 Cómo cambiar la posición o las dimensiones de un objeto................................................... 43
02.03 Cómo seleccionar un formulario... ....................................................................................... 45
02.04 Corno cambiar el tamaño de un formulario. ......................................................................... 45
02.05 Cómo guardar su trabajo....................................................................................................... 46
02.06 Cómo agregar objetos en modo de trazo .............................................................................. 47
02.07 Selección de objeto activo. en forma individual o en modo de grupo ................................. 49
02.08 Cómo determinar la posición de un formulario en la pantalla ............................................. 51
02.09 Cómo establecer las Guías de resolución ............................................................................. 53
02.10 Cómo utilizar las herramientas del menú Formato para organizar objetos...................................... 54
Capítulo 3: Cómo establecer las propiedades de los objetos
03.01 Cómo validar la cantidad y el tipo de objetos requeridos en una aplicación......................... 60
03.02 Cómo modificar la propiedad Ñame de los objetos............................................................... 66
03.03 Cómo modificar las propiedades de apariencia y comportamiento....................................... 68
Capítulo 4: Escritura del código de los eventos
04.01 Cómo abrir la ventana Código............................................................................................... 81
04.02 Cómo manejar los componentes de la ventana Código ........................................................ 82
04.03 Manejo de colores y autoformato al editar código................................................................. 85
04.04 Compilación y detección de errores en modo de edición...................................................... 86
04.05 Sugerencia de propiedades y métodos en modo de edición................................................... 87
04.06 Uso de los cuadros Objeto y Evento para la selección y codificación de un procedimiento
de evento determinado .......................................................................................................... 90
04.07 Uso del carácter de .subrayado y la ayuda contextual en modo de edición........................... 92
Capítulo 5: Cómo guardar y ejecutar aplicaciones
05.01 Archivos de trabajo en Visual Basic ................................................................................. 104
05.02 Cómo abrir un proyecto previamente guardado................................................................. 107
05.03 Cómo ejecutar e interrumpir su programa.......................................................................... 110
05.04 Cómo seleccionar el proyecto inicial.............. ................................................................... 111
xv
xvi índice de prácticas
05.05 Cómo seleccionar el objeto de inicio en un proyecto..........................................................................113
05.06 Despliegue de errores en tiempo de ejecución ...................................................................................116
05.07 Cómo corregir código en modo de interrupción................................................................................. 118
05.08 Cómo ejecutar un programa línea por línea................................................. ...................................... 119
05.09 Cómo agregar y eliminar un punto de interrupción............................................................................ 120
05.10 Cómo compilar un proyecto para generar un ejecutable en Visual Basic.......................................... 121
Parte 2: Elementos de programación
Capítulo 6: Variables y tipos de datos
06.01 MsgBox: creación de cuadros de información y confirmación de manera rápida..............................133
06.02 Uso de constantes de Visual Basic......................................................................................................138
06.03 InputBox: acceso rápido de datos ...................................................................................................140
06.04 Determinación del nombre. tipo de datos y alcance indicado para las variables de memoria.............148
06.05 Uso de matrices y determinación de límites mínimos y máximos del intervalo de subíndices...........154
06.06 Declaración automática de variables en Visual Basic..........................................................................155
06.07 Uso de Option Explicit (requerir la declaración de variables de manera explícita)...................156
06.08 Cómo establecer Option Explicit de manera automática para todos los formularios nuevos....157
06.09 Uso de funciones de conversión........................................................................ .................................160
06.10 Uso de la función Format ................................................................................................................163
06.11 Uso de la función Format. en formatos definidos por el usuario..................................................... 165
Capítulo 7: Operadores y estructuras de control
07.01 Uso de los operadores aritméticos .......................................................................................................171
07.02 Cómo se resuelven las condiciones que incluyen operadores de comparación....................................174
07.03 Cómo especificar la preferencia al resolver condiciones. mediante el uso de paréntesis ....................177
07.04 Uso de For Next ................................................................................................................ ...............187
07.05 Uso de Exit For ................................................................................................................................188
07.06 Uso de Do Loop .................................................................... .............................................................190
Capítulo 8: Funciones de manipulación de datos
08.01 Uso de funciones de fecha y hora...................................................... .................................................201
08.02 Uso de funciones de manipulación de cadenas................................................................................... 209
08.03 Uso de funciones numéricas y de decisión..........................................................................................214
Capítulo 9: Procedimientos y funciones definidas por el usuario
09.01 Creación de un procedimiento ............................................................................................................224
09.02 Creación de un procedimiento que no utilice argumentos y devuelva valores................................... 226
09.03 Creación de un procedimiento que utilice argumentos y devuelva valores........................................ 228
09.04 Creación de un procedimiento que utilice argumentos opcionales y devuelva valores ..................... 231
09.05 Creación de un procedimiento que utilice argumentos opcionales con valor predeterminado
y devuelva valores................................................................................................................ 233
09.06 Creación de un procedimiento que utilice un número de argumentos incierto.................................. 236
Parte 3: Controles gráficos y programación orientada a eventos
Capítulo 10: Controles básicos para la introducción de datos
10.01 Uso de objetos basados en los controles Label. TextBox y CommandButton......................... 245
Índice de prácticas xvii
10.02 Uso de botones predefinidos de aceptación y cancelación y cuadros de texto multilíneas,
de capacidad limitada.......................................................................................................................................... 251
10.03 Uso de caracteres para escritura oculta y validación inmediata de caracteres, asegurando
la captura de caracteres en mayúscula. Habilitar e inhabilitar botones............................................................... 256
Capítulo 11: Programación orientada a eventos
11.01 Demostración de algunos de los eventos de tipo Clic, Cambios y Enfoque.............................................. 271
11.02 Demostración de algunos de los eventos de tipo Teclado .........................................................................279
11.03 Demostración de algunos de los eventos de tipo Ratón ............................................................................ 285
11.04 Cómo darle riqueza visual a un programa, mediante el evento MouseMove........................................... 287
11.05 Elaboración de un programa que le permita visualizar la prioridad en la ejecución
de los eventos................................................................................................................................................. 295
11.06 Demostración de la precedencia del evento MouseMove sobre el evento Click.................................. 301
Capítulo 12: Controles contenedores y controles de selección
12.01 Cómo utilizar un objeto contenedor para darle funcionalidad a una aplicación ................................... 307
12.02 Uso de un control CheckBox para seleccionar varias características de manera simultánea ............. 312
12.03 Uso de una matriz de controles y su uso a través de For Next y For Each .................................... 319
12.04 Uso de funciones RGB y QBGolor para la manipulación de colores................................................... 325
12.05 Uso de objetos tipo OptionButton y Shape, y de una matriz de controles ................................... 326
12.06 Uso de barras de desplazamiento y números aleatorios ........................................................................ 332
Capítulo 13: Controles de listas desplegables
13.01 Utilización de un objeto ListBox, agregándole y eliminándole elementos
de forma dinámica............................................................................................................................................. 349
13.02 Uso de objetos ListBox de selección múltiple, que pasan elementos de una lista a otra.................... 354
13.03 Uso de un objeto ListBox con estilo CheckBox................................................................................ 358
13.04 Uso de los objetos ComboBox y ListBox para crear un explorador de fuentes.................................. 361
13.05 Uso de un objeto ComboBox sensible a la escritura............................................................................... 365
Capítulo 14: Editor de menús y manejo del Portapapeles
14.01 Cómo se agrega un objeto de tipo menú.................................................................................................. 375
14.02 Cómo introducir código a una opción de menú y utilizar un menú......................................................... 380
14.03 Activación dinámica de opciones............................................................................................................. 381
14.04 Modificación del tipo de letra utilizando el menú.................................................................................... 383
14.05 Opciones de menú mutuamente excluyentes............................................................................................ 384
14.06 Cómo se maneja el Portapapeles en Visual Basic..................................................................................... 387
Capítulo 15: Manejo de imágenes
15.01 Uso de objetos basados en el control Image y carga de imágenes con LoadPicture....................... 398
15.02 Uso de objetos basados en el control PictureBox y modificación dinámica de imágenes ................ 401
15.03 Cómo agregar componentes a un proyecto de Visual Basic .................................................................... 406
15.04 Almacenamiento de imágenes en un objeto ImageList ...................................................................... 410
15.05 Uso de una colección de imágenes ImageList .................................................................................... 416
Capítulo 16: Arrastrar y colocar
16.01 Programa que comprueba las operaciones de arrastrar y colocar.............................................................. 423
16.02 Programa que comprueba las operaciones de arrastrar y colocar cuando el objeto de destino
no es de tipo Form......................................................................................................................................... 426
xviii índice de prácticas
16.03 Programa que comprueba las operaciones de arrastrar y colocar, y que utiliza un objeto
de destino que no es de tipo Form .........................................................................................................428
16.04 Programa que comprueba los estados de las operaciones de arrastrar y colocar, así como
los punteros predefinidos del entorno de Windows ............................................................................... 434
16.05 Programa que comprueba las operaciones de arrastrar y colocar utilizando el modo manual ...........436
Capítulo 17: Control del tiempo
17.01 Uso del control Timer como valor absoluto. Un reloj.......................................................................444
17.02 Uso del control Timer como valor relativo. Cuenta regresiva en captura.........................................446
Capítulo 18: Manejo del sistema de archivos
18.01 Uso de los controles básicos para el manejo del sistema de archivos.................................................454
18.02 Uso del objeto FileSystem para manipulación de directorios.......................................................463
18.03 Uso del objeto FileSystem para manipulación de archivos...........................................................469
Capítulo 19: Cuadros de diálogo comunes
19.01 Cómo agregar el control CommonDialog al Cuadro de herramientas.............................................479
19.02 Uso del control CommonDialog para manipular el color en el formato estándar
de Windows...................................................................................................................................................482
19.03 Uso del control CommonDialog para manipular las fuentes (tipos de letra) en el formato
estándar de Windows.................................................................................................................................... 488
19.04 Uso del control CommonDialog para manipular las especificaciones de impresora
en el formato estándar de Windows.............................................................................................................. 493
19.05 Uso del control CommonDialog para manejar el cuadro de diálogo Abrir/ Guardar como,
en el formato estándar de Windows ............................................................................................................. 501
Capítulo 20: Cómo trabajar en una interfaz de múltiples documentos
20.01 Cómo agregar un formulario maestro para trabajo en MDI y los formularios hijos.......................... 506
20.02 Cómo trabajar con varios formularios ............................................................................................... 509
Capítulo 21: Controles ActiveX para mejorar la interfaz
21.01 Uso de objetos basados en el control ProgressBar ..................................................................... 515
21.02 Uso de TreeView ............................................................................................................................ 521
21.03 Uso de StatusBar y ToolBar ..................................................................................................... 532
Parte 4: Archivos y bases de datos
Capítulo 22: Bases de datos y DAO
22.01 Análisis de un modelo relacional de bases de datos.
22.02 Identificación de elementos del modelo de datos ......
Capítulo 23: Lenguaje de Definición de Datos y DAO
23.01 Habilitación de DAO.......................................................................................................................... 564
23.02 DDL utilizando DAO: declaración de variables objeto...................................................................... 565
23.03 DDL utilizando DAO: creación del almacén de base de datos........................................................... 574
23.04 DDL utilizando DAO: creación de estructura de tablas y sus campos................................................579
23.05 DDL utilizando DAO: creación de índices .........................................................................................582
Índice de prácticas xix
23.06 DDL utilizando DAO: creación de relaciones.................................................................................. 584
23.07 Ingeniería inversa utilizando DAO: determinación del modelo de datos a partir
de un almacén de datos .......................................................................................................................... 589
Capítulo 24: Lenguaje de Manipulación de Datos y DAO
24.01 DML utilizando DAO: actualización de una tabla mediante la técnica RAR.....................................614
24.02 DML utilizando DAO: métodos de movimiento entre registros.........................................................623
24.03 DML utilizando DAO: búsqueda basada en criterios .........................................................................630
Capítulo 25: Controles Data y FlexGrid
25.01 Uso del control Data para agregar, eliminar, modificar y consultar registros...................................642
25.02 Uso del control Data para alimentar un FlexGrid ........................................................................647
25.03 SQLViewer: intérprete de SQL para DAO, usando los controles Data y FlexGrid.....................650
Capítulo 26: Bases de datos multiusuario usando DAO
26.01 Rutina de manejo de errores ...............................................................................................................666
26.02 Uso del DAO para aplicaciones multiusuario..................................................................................... 669
Capítulo 27: Archivos planos para transferencia de datos
27.01 Creación y escritura en archivos planos.............................................................................................. 680
27.02 Proceso para bajar datos de una base de datos a archivos planos ...................................................... 682
27.03 Cómo cargar datos a una base de datos desde un archivo.................................................................. 685
Capítulo 28: Manejo de bases de datos corporativas usando ADO
28.01 Conexión a bases de datos corporativas usando ADO........................................................................ 697
28.02 Visualización de bases de datos corporativas utilizando el control DataGrid y ADO....................705
28.03 Consultas SQL a bases de datos corporativas usando ADO............................................................... 713
28.04 DML utilizando ADO: actualización de una tabla mediante la técnica RAR.....................................722
Capítulo 29: Data Environment
29.01 Uso del Data Environment para manejar bases de datos corporativas ...............................................742
Capítulo 30: Data Report
30.01 Cómo definir un Data Environment para utilizarlo con el Data Report..............................................757
30.02 Cómo complementar con objetos rptTextBox la sección Detalle de un Data Report................... 761
30.03 Cómo complementar el Data Report con objetos rptLabel y rptLine. Asignación
de valores a objetos rptLabel ............................................................................................ 763
30.04 Cómo complementar el Data Report con objetos rptShape y rptimage................................... 767
30.05 Cómo definir un Data Environment para utilizarlo con el Data Report basado
en grupos de información........................................................................................................................ 772
30.06 Cómo definir un Data Report basado en grupos de información........................................................ 778
30.07 Cómo integrar a un informe datos consolidados, de la base de datos y de campos calculados...........785
LO INESPERADO
_________________________________________________________________________
Errores en tiempo de diseño
Apertura no solicitada de la ventana Código.................................................................................................... 43
Changed database context to "Database" ...................................................................................................... 735
¿Desea crear una matriz de controles?............................................................................................................... 65
Especificación de alcance de procedimiento no requerida................................................................................ 93
Formato regional de Windows afecta el valor devuelto de la función Format............................................... 165
Las secciones del informe no coinciden con el origen de datos ..................................................................... 786
No aparece la ventana Nuevo proyecto............................................................................................................... 7
No hay ninguna fuente .................................................................................................................................... 488
No se encontró campo <campo>.................................................................................................................... 786
No se encuentra Data Environment en el menú Proyecto ............................................................................... 743
No se puede colocar el control <control> en esta sección.............................................................................. 786
No se recuperan datos,..................................................................................................................................... 748
Errores de compilación (orden alfabético)
Bloque if sin end if .......................................................................................................................................... 180
Do sin Loop ..................................................................................................................................................... 190
El Character de declaración de tipo no coincide con el tipo de datos declarado.......................................... 147
El Character no es válido ............................................................................................................................... 147
El número de dimensiones es incorrecto ......................................................................................................... 153
End if sin bloque if .......................................................................................................................................... 180
End Select sin Select Case .............................................................................................................................. 185
For sin Next ..................................................................................................................................................... 188
Loop sin Do ..................................................................................................................................................... 191
Next sin For ..................................................................................................................................................... 189
No coinciden los tipos ..................................................................................................................................... 397
No se encontró el método o el dato miembro .................................................................................................. 248
No se encontró método o elemento de datos ................................................................................................... 114
No se ha definido el tipo definido por el usuario ........................................................................................... 570
No se ha encontrado el archivo ....................................................................................................................... 397
No se puede asignar a una matriz .................................................................................................................. 153
Origen de datos no válido............................................................................................................................... 786
Procedimiento Sub o Function no definido ..................................................................................................... 115
Referencia de variable de control Next no válida ........................................................................................... 189
Se esperaba ")", "(" ......................................................................................................................................... 228
Se esperaba el fin de la instrucción.................................................................................................................. 146
Se esperaba fin de la función ........................................................................................................................... 228
Select Case sin End Select .............................................................................................................................. 185
Uso no válido de una propiedad ......................................................................................................................248
XX
Lo inesperado xxi
Errores en tiempo de ejecución (orden consecutivo)
Algunos campos no regresan valores al ejecutar el informe........................................................................... 766
El tamaño del informe excede el tamaño de la página.................................................................................... 766
Error desconocido ADO................................................................................................................................. 734
No se encuentra el nombre del origen de datos (Administrador ODBC)....................................................... 734
Error 5: Llamada a procedimientos o argumentos no válidos ........................................................................ 368
Error 6: Desbordamiento................................................................................................................................. 146
Error 9: El subíndice está fuera del intervalo....................,............................................................................ 153
Error 13: No coinciden los tipos ...................................................................................................................... 228
Error 48: Error al cargar la biblioteca "archivo.ocx".................................................................................... 735
Error 53: No se ha encontrado el archivo....................................................................................................... 397
Error 68: El dispositivo no está disponible ..................................................................................................... 463
Error 75: Error de acceso a ruta o archivo ..................................................................................................... 463
Error 76: No se ha encontrado la ruta de archivo........................................................................................... 462
Error 91: Variable de tipo objeto o la variable de bloque With no está definida............................................ 730
Error 380: El valor de la propiedad no es válido ........................................................................................... 515
Error 424: Se requiere un objeto ............................................................................................................. 115, 247
Error 481: La imagen no es válida.................................................................................................................. 397
Error 3020: Update o CancelUpdate sinAddNew o Edit ................................................................................ 612
Error 3044: {Rutaj No es una ruta válida ...................................................................................................... 575
Error 3078: El motor de base de datos Jet no encuentra la tabla o query ..................................................... 603
Error 3204: Base de datos ya existe................................................................................................................. 575
Error 3264: No hay campos definidos - No se puede agregar el objeto TableDefo índex ............................. 576
Error 3265: Elemento no encontrado en esta colección ................................................................................ 608
Error 3368: Relaciones deben ser por el mismo número de campos del mismo tipo de datos ....................... 587
Error 3420: Objeto inválido o no permanece definido ................................................................................... 578
Error 3421: Error de conversión de tipo de datos .......................................................................................... 620
Error 35600 El índice está fuera de los límites .............................................................................................. 415
Error 35601 No se encontró el elemento ........................................................................................................ 415
Error-2147217843: Conexión inválida............................................................................................................ 707
Error -2147217843: Login failed.................................................................................................................... 707
Error -2147217843: Attempt to locate entry in sysdatabase.......................................,................................... 708
PRÓLOGO
_________________________________________________________________________
Aprenda Visual Basic practicando es un libro de propuesta.
Nace de una realidad evidente: la gente compra los libros de programación para aprender. En muchos casos
adquiere el conocimiento como resultado de la lectura y, sin embargo, está inconforme con el resultado y con sus
propias potencialidades. La consecuencia obligada, si su afán de aprender persiste o si las necesidades de trabajo
así lo demandan, es que termina tomando un curso.
Tal pareciera entonces que los cursos son más completos, más efectivos, lo que nos lleva a planteamos la pregunta
cuya respuesta mueve este libro: ¿qué tienen los cursos que no tengan los libros? La respuesta es simple: los
cursos tienen más acción, como dirían algunos; hay interacción, aciertos y errores, el hacer del participante es
diferente al hacer que corresponde al lector de un libro.
Conocer la teoría es importante, pero no suficiente; todo lo plasmado en un libro funciona bien, pero en la realidad
las cosas no siempre suceden de manera tan favorable en el trabajo diario. En la realidad aparecen situaciones
inexploradas por los libros, en donde más que conocer la teoría, se requiere haberla comprendido mediante la
vivencia práctica, para poder así ejercer el pensamiento lateral que nos lleve a resolver problemas ante los cuales
nunca nos habíamos enfrentado.
Éste es un libro práctico y creemos firmemente que la práctica hace al maestro. Cada capítulo tiene su objetivo
particular, no sólo explica algo, sino sirve para algo. Es un libro en el que se vale escribir, de hecho se
recomienda; está lleno de conceptos, cuestionarios, ejemplos, ejemplos y ejemplos. Es como leer un libro que
además le brinda los elementos para que trabaje como lo haría en un curso. Reúne lo mejor de los dos mundos.
Es excelente para el lector autodidacta, ya que le permite asimilar la información y practicar lo aprendido, así
como dar seguimiento a sus propios avances en el aprendizaje. Para los maestros e instructores de Visual Basic, es
un apoyo valioso como material de texto. Para el programador que ya ha tenido contacto con Visual Basic, es una
caja de trucos que le puede facilitar la tarea de desarrollar aplicaciones avanzadas o pulir las que haya
desarrollado. En términos generales, es útil para aquellos que no se dejan llevar por la engañosa creencia de que
programar se aprende leyendo; programar se aprende programando y punto.
Sólo esperamos una cosa: que practique, comprenda y aprenda Visual Basic.
José Felipe Ramírez Ramírez
Catedrático de la Universidad
Autónoma de Nuevo León
xxii
FORMA Y CONTENIDO DEl LIBRO
_________________________________________________________________________
La organización de este libro
Este libro está dividido en cinco partes:
• Entorno Integrado de Desarrollo. Trata de manera detallada los elementos y herramientas que
Visual Basic proporciona para soportar el desarrollo de aplicaciones para Windows 95, 98, 2000 y
NT. En esta parte se revisa el ciclo de desarrollo de aplicaciones de Visual Basic, desde el inicio
de un proyecto hasta su compilación a ejecutable (EXE) para su distribución. Es fundamental que
asimile y domine todo lo expuesto en esta parte, incluso si ya maneja Visual Basic, a efecto de
unificar los conceptos que maneja el libro.
• Elementos de programación. Trata de manera detallada los elementos de programación en Visual
Basic, como el manejo de variables, procedimientos, funciones implícitas del lenguaje, tipos de
datos, estructuras de control, etcétera. Si verdaderamente quiere ser un experto en Visual Basic, es
necesario que deje lo sencillo, el lado "Visual", para profundizar en primera instancia en su lado
"Basic".
• Controles gráficos y programación orientada a eventos. Trata de manera detallada los controles
básicos de Visual Basic. Al terminar esta parte, estará listo para diseñar cualquier interfaz de
usuario que se proponga desarrollar. También se revisa el manejo de algunos controles ActiveX
que proporcionarán un aspecto profesional a sus aplicaciones.
• Archivos y bases de datos. Trata de manera específica la forma de utilizar bases de datos con
Visual Basic, introduciéndolo a técnicas avanzadas para el registro, recuperación y eliminación de
información, representación de modelos de datos en Visual Basic y el manejo de instrucciones
SQL, utilizando para ello las versiones más recientes de las colecciones de objetos para manejo de
datos:
Objetos de Acceso a Datos de Microsoft, Objetos de Datos ActiveX de Microsoft y enlaces mediante
ODBC. Esta parte también trata la manipulación de archivos de texto utilizando Visual Basic, así
como el manejo del diseñador Data Report, que le permitirá crear informes para su salida en
pantalla o papel.
• Apéndices. Aquí se detallará información del producto y las costumbres asociadas a su uso. Los
apéndices constituyen una referencia que no debe dejar de consultar para obtener buenos productos
de su trabajo. Se tratarán en este caso las
xxiii
xxiv Forma y contenido del libro
convenciones de la programación en Visual Basic, así como las mejoras relacionadas con el Service
Pack 5.0 de Visual Studio.
Cada parte se divide a su vez en capítulos; cada uno de los cuales tiene una organización consistente
que facilita la presentación del material.
• Cada capítulo tiene el tamaño adecuado para manejar un tema de manera completa, sin ser muy
extenso; la idea es que no interrumpa un tema sin agotarlo.
• Cada capítulo inicia con una sección de Objetivos, la cual describe de manera rápida lo que se
pretende aprender en dicho capítulo.
• Al final de cada capítulo se encontrará una sección de Resumen, en la cual se enumerarán los
puntos más importantes, principalmente los que serán indispensables para capítulos posteriores. En
el resumen también podrá encontrar respuestas relativas a algunas prácticas del capítulo.
Notas
Las notas que aparecen en el contenido de este libro pueden ser de los siguientes tipos:
• Las referencias marcadas como Nota contienen información suplementaria, que no repercute en la
realización de una tarea, pero que sin duda enriquecerá su acervo de conocimientos relativos a
Visual Basic.
• Las notas marcadas como Lo inesperado contienen explicaciones de aquello que le puede suceder
y que no esperaba que ocurriera; comportamientos extraños, errores, situaciones imprevistas de
toda índole. Por lo general, seguirán de prácticas que con toda intención generan el error, a efecto
de que usted lo pueda analizar y prevenir. Este tipo de notas será vital para usted, ya que los
errores más comunes y la forma de solucionarlos se detallarán en el momento oportuno.
Prácticas
• Las prácticas que se encuentren en este libro (que son muchas) estarán presentadas como listas
numeradas (1, 2, 3, y así sucesivamente). Una viñeta triangular (>>) indica el inicio de una
práctica. Las prácticas estarán numeradas por Capítulo.Práctica; las prácticas serán su guía para
saber cómo hacer algo.
• En el desarrollo de las prácticas será muy frecuente el uso de los menús de Visual Basic; algunos
de ellos tienen diferentes niveles de profundidad, es decir, de un
Forma y contenido del libro xxv
menú surge otro menú, y así sucesivamente. Para manejar esa situación, será lo mismo decir
"Seleccione en la barra de menús la opción Herramientas, después seleccione Opciones y después, en
el cuadro de diálogo que aparece, seleccione la ficha Avanzadas", que "Seleccione el menú
Herramientas — Opciones — Avanzadas".
Lo simplificamos porque en la práctica es así de fácil: mediante tres clics usted ya habrá hecho todo el
proceso de selección de una opción, en menos de tres segundos. La idea es que el libro no haga que lo
sencillo parezca complejo.
Notaciones y uso de tipos de letra
• Se utilizarán itálicas cuando surjan conceptos y términos nuevos, incluyendo elementos propios del
lenguaje que sean referidos por primera vez. También aplicará para las variables y argumentos,
cuando aparezcan como parte de una sintaxis. Aplicarán cuando se haga referencia a otros textos,
cuando se haga referencia a bibliotecas del lenguaje y cuando se describan mensajes de error en las
secciones de Lo inesperado.
•Se utilizará MCPdigital (u OCR A Extended) para las propiedades de los objetos (estén o no
asociadas a los objetos), las referencias a funciones, palabras reservadas y el código de Visual Basic.
•En la sintaxis, los corchetes "[ ]" encierran aquellos elementos opcionales. Las llaves "( }", por su
parte, contendrán opciones mutuamente excluyentes.
•Se utilizarán negritas en los nombres de directorios o archivos. Se utilizarán de igual manera para
referir nombres de procedimientos creados por el usuario, así como para los datos de entrada que el
usuario tiene que escribir, incluyendo pulsaciones de teclas. Se utilizarán para identificar las
herramientas y componentes del Entorno Integrado de Desarrollo, en sus partes no utilizables
como opción.
•Se utilizarán negritas itálicas para los elementos de la interfaz que pueden ser utilizados como
opción, las opciones de menú y otras opciones de interfaz, como botones de comando u otros que
desencadenen alguna acción determinada, formen parte del Entorno Integrado de Desarrollo, o de
la interfaz creada por los usuarios.
xxvi Forma y contenido del libro
Convenciones del teclado
• El signo de suma (+) entre dos teclas indica que éstas deberán ser presionadas de manera
simultánea; por ejemplo, "Alt+A".
Archivos de apoyo
En el sitio Web http://www.enlace.net/ramirez2 se ha colocado un archivo llamado
AVBP.ZIP, que contiene los archivos comprimidos que son necesarios para la realización de las
prácticas del libro. Al ejecutar el programa, se generará un directorio llamado avbp, que a su
vez tendrá varios directorios, como sigue:
avbp
cap01
cap02
cap03
..
• En avbpcapn se colocarán los archivos necesarios para que pueda realizar de manera completa
y correcta las prácticas. La ncorresponde al número de capítulo en donde son requeridos los
archivos.
• En avbpcapn se deberán guardar las aplicaciones que vaya generando, a efecto de que tenga
debidamente organizado su avance. La n corresponde al número de capítulo en el que son
generadas las aplicaciones.
Aunque no todos los capítulos requieren archivos o generan aplicaciones, se incluirán de tal forma
que se tenga un estándar de uso. No se incluyen los ejercicios ya resueltos; la idea es que usted
programe, ¿o no?
Libro aprenda visual_basic_practicando
Libro aprenda visual_basic_practicando
Libro aprenda visual_basic_practicando
Libro aprenda visual_basic_practicando
Libro aprenda visual_basic_practicando
Libro aprenda visual_basic_practicando
Libro aprenda visual_basic_practicando
Libro aprenda visual_basic_practicando
Libro aprenda visual_basic_practicando
Libro aprenda visual_basic_practicando
Libro aprenda visual_basic_practicando
Libro aprenda visual_basic_practicando
Libro aprenda visual_basic_practicando
Libro aprenda visual_basic_practicando
Libro aprenda visual_basic_practicando
Libro aprenda visual_basic_practicando
Libro aprenda visual_basic_practicando
Libro aprenda visual_basic_practicando
Libro aprenda visual_basic_practicando
Libro aprenda visual_basic_practicando
Libro aprenda visual_basic_practicando
Libro aprenda visual_basic_practicando
Libro aprenda visual_basic_practicando
Libro aprenda visual_basic_practicando
Libro aprenda visual_basic_practicando
Libro aprenda visual_basic_practicando
Libro aprenda visual_basic_practicando
Libro aprenda visual_basic_practicando
Libro aprenda visual_basic_practicando
Libro aprenda visual_basic_practicando
Libro aprenda visual_basic_practicando
Libro aprenda visual_basic_practicando
Libro aprenda visual_basic_practicando
Libro aprenda visual_basic_practicando
Libro aprenda visual_basic_practicando
Libro aprenda visual_basic_practicando
Libro aprenda visual_basic_practicando
Libro aprenda visual_basic_practicando
Libro aprenda visual_basic_practicando
Libro aprenda visual_basic_practicando
Libro aprenda visual_basic_practicando
Libro aprenda visual_basic_practicando
Libro aprenda visual_basic_practicando
Libro aprenda visual_basic_practicando
Libro aprenda visual_basic_practicando
Libro aprenda visual_basic_practicando
Libro aprenda visual_basic_practicando
Libro aprenda visual_basic_practicando
Libro aprenda visual_basic_practicando
Libro aprenda visual_basic_practicando
Libro aprenda visual_basic_practicando
Libro aprenda visual_basic_practicando
Libro aprenda visual_basic_practicando
Libro aprenda visual_basic_practicando
Libro aprenda visual_basic_practicando
Libro aprenda visual_basic_practicando
Libro aprenda visual_basic_practicando
Libro aprenda visual_basic_practicando
Libro aprenda visual_basic_practicando
Libro aprenda visual_basic_practicando
Libro aprenda visual_basic_practicando
Libro aprenda visual_basic_practicando
Libro aprenda visual_basic_practicando
Libro aprenda visual_basic_practicando
Libro aprenda visual_basic_practicando
Libro aprenda visual_basic_practicando
Libro aprenda visual_basic_practicando
Libro aprenda visual_basic_practicando
Libro aprenda visual_basic_practicando
Libro aprenda visual_basic_practicando
Libro aprenda visual_basic_practicando
Libro aprenda visual_basic_practicando
Libro aprenda visual_basic_practicando
Libro aprenda visual_basic_practicando
Libro aprenda visual_basic_practicando
Libro aprenda visual_basic_practicando
Libro aprenda visual_basic_practicando
Libro aprenda visual_basic_practicando
Libro aprenda visual_basic_practicando
Libro aprenda visual_basic_practicando
Libro aprenda visual_basic_practicando
Libro aprenda visual_basic_practicando
Libro aprenda visual_basic_practicando
Libro aprenda visual_basic_practicando
Libro aprenda visual_basic_practicando
Libro aprenda visual_basic_practicando
Libro aprenda visual_basic_practicando
Libro aprenda visual_basic_practicando
Libro aprenda visual_basic_practicando
Libro aprenda visual_basic_practicando
Libro aprenda visual_basic_practicando
Libro aprenda visual_basic_practicando
Libro aprenda visual_basic_practicando
Libro aprenda visual_basic_practicando
Libro aprenda visual_basic_practicando
Libro aprenda visual_basic_practicando
Libro aprenda visual_basic_practicando
Libro aprenda visual_basic_practicando
Libro aprenda visual_basic_practicando
Libro aprenda visual_basic_practicando
Libro aprenda visual_basic_practicando

Más contenido relacionado

La actualidad más candente

Texto con formato
Texto con formatoTexto con formato
Texto con formatoAndre Moya
 
Tecnologia de Informacion y Comunicacion
Tecnologia de Informacion y ComunicacionTecnologia de Informacion y Comunicacion
Tecnologia de Informacion y ComunicacionCheke Navarro
 
Trabajos relacionados a_word
Trabajos relacionados a_wordTrabajos relacionados a_word
Trabajos relacionados a_wordvalmoncayo
 
240 ideas de negocios
240 ideas de negocios240 ideas de negocios
240 ideas de negociostalporcual
 
Visual Basic 6.0 progarmacion
Visual Basic 6.0 progarmacion Visual Basic 6.0 progarmacion
Visual Basic 6.0 progarmacion betsabebarcenas
 
Herramientas de Microsoft Word
Herramientas de Microsoft WordHerramientas de Microsoft Word
Herramientas de Microsoft WordJessica Catagña
 
Accesibilidad web de Librerias en México
Accesibilidad web de Librerias en MéxicoAccesibilidad web de Librerias en México
Accesibilidad web de Librerias en MéxicoShizuky Himekane
 
Graficos estadsticos
Graficos estadsticosGraficos estadsticos
Graficos estadsticosPaito Moya
 
TRABAJO DE INVESTIGACION/INFORMATICA 1
TRABAJO DE INVESTIGACION/INFORMATICA 1TRABAJO DE INVESTIGACION/INFORMATICA 1
TRABAJO DE INVESTIGACION/INFORMATICA 1Paulina Ibarra
 
Base de datos
Base  de datosBase  de datos
Base de datoslobi7o
 

La actualidad más candente (12)

Texto con formato
Texto con formatoTexto con formato
Texto con formato
 
Tecnologia de Informacion y Comunicacion
Tecnologia de Informacion y ComunicacionTecnologia de Informacion y Comunicacion
Tecnologia de Informacion y Comunicacion
 
Trabajos relacionados a_word
Trabajos relacionados a_wordTrabajos relacionados a_word
Trabajos relacionados a_word
 
240 ideas de negocios
240 ideas de negocios240 ideas de negocios
240 ideas de negocios
 
Access
AccessAccess
Access
 
Visual Basic 6.0 progarmacion
Visual Basic 6.0 progarmacion Visual Basic 6.0 progarmacion
Visual Basic 6.0 progarmacion
 
Herramientas de Microsoft Word
Herramientas de Microsoft WordHerramientas de Microsoft Word
Herramientas de Microsoft Word
 
Papel y perfil del ingeniero sistemas
Papel y  perfil del ingeniero sistemasPapel y  perfil del ingeniero sistemas
Papel y perfil del ingeniero sistemas
 
Accesibilidad web de Librerias en México
Accesibilidad web de Librerias en MéxicoAccesibilidad web de Librerias en México
Accesibilidad web de Librerias en México
 
Graficos estadsticos
Graficos estadsticosGraficos estadsticos
Graficos estadsticos
 
TRABAJO DE INVESTIGACION/INFORMATICA 1
TRABAJO DE INVESTIGACION/INFORMATICA 1TRABAJO DE INVESTIGACION/INFORMATICA 1
TRABAJO DE INVESTIGACION/INFORMATICA 1
 
Base de datos
Base  de datosBase  de datos
Base de datos
 

Destacado

Aprenda visual basic 6 como si estuviera en primero aprendergratis - (libro...
Aprenda visual basic 6 como si estuviera en primero   aprendergratis - (libro...Aprenda visual basic 6 como si estuviera en primero   aprendergratis - (libro...
Aprenda visual basic 6 como si estuviera en primero aprendergratis - (libro...cesar crespo
 
Aplicaciones windows en visual basic.net
 Aplicaciones windows en visual basic.net Aplicaciones windows en visual basic.net
Aplicaciones windows en visual basic.netRonald Rivas
 
C# DidáCtico
C# DidáCticoC# DidáCtico
C# DidáCticosemuvi
 
ELABORACIÒN DE CRONOGRAMAS
ELABORACIÒN DE CRONOGRAMASELABORACIÒN DE CRONOGRAMAS
ELABORACIÒN DE CRONOGRAMASBerthamazon
 
Programacioncon Visual Basic 6
Programacioncon Visual Basic 6 Programacioncon Visual Basic 6
Programacioncon Visual Basic 6 johnny herrera
 
Libro visual basic ii version oro
Libro visual basic ii version oroLibro visual basic ii version oro
Libro visual basic ii version oroAlvaro Caal
 
Macros Visual Basic Para Excel
Macros Visual Basic Para ExcelMacros Visual Basic Para Excel
Macros Visual Basic Para ExcelBerthamazon
 
Como crear una base de datos con visual basic
Como crear una base de datos con visual basicComo crear una base de datos con visual basic
Como crear una base de datos con visual basicAlberto Vargas
 
El arte de hablar y escribir
El arte de hablar y escribirEl arte de hablar y escribir
El arte de hablar y escribirestebanprias
 
Plan Social Media - Revista Desafíos - Federico Cortes
Plan Social Media - Revista Desafíos - Federico CortesPlan Social Media - Revista Desafíos - Federico Cortes
Plan Social Media - Revista Desafíos - Federico Cortescortesfede
 
ERP & Mini-PC Komplettlösung für den Mittelstand
ERP & Mini-PC Komplettlösung für den MittelstandERP & Mini-PC Komplettlösung für den Mittelstand
ERP & Mini-PC Komplettlösung für den MittelstandWernerHehenwarter
 
VALORES
VALORESVALORES
VALORESrosi26
 
Informatica final
Informatica finalInformatica final
Informatica finalKeyti Ochoa
 
Registro SIC Resolución 90902
Registro SIC Resolución 90902Registro SIC Resolución 90902
Registro SIC Resolución 90902John Arley Muñoz
 

Destacado (20)

Aprenda visual basic 6 como si estuviera en primero aprendergratis - (libro...
Aprenda visual basic 6 como si estuviera en primero   aprendergratis - (libro...Aprenda visual basic 6 como si estuviera en primero   aprendergratis - (libro...
Aprenda visual basic 6 como si estuviera en primero aprendergratis - (libro...
 
Aplicaciones windows en visual basic.net
 Aplicaciones windows en visual basic.net Aplicaciones windows en visual basic.net
Aplicaciones windows en visual basic.net
 
C# DidáCtico
C# DidáCticoC# DidáCtico
C# DidáCtico
 
ELABORACIÒN DE CRONOGRAMAS
ELABORACIÒN DE CRONOGRAMASELABORACIÒN DE CRONOGRAMAS
ELABORACIÒN DE CRONOGRAMAS
 
Curso de visual basic 6
Curso de visual basic 6Curso de visual basic 6
Curso de visual basic 6
 
Catalogo cables bt 2011
Catalogo cables bt 2011Catalogo cables bt 2011
Catalogo cables bt 2011
 
Programacioncon Visual Basic 6
Programacioncon Visual Basic 6 Programacioncon Visual Basic 6
Programacioncon Visual Basic 6
 
Libro visual basic ii version oro
Libro visual basic ii version oroLibro visual basic ii version oro
Libro visual basic ii version oro
 
Visual Basic
Visual BasicVisual Basic
Visual Basic
 
Macros Visual Basic Para Excel
Macros Visual Basic Para ExcelMacros Visual Basic Para Excel
Macros Visual Basic Para Excel
 
Visual basic-net
Visual basic-netVisual basic-net
Visual basic-net
 
Como crear una base de datos con visual basic
Como crear una base de datos con visual basicComo crear una base de datos con visual basic
Como crear una base de datos con visual basic
 
El arte de hablar y escribir
El arte de hablar y escribirEl arte de hablar y escribir
El arte de hablar y escribir
 
Plan Social Media - Revista Desafíos - Federico Cortes
Plan Social Media - Revista Desafíos - Federico CortesPlan Social Media - Revista Desafíos - Federico Cortes
Plan Social Media - Revista Desafíos - Federico Cortes
 
ERP & Mini-PC Komplettlösung für den Mittelstand
ERP & Mini-PC Komplettlösung für den MittelstandERP & Mini-PC Komplettlösung für den Mittelstand
ERP & Mini-PC Komplettlösung für den Mittelstand
 
VALORES
VALORESVALORES
VALORES
 
Informatica final
Informatica finalInformatica final
Informatica final
 
Motores magnéticos
Motores magnéticosMotores magnéticos
Motores magnéticos
 
historia de la computadora y sus generaciones
historia de la computadora y sus generacioneshistoria de la computadora y sus generaciones
historia de la computadora y sus generaciones
 
Registro SIC Resolución 90902
Registro SIC Resolución 90902Registro SIC Resolución 90902
Registro SIC Resolución 90902
 

Similar a Libro aprenda visual_basic_practicando (20)

Open ERP Doc-06-tinyerp4.2
Open ERP Doc-06-tinyerp4.2Open ERP Doc-06-tinyerp4.2
Open ERP Doc-06-tinyerp4.2
 
DocOpenERP - Tiny erp4.2
DocOpenERP - Tiny erp4.2DocOpenERP - Tiny erp4.2
DocOpenERP - Tiny erp4.2
 
Mi empresa necesita un blog
Mi empresa necesita un blogMi empresa necesita un blog
Mi empresa necesita un blog
 
Mi empresa necesita un blog
Mi empresa necesita un blogMi empresa necesita un blog
Mi empresa necesita un blog
 
Mi empresa necesita un blog
Mi empresa necesita un blogMi empresa necesita un blog
Mi empresa necesita un blog
 
Secuencia de mercadotecnia 2
Secuencia de mercadotecnia 2Secuencia de mercadotecnia 2
Secuencia de mercadotecnia 2
 
Rol de redes sociales.PDF
Rol de redes sociales.PDFRol de redes sociales.PDF
Rol de redes sociales.PDF
 
Mti Comercio Electrónico
Mti Comercio ElectrónicoMti Comercio Electrónico
Mti Comercio Electrónico
 
Mitos En Internet
Mitos En InternetMitos En Internet
Mitos En Internet
 
Manualcpp
ManualcppManualcpp
Manualcpp
 
Manual c++
Manual c++Manual c++
Manual c++
 
Manualc++
Manualc++Manualc++
Manualc++
 
Aprender c++
Aprender c++Aprender c++
Aprender c++
 
Manual de C++
Manual de C++Manual de C++
Manual de C++
 
Manual de Programación en C
Manual de Programación en CManual de Programación en C
Manual de Programación en C
 
Manualcpp
ManualcppManualcpp
Manualcpp
 
Manualcpp
ManualcppManualcpp
Manualcpp
 
Dotación de equipos de cómputo portátiles para niños de quinto y sexto grados...
Dotación de equipos de cómputo portátiles para niños de quinto y sexto grados...Dotación de equipos de cómputo portátiles para niños de quinto y sexto grados...
Dotación de equipos de cómputo portátiles para niños de quinto y sexto grados...
 
Dotacion de tabletas
Dotacion de tabletasDotacion de tabletas
Dotacion de tabletas
 
INFORMÁTICA 1
INFORMÁTICA 1INFORMÁTICA 1
INFORMÁTICA 1
 

Libro aprenda visual_basic_practicando

  • 1.
  • 3. APRENDA VISUAL BASIC PRACTICANDO José Felipe Ramírez Ramírez Master en Informática Administrativa, Catedrático de la Facultad de Contaduría Pública y Administración, Universidad Autónoma de Nuevo León, México Revisión técnica: Lic. José Luis Ramos Coordinador de la Carrera de Informática Administrativa, Facultad de Contaduría Pública y Administración, Universidad Autónoma de Nuevo León, México Pearson Educación MÉXICO • ARGENTINA • BRASIL • COLOMBIA • COSTA RICA • CHILE ESPAÑA • GUATEMALA • PERÚ • PUERTO RICO • VENEZUELA
  • 4. / Datos de catalogación bibliográfica RAMÍREZ RAMÍREZ, JOSÉ FELIPE Aprenda Visual Basic practicando PEARSON EDUCACIÓN. México, 2001 ISBN: 970-26-0285-8 Área: Universitarios Formato: 18.5x23.5cm Páginas: 848 Editor: José Luis Vázquez Chavarría e-mail: luis.vazquez@pearsoned.com Editor de desarrollo: Amonio Nuñez Ramos Supervisor de producción: José D. Hernández Garduño Diseño de portada: Iliana H. González Villafán PRIMERA EDICIÓN. 2001 D-R, © 2001 por Pearson Educación de México, S.A. de C.V. Calle 4 No, 25- 2do. Piso Fracc. Industrial Alce Blanco 53370 Naucalpan de Juárez, Edo. de México E-mail: editorial.universidades@pearsoned.com Cámara Nacional de la Industria Editorial Mexicana. Registro No. 1031 Reservados todos los derechos. Ni la totalidad ni parte de esta publicación pueden reproducirse, registrarse o transmitirse, por un sistema de recuperación de información, en ninguna forma ni por ningún medio, sea electrónico, mecánico. fotoquímico, magnético o electro óptico, por fotocopia, grabación o cualquier otro. sin permiso previo por escrito del editor. El préstamo, alquiler o cualquier otra forma de cesión de uso de este ejemplar requerirá también la autorización del editor o de sus representantes. ISBN: 970-26-0285-8 Impreso en México- Primea in México 1234567890-03 02 01 Pearson
  • 5. Educación A Adriana, mi esposa, porque ama mis propiedades, hace mejores todos mis eventos y motiva todos mis métodos.
  • 6. CONTENIDO ____________________________________________________________________ Contenido ..........................................................................................................................................vi índice de prácticas .............................................................................................................................xv Lo inesperado ....................................................................................................................................xx Prólogo ..............................................................................................................................................xxii Forma y contenido del libro .............................................................................................................xxiii Agradecimientos...............................................................................................................................xxvii Parte 1: Entorno Integrado de Desarrollo Capítulo 1: Visual Basic como plataforma de desarrollo ................................................. 3 Objeto de la programación ...................................................................................................................... 4 Visual Basic: más que un lenguaje de programación ............................................................................. 5 Entorno Integrado de Desarrollo ............................................................................................................ 6 Ediciones de Visual Basic ........................................................................................................................ 8 Elementos del IDE .................................................................................................................................. 9 La barra de menús ................................................................................................................................... 12 La barra de herramientas ......................................................................................................................... 12 Formulario (Form) .................................................................................................................................. 13 Modos de trabajo con formularios: SD1 y MDI ..................................................................................... 13 Tecnología orientada a objetos y Visual Basic ....................................................................................... 16 Controles ................................................................................................................................................. 18 Clase ........................................................................................................................................................ 18 Objetos .................................................................................................................................................... 18 Cuadro de herramientas .......................................................................................................................... 19 Propiedades ............................................................................................................................................. 23 Métodos .................................................................................................................................................. 24 Ejemplificación de objeto - propiedad - método .................................................................................... 24 Explorador de proyectos ......................................................................................................................... 25 Tiempos de desarrollo de Visual Basic ................................................................................................... 27 Ventana Propiedades ............................................................................................................................... 28 Ventana Posición del formulario .............................................................................................................31 Pasos para crear una aplicación en Visual Basic .....................................................................................32 Resumen................................................................................................................................................... 33 Algunas respuestas a los ejercicios ........................................................................................................ 34 Capitulo 2: Creación de la interfaz de usuario ............................................................... 35 El punto de partida: ¿Qué desea hacer? .................................................................................................. 36 Paso 1: Crear la interfaz de usuario ....................................................................................................37
  • 7. Contenido vii Inserción de objetos............................................................................................................................... 37 Propiedades de posición y dimensión .................................................................................................. 41 Organización de los objetos en el formulario ...................................................................................... 48 Cómo establecer las aplicaciones para diferentes resoluciones de monitores ..................................... 52 Resumen ....................................................................................................................................................... 55 Algunas respuestas a los ejercicios ..................................................................................................... 56 Capítulo 3: Cómo establecer las propiedades de los objetos .............................................. 57 Consideraciones de diseño en Visual Basic .......................................................................................... 58 Paso 2: Establecer las propiedades de los objetos ....................................................................................... 59 Validar que ya se tienen lodos los objetos que se requieren en el formulario..................................... 59 Cómo asignar el nombre adecuado a cada uno de los objetos .......................................................... 62 Cómo establecer las propiedades de apariencia y comportamiento .................................................. 67 Tablas de objetos y propiedades ........................................................................................................ 73 Resumen ..................................................................................................................................................... 74 Capítulo 4: Escritura del código de los eventos ................................................................... 75 Paso 3: Escribir el código de los eventos .................................................................................................... 76 El editor de código de Visual Basic ............................................................................................................ 76 Elementos de la ventana Código .......................................................................................................... 79 Caracteres especiales ............................................................................................................................ 81 Asistencia en la edición de código ....................................................................................................... 84 El evento predeterminado de los objetos............................................................................................... .84 Convenciones para la codificación ....................................................................................................... .94 Especificaciones de codificación ........................................................................................................... 96 ¿Qué hacer con los procedimientos de evento sin código? .................................................................... .97 Resumen ...................................................................................................................................................... 98 Algunas respuestas a los ejercicios ..................................................................................................... 98 Capítulo 5: Cómo guardar y ejecutar aplicaciones ............................................................. 101 ¿Cómo se almacena su trabajo en Visual Basic? ......................................................................................... 102 Cómo guardar aplicaciones .......................................................................................................................... 103 Recomendaciones para nombrar archivos en Visual Basic ....................................................................107 Cómo ejecutar su aplicación .........................................................................................................................108 Depuración y control del programa...............................................................................................................114 Indicadores de margen .............................................................................................................................115 La ventana Código al depurar una aplicación ..........................................................................................117 Ejecución paso a paso ..............................................................................................................................118 Puntos de interrupción .............................................................................................................................119 Cómo generar un archivo ejecutable (EXE) .................................................................................................120 Forma esquemática de presentación de aplicaciones ................................................................................... 123 Resumen ...................................................................................................................................................... 127 Algunas respuestas a los ejercicios .......................................................................................................... 128 Parte 2: Elementos de programación Capítulo 6: Variables y tipos de datos ...................................................................................................... 131 MsgBox ..................................................................................................................................................132 Constantes de Visual Basic .................................................................................................................... 135
  • 8. viii Contenido InputBox .................................................................................................................................................... 139 Declaración de variables ................................................................................................................................ 142 Tipos de datos ................................................................................................................................................ 143 DIM: declaración de variables de memoria ................................................................................................... 145 Alcance .......................................................................................................................................................... 147 Nombre .......................................................................................................................................................... 148 Constantes ...................................................................................................................................................... 150 Matrices .......................................................................................................................................................... 150 Funciones de límite de posiciones .................................................................................................................. 153 Option Explicit ......................................................................................................................................... 155 Conversión de datos ........................................................................................................................................ 158 La función Format ........................................................................................................................................ 161 Resumen ......................................................................................................................................................... 166 Algunas respuestas a los ejercicios ....................................................................................................... 166 Capítulo 7: Operadores y estructuras de control ...................................................................... 169 Operadores aritméticos .................................................................................................................................... 170 Operadores comparativos ................................................................................................................................ 172 Código ASCII ......................................................................................................................................... 173 Operadores lógicos .......................................................................................................................................... 174 Prioridad entre operadores ............................................................................................................................... 177 Instrucción If (condicional) ........................................................................................................................... 178 Select Case ................................................................................................................................................ 184 For Next ....................................................................................................................................................... 186 Do Loop .......................................................................................................................................................... 189 Resumen .......................................................................................................................................................... 191 Algunas respuestas a los ejercicios ...................................................................................................... 191 Capítulo 8: Funciones de manipulación de datos ......................................................................193 Qué son las funciones .......................................................................................................................................194 Funciones de fecha y hora ................................................................................................................................195 Funciones de manipulación de cadenas (string) .........................................................................................202 Funciones numéricas ........................................................................................................................................210 Funciones de decisión ...................................................................................................................................... 213 Funciones de uso específico .............................................................................................................................216 Funciones financieras ................................................................................................................................216 Funciones trigonométricas ........................................................................................................................ 217 Resumen ...........................................................................................................................................................218 Capítulo 9: Procedimientos y funciones definidas por el usuario .......................................... 219 Procedimientos .................................................................................................................................................220 Ejecución de procedimientos ............................................................................................................... 221 Cómo agregar procedimientos en Visual Basic ................................................................................... 222 Procedimientos que no utilizan argumentos y no devuelven valores ................................................. 224 Procedimientos que no utilizan argumentos y sí devuelven valores .................................................. 225 Procedimientos que utilizan argumentos ........................................................................................... 227 Especificación de argumentos opcionales ......................................................................................... 229 Valores predeterminados para argumentos opcionales ...................................................................... 232 Funciones con número incierto de argumentos ................................................................................ 233 Resumen ......................................................................................................................................................... 237
  • 9. Contenido jx Parte 3: Controles gráficos y programación orientada a eventos Capítulo 10: Controles básicos para la introducción de datos ................................................................ 241 Controles básicos para el acceso de datos ..................................................................................................... 242 Label....................................................................................................................................................... 242 TextBox.................................................................................................................................................. 243 CommandButton...................................................................................................................... 244 Enfoque ......................................................................................................................................................... 249 La tecla presionada: evento KeyPress .................................................................................................. 259 Resumen ........................................................................................................................................................ 262 Capítulo 11: Programación orientada a eventos ........................................................................................ 263 Eventos y su clasificación ............................................................................................................................... 264 Argumentos implícitos ............................................................................................................................. 266 Resumen de las categorías de eventos, consideradas de uso general .............................................................. 266 TipoClic .................................................................................................................................................. 267 Tipo Cambios ......................................................................................................................................... 268 Tipo Enfoque .......................................................................................................................................... 270 Tipo Ratón .............................................................................................................................................. 284 Prioridad de los eventos .................................................................................................................................. 294 Resumen .......................................................................................................................................................... 303 Capítulo 12: Controles contenedores y controles de selección .................................................................. 305 Objetos contenedores ...................................................................................................................................... 306 Frame ............................................................................................................................................................. 306 CheckBox ...................................................................................................................................................... 312 Matriz de controles .......................................................................................................................................... 316 Colores en Visual Basic utilizando RGB y QBColor .................................................................................... 323 RGB ........................................................................................................................................................... 323 QBColor ............................................................................................................................................... 324 OptionButton ............................................................................................................................................ 325 HscrollBary y ScrollBar ..................................................................................................................... 330 Resumen ...........................................................................................................................................................337 Capítulo 13: Controles de listas desplegables ..............................................................................................339 Concepto de colección ..................................................................................................................................... 340 Listas desplegables: ListBox y ComboBox ................................................................................................ 342 Cómo agregar y eliminar opciones de las listas desplegables ......................................................................... 343 Método Additem ..................................................................................................................................... 343 Propiedad ListCount ............................................................................................................................ 344 Propiedad List ........................................................................................................................................ 345 Propiedades Selected y Listindex ................................................................................................. 346 Método Removeltem .............................................................................................................................. 347 Método Clear .......................................................................................................................................... 348 Resumen ...........................................................................................................................................................368 Capítulo 14: Editor de menús y manejo del Portapapeles ......................................................................... 371 El Editor de menús .......................................................................................................................................... 372 Cómo invocar el Editor de menús .......................................................................................................... 373
  • 10. x Contenido Manejo del Portapapeles ............................................................................................................................... 385 Len: longitud del texto .......................................................................................................................... 386 Propiedades del objeto fuente: SelStart, SelLength y SelText .............................................. 386 Métodos del objeto Clipboard: Clear, SetText y GetText .......................................................... 387 Resumen ........................................................................................................................................................ 393 Capítulo 15: Manejo de imágenes .............................................................................................................. 395 Controles básicos para mostrar imágenes ....................................................................................................... 396 Image .............................................................................................................................................................. 396 LoadPicture ......................................................................................................................................... 396 PictureBox ................................................................................................................................................. 400 Adición de componentes al proyecto .............................................................................................................. 405 Almacenamiento de imágenes ......................................................................................................................... 409 ImageList ( Microsoft Windows Common Controls 6.0) ...................................................................... 410 Resumen .......................................................................................................................................................... 419 Algunas respuestas a los ejercicios ............................................................................................................. 419 Capítulo 16; Arrastrar y colocar ................................................................................................................. 421 Arrastrar y colocar .......................................................................................................................................... 422 Estados de transición y punteros predefinidos ................................................................................................ 432 Punteros predefinidos del entorno de Windows ..................................................................................... 433 Manejo en modo manual de arrastrar y colocar .............................................................................................. 435 Resumen .......................................................................................................................................................... 441 Capítulo 17: Control del tiempo .................................................................................................................. 443 Control básico para controlar el tiempo .......................................................................................................... 444 Timer ...................................................................................................................................................... 444 Resumen .......................................................................................................................................................... 449 Capítulo 18: Manejo del sistema de archivos ............................................................................................. 451 El sistema de archivos ..................................................................................................................................... 452 Controles básicos para el manejo del sistema de archivos .............................................................................. 452 DriveListBox ............................................................................................................................................ 452 DirListBox ................................................................................................................................................. 453 FileListBox .............................................................................................................................................. 453 Manejo del objeto FileSystem ................................................................................................................... 461 Manipulación de subdirectorios ...................................................................................................................461 Manipulación de archivos ............................................................................................................................ 468 Resumen ...........................................................................................................................................................474 Capítulo 19: Cuadros de diálogo comunes ...................................................................................................477 Cuadros de diálogo comunes ............................................................................................................................478 CommonDialog ( Microsoft Common Dialog Control 6.0) .....................................................................478 Indicadores ...................................................................................................................................................480 Manejo de errores .........................................................................................................................................481 Cuadro de diálogo Color .............................................................................................................................482 Cuadro de diálogo Fuente ............................................................................................................................ 485 Cuadro de diálogo Imprimir ........................................................................................................................ 491 Cuadro de diálogo Abrir/Guardar como ...................................................................................................... 497 Resumen .......................................................................................................................................................... 504
  • 11. Contenido xi Capítulo 20: Cómo trabajar en una interfaz de múltiples documentos ............................................... 505 Fundamentos del entorno MDI .................................................................................................................. 506 Limitaciones que implica el uso de un formulario MDI ....................................................................... 508 Cómo preparar su aplicación para compilación y distribución ................................................................... 511 Resumen ...................................................................................................................................................... 512 Capítulo 21: Controles ActiveX para mejorar la interfaz ..................................................................... 513 Controles comunes de Windows ................................................................................................................. 514 ProgressBar ( Microsoft Windows Common Controls 6.0) ....................................................... 514 TreeView ( Microsoft Windows Common Controls 6.0) ............................................................. 518 Cómo agregar opciones a un sistema TreeView ............................................................................... 519 StatusBar ( Microsoft Windows Common Controls 6.0) ............................................................ 526 Cómo agregar opciones a un objeto basado en StatusBar .............................................................. 526 ToolBar ( Microsoft Windows Common Controls 6.0) ................................................................. 529 Cómo agregar opciones a un objeto basado en StatusBar .............................................................. 530 Resumen ...................................................................................................................................................... 537 Parte 4: Archivos y bases de datos Capítulo 22: Bases de datos y DAO ......................................................................................................... 541 Conceptos de bases de datos ....................................................................................................................... 542 Base de datos, tabla, registro y campo ................................................................................................... 542 Clave primaria ........................................................................................................................................ 543 Clave externa y relaciones ...................................................................................................................... 544 Integridad referencial .............................................................................................................................. 545 Índices ..................................................................................................................................................... 545 El motor de base de datos Microsoft Jet ...................................................................................................... 550 La interfaz de usuario y el código de aplicaciones ................................................................................ 550 El motor de base de datos ....................................................................................................................... 551 El almacén de datos ................................................................................................................................ 551 DAO ............................................................................................................................................................. 551 Clases, objetos y colecciones ................................................................................................................. 554 Divisiones de la programación de bases de datos .................................................................................. 555 Lenguaje de Definición de Datos ........................................................................................................... 555 Lenguaje de Manipulación de Datos ...................................................................................................... 556 Resumen ...................................................................................................................................................... 556 Algunas respuestas a los ejercicios ........................................................................................................ 556 Capítulo 23: Lenguaje de Definición de Datos y DAO ........................................................................... 559 Lenguaje de Definición de Datos ................................................................................................................. 560 Tipos de objetos en DAO ........................................................................................................................ 561 Sintaxis para el uso de colecciones ........................................................................................................ 562 Variables objeto ...................................................................................................................................... 563 Espacio de trabajo e integración de la base de datos .............................................................................. 570 Métodos Create ................................................................................................................................... 570 Bloque With... End With ................................................................................................................ 573 Elementos requeridos para agregar objetos ............................................................................................ 576
  • 12. xii Contenido Cómo trabajar con las colecciones de DAO ................................................................................................... 587 Resumen .......................................................................................................................................................... 594 Algunas respuestas a los ejercicios ........................................................................................................ 595 Capítulo 24: Lenguaje de Manipulación de Datos y DAO ........................................................................ 597 Lenguaje de Manipulación de Datos .............................................................................................................. 598 Validaciones a nivel tabla ....................................................................................................................... 599 Validaciones a nivel base de datos .......................................................................................................... 599 Operaciones básicas de manipulación de bases de datos ............................................................................... 600 Tareas de apertura de base de datos ................................................................................................................ 601 OpenDatabase ....................................................................................................................... 601 OpenRecordset ..................................................................................................................... 602 Tipos de Recordset ............................................................................................................... 603 Close ...................................................................................................................................... 605 Tareas de escritura de datos (partel) ................................................................................................................ 605 AddNew y actualización al almacén de datos .......................................................................................... 606 Tareas de búsqueda de datos (parte 1) ............................................................................................................. 609 Seek ........................................................................................................................................................ 609 Propiedad Index ..................................................................................................................................... 609 Propiedad NoMatch ................................................................................................................................ 610 Tareas de escritura de datos (parte 2) .............................................................................................................. 610 Edit ........................................................................................................................................................ 611 Update ....................................................................................................................................................611 Delete ....................................................................................................................................................612 Técnica RAR ................................................................................................................................................... 613 Tareas de movimiento entre datos ................................................................................................................... 622 Tareas de búsqueda de datos (parte 2) ............................................................................................................. 627 Condición ...................................................................................................................................................628 Métodos Find ...........................................................................................................................................629 Resumen ...........................................................................................................................................................636 Capítulo 25: Controles Data y FlexGrid ................................................................................................ 639 Control Data .................................................................................................................................................... 640 Objetos vinculados a campos de base de datos ........................................................................................ 641 FlexGrid ...................................................................................................................................................... 646 Consideraciones de incompatibilidad entre Access 97 y Access 2000 ........................................................... 649 Resumen .......................................................................................................................................................... 655 Capítulo 26: Bases de datos multiusuario usando DAO ........................................................................... 657 La necesidad de capacidades multiusuario ..................................................................................................... 658 Cómo abrir la base de datos en modo compartido ................................................................................... 658 Cómo abrir los Recordsets en modo compartido .............................................................................. 659 Problemas al escribir y concepto de bloqueo ........................................................................................... 660 Bloqueo pesimista y optimista ....................................................................................................................... 662 Bloqueo pesimista .................................................................................................................................... 662 Bloqueo optimista .................................................................................................................................... 663 Aclaración del "bloqueo de registros" ..................................................................................................... 664 Manejo de errores para el modo multiusuario ................................................................................................ 665 On Error ............................................................................................................................... 665 Etiquetas ................................................................................................................................. 665 GoTo ........................................................................................................................................ 665
  • 13. Contenido xiii Resume ............................................................................................................................................... 666 Err y Error ....................................................................................................................................... 666 Exit Sub ............................................................................................................................................. 666 Resumen ....................................................................................................................................... 672 Capítulo 27: Archivos planos para transferencia de datos ...................................................... 675 Los archivos planos siguen vigentes ............................................................................................................... 676 Creación y lectura de archivos planos ............................................................................................................. 677 Open ........................................................................................................................................................ 678 FreeFile ............................................................................................................................................... 678 Tipos de datos definidos por el usuario .................................................................................................... 679 Cómo escribir en un archivo ..................................................................................................................... 679 Input ...................................................................................................................................................... 684 Resumen .......................................................................................................................................................... 688 Capítulo 28: Manejo de bases de datos corporativas usando ADO ........................................ 689 Bases de datos más allá de la computadora personal ...................................................................................... 690 Objeto de Datos ActiveX .......................................................................................................................... 690 Pubs: La base de datos de ejemplo ............................................................................................................ 692 Ejecución front - end a través de ADO ..................................................................................................... 693 Conexión a una base de datos corporativa mediante ADO ...................................................................... 694 Peticiones al servidor de bases de datos utilizando ADO ........................................................................ 701 DataGr-id ( Microsoft DataGrid Control OLEDB) ................................................................................... 704 SQL............................................................................................................................................................... 709 DML usando ADO ........................................................................................................................................ 720 ADO a través de ODBC ................................................................................................................................ 732 Conexión a través de DSN almacenado en el Registro ........................................................................... 733 Conexión a través de DSN almacenado en archivo DSN ....................................................................... 733 MDAC y problemas comunes en el enlace ................................................................................................... 735 Resumen ........................................................................................................................................................ 736 Capítulo 29: Data Environment ................................................................................................. 737 Organización de enlaces a datos utilizando el Data Environment ................................................................ 738 Estructura jerárquica del Data Environment .......................................................................................... 739 Resumen ....................................................................................................................................................... 749 Capítulo 30: Data Report ........................................................................................................... 751 Informes a través del Data Report ................................................................................................................ 752 Cómo agregar un Data Report a un proyecto .......................................................................................... 752 Objetos del Data Report .......................................................................................................................... 753 Secciones del Data Report ....................................................................................................................... 753 Controles del Data Report ...................................................................................................................... 754 Desarrollo de un informe .............................................................................................................................. 755 ¿Qué queremos? La imagen visual del informe ...................................................................................... 755 Cómo agregar campos del Data Environment al Data Report ................................................................ 760 Cómo agregar objetos al Data Report ..................................................................................................... 762 Informes con grupos de datos ........................................................................................................................ 769 Data Environment para informes con grupos .......................................................................................... 771 Cómo se organizan las secciones ............................................................................................................. 776 Campos calculados y objetos rptFunction ........................................................................................ 783 Resumen ......................................................................................................................................................... 787
  • 14. xiv Contenido Parte 5: Apéndices Apéndice I: Convenciones ......................................................................................................................... 791 Prefijos para los controles ............................................................................................................................ 791 Prefijos sugeridos para DAO .................................................................................................................. 794 Prefijos sugeridos para menús ................................................................................................................ 795 Selección de prefijos para otros controles .............................................................................................. 795 Convenciones de nombres de constantes y variables ................................................................................... 795 Prefijos de alcance de variables .............................................................................................................. 796 Constantes ............................................................................................................................................... 797 Variables .................................................................................................................................................. 797 Tipos de datos de variables ..................................................................................................................... 798 Nombres descriptivos de variables y procedimientos ............................................................................ 798 Tipos definidos por el usuario ................................................................................................................ 799 Convenciones de codificación estructurada ................................................................................................. 799 Convenciones de comentarios al código ................................................................................................ 799 Cómo formatear el código ...................................................................................................................... 801 Agrupación de constantes ....................................................................................................................... 801 Operadores & y + .................................................................................................................................... 802 Creación de cadenas para MsgBox, InputBox y consultas SQL ........................................................ 802 Apéndice II: Service Pack 5.0 de Visual Studio 6.0 ................................................................................... 803 Necesidad del Service Pack ............................................................................................................................ 803 Consideraciones de instalación ................................................................................................................. 805 Actualizaciones de productos relativos a Visual Basic ................................................................................... 807 Microsoft® Agent 2.0 ............................................................................................................................... 807 Visual Studio Installer ............................................................................................................................... 807 Problemas con los controles, resueltos con SP5 .............................................................................................. 807 Artículos de Microsoft Knowledge Base sobre los errores solucionados ........................................................812 Índice ................................................................................................................................................................813
  • 15. ÍNDICE DE PRÁCTICAS _________________________________________________________________________ Parte 1: Entorno Integrado de Desarrollo Capitulo 1: Visual Basic como plataforma de desarrollo 01.01 Cómo iniciar sesión en Visual Basic...................................................................................... 6 01.02 Cómo cerrar una sesión en Visual Basic................................................................................ 8 01.03 Cómo activar los elementos del IDE ................................................................................... 11 01.04 Cómo establecer el entorno de desarrollo a SDI ................................................................. 14 01.05 Ubicación de los controles ................................................................................................... 22 01.06 Cómo ocultar y mostrar formularios..................................................................................... 26 01.07 Uso de la ventana Propiedades ............................................................................................. 30 Capitulo 2: Creación de la interfaz de usuario 02.01 Cómo insertar un objeto en la interfaz.................................................................................. 38 02.02 Cómo cambiar la posición o las dimensiones de un objeto................................................... 43 02.03 Cómo seleccionar un formulario... ....................................................................................... 45 02.04 Corno cambiar el tamaño de un formulario. ......................................................................... 45 02.05 Cómo guardar su trabajo....................................................................................................... 46 02.06 Cómo agregar objetos en modo de trazo .............................................................................. 47 02.07 Selección de objeto activo. en forma individual o en modo de grupo ................................. 49 02.08 Cómo determinar la posición de un formulario en la pantalla ............................................. 51 02.09 Cómo establecer las Guías de resolución ............................................................................. 53 02.10 Cómo utilizar las herramientas del menú Formato para organizar objetos...................................... 54 Capítulo 3: Cómo establecer las propiedades de los objetos 03.01 Cómo validar la cantidad y el tipo de objetos requeridos en una aplicación......................... 60 03.02 Cómo modificar la propiedad Ñame de los objetos............................................................... 66 03.03 Cómo modificar las propiedades de apariencia y comportamiento....................................... 68 Capítulo 4: Escritura del código de los eventos 04.01 Cómo abrir la ventana Código............................................................................................... 81 04.02 Cómo manejar los componentes de la ventana Código ........................................................ 82 04.03 Manejo de colores y autoformato al editar código................................................................. 85 04.04 Compilación y detección de errores en modo de edición...................................................... 86 04.05 Sugerencia de propiedades y métodos en modo de edición................................................... 87 04.06 Uso de los cuadros Objeto y Evento para la selección y codificación de un procedimiento de evento determinado .......................................................................................................... 90 04.07 Uso del carácter de .subrayado y la ayuda contextual en modo de edición........................... 92 Capítulo 5: Cómo guardar y ejecutar aplicaciones 05.01 Archivos de trabajo en Visual Basic ................................................................................. 104 05.02 Cómo abrir un proyecto previamente guardado................................................................. 107 05.03 Cómo ejecutar e interrumpir su programa.......................................................................... 110 05.04 Cómo seleccionar el proyecto inicial.............. ................................................................... 111 xv
  • 16. xvi índice de prácticas 05.05 Cómo seleccionar el objeto de inicio en un proyecto..........................................................................113 05.06 Despliegue de errores en tiempo de ejecución ...................................................................................116 05.07 Cómo corregir código en modo de interrupción................................................................................. 118 05.08 Cómo ejecutar un programa línea por línea................................................. ...................................... 119 05.09 Cómo agregar y eliminar un punto de interrupción............................................................................ 120 05.10 Cómo compilar un proyecto para generar un ejecutable en Visual Basic.......................................... 121 Parte 2: Elementos de programación Capítulo 6: Variables y tipos de datos 06.01 MsgBox: creación de cuadros de información y confirmación de manera rápida..............................133 06.02 Uso de constantes de Visual Basic......................................................................................................138 06.03 InputBox: acceso rápido de datos ...................................................................................................140 06.04 Determinación del nombre. tipo de datos y alcance indicado para las variables de memoria.............148 06.05 Uso de matrices y determinación de límites mínimos y máximos del intervalo de subíndices...........154 06.06 Declaración automática de variables en Visual Basic..........................................................................155 06.07 Uso de Option Explicit (requerir la declaración de variables de manera explícita)...................156 06.08 Cómo establecer Option Explicit de manera automática para todos los formularios nuevos....157 06.09 Uso de funciones de conversión........................................................................ .................................160 06.10 Uso de la función Format ................................................................................................................163 06.11 Uso de la función Format. en formatos definidos por el usuario..................................................... 165 Capítulo 7: Operadores y estructuras de control 07.01 Uso de los operadores aritméticos .......................................................................................................171 07.02 Cómo se resuelven las condiciones que incluyen operadores de comparación....................................174 07.03 Cómo especificar la preferencia al resolver condiciones. mediante el uso de paréntesis ....................177 07.04 Uso de For Next ................................................................................................................ ...............187 07.05 Uso de Exit For ................................................................................................................................188 07.06 Uso de Do Loop .................................................................... .............................................................190 Capítulo 8: Funciones de manipulación de datos 08.01 Uso de funciones de fecha y hora...................................................... .................................................201 08.02 Uso de funciones de manipulación de cadenas................................................................................... 209 08.03 Uso de funciones numéricas y de decisión..........................................................................................214 Capítulo 9: Procedimientos y funciones definidas por el usuario 09.01 Creación de un procedimiento ............................................................................................................224 09.02 Creación de un procedimiento que no utilice argumentos y devuelva valores................................... 226 09.03 Creación de un procedimiento que utilice argumentos y devuelva valores........................................ 228 09.04 Creación de un procedimiento que utilice argumentos opcionales y devuelva valores ..................... 231 09.05 Creación de un procedimiento que utilice argumentos opcionales con valor predeterminado y devuelva valores................................................................................................................ 233 09.06 Creación de un procedimiento que utilice un número de argumentos incierto.................................. 236 Parte 3: Controles gráficos y programación orientada a eventos Capítulo 10: Controles básicos para la introducción de datos 10.01 Uso de objetos basados en los controles Label. TextBox y CommandButton......................... 245
  • 17. Índice de prácticas xvii 10.02 Uso de botones predefinidos de aceptación y cancelación y cuadros de texto multilíneas, de capacidad limitada.......................................................................................................................................... 251 10.03 Uso de caracteres para escritura oculta y validación inmediata de caracteres, asegurando la captura de caracteres en mayúscula. Habilitar e inhabilitar botones............................................................... 256 Capítulo 11: Programación orientada a eventos 11.01 Demostración de algunos de los eventos de tipo Clic, Cambios y Enfoque.............................................. 271 11.02 Demostración de algunos de los eventos de tipo Teclado .........................................................................279 11.03 Demostración de algunos de los eventos de tipo Ratón ............................................................................ 285 11.04 Cómo darle riqueza visual a un programa, mediante el evento MouseMove........................................... 287 11.05 Elaboración de un programa que le permita visualizar la prioridad en la ejecución de los eventos................................................................................................................................................. 295 11.06 Demostración de la precedencia del evento MouseMove sobre el evento Click.................................. 301 Capítulo 12: Controles contenedores y controles de selección 12.01 Cómo utilizar un objeto contenedor para darle funcionalidad a una aplicación ................................... 307 12.02 Uso de un control CheckBox para seleccionar varias características de manera simultánea ............. 312 12.03 Uso de una matriz de controles y su uso a través de For Next y For Each .................................... 319 12.04 Uso de funciones RGB y QBGolor para la manipulación de colores................................................... 325 12.05 Uso de objetos tipo OptionButton y Shape, y de una matriz de controles ................................... 326 12.06 Uso de barras de desplazamiento y números aleatorios ........................................................................ 332 Capítulo 13: Controles de listas desplegables 13.01 Utilización de un objeto ListBox, agregándole y eliminándole elementos de forma dinámica............................................................................................................................................. 349 13.02 Uso de objetos ListBox de selección múltiple, que pasan elementos de una lista a otra.................... 354 13.03 Uso de un objeto ListBox con estilo CheckBox................................................................................ 358 13.04 Uso de los objetos ComboBox y ListBox para crear un explorador de fuentes.................................. 361 13.05 Uso de un objeto ComboBox sensible a la escritura............................................................................... 365 Capítulo 14: Editor de menús y manejo del Portapapeles 14.01 Cómo se agrega un objeto de tipo menú.................................................................................................. 375 14.02 Cómo introducir código a una opción de menú y utilizar un menú......................................................... 380 14.03 Activación dinámica de opciones............................................................................................................. 381 14.04 Modificación del tipo de letra utilizando el menú.................................................................................... 383 14.05 Opciones de menú mutuamente excluyentes............................................................................................ 384 14.06 Cómo se maneja el Portapapeles en Visual Basic..................................................................................... 387 Capítulo 15: Manejo de imágenes 15.01 Uso de objetos basados en el control Image y carga de imágenes con LoadPicture....................... 398 15.02 Uso de objetos basados en el control PictureBox y modificación dinámica de imágenes ................ 401 15.03 Cómo agregar componentes a un proyecto de Visual Basic .................................................................... 406 15.04 Almacenamiento de imágenes en un objeto ImageList ...................................................................... 410 15.05 Uso de una colección de imágenes ImageList .................................................................................... 416 Capítulo 16: Arrastrar y colocar 16.01 Programa que comprueba las operaciones de arrastrar y colocar.............................................................. 423 16.02 Programa que comprueba las operaciones de arrastrar y colocar cuando el objeto de destino no es de tipo Form......................................................................................................................................... 426
  • 18. xviii índice de prácticas 16.03 Programa que comprueba las operaciones de arrastrar y colocar, y que utiliza un objeto de destino que no es de tipo Form .........................................................................................................428 16.04 Programa que comprueba los estados de las operaciones de arrastrar y colocar, así como los punteros predefinidos del entorno de Windows ............................................................................... 434 16.05 Programa que comprueba las operaciones de arrastrar y colocar utilizando el modo manual ...........436 Capítulo 17: Control del tiempo 17.01 Uso del control Timer como valor absoluto. Un reloj.......................................................................444 17.02 Uso del control Timer como valor relativo. Cuenta regresiva en captura.........................................446 Capítulo 18: Manejo del sistema de archivos 18.01 Uso de los controles básicos para el manejo del sistema de archivos.................................................454 18.02 Uso del objeto FileSystem para manipulación de directorios.......................................................463 18.03 Uso del objeto FileSystem para manipulación de archivos...........................................................469 Capítulo 19: Cuadros de diálogo comunes 19.01 Cómo agregar el control CommonDialog al Cuadro de herramientas.............................................479 19.02 Uso del control CommonDialog para manipular el color en el formato estándar de Windows...................................................................................................................................................482 19.03 Uso del control CommonDialog para manipular las fuentes (tipos de letra) en el formato estándar de Windows.................................................................................................................................... 488 19.04 Uso del control CommonDialog para manipular las especificaciones de impresora en el formato estándar de Windows.............................................................................................................. 493 19.05 Uso del control CommonDialog para manejar el cuadro de diálogo Abrir/ Guardar como, en el formato estándar de Windows ............................................................................................................. 501 Capítulo 20: Cómo trabajar en una interfaz de múltiples documentos 20.01 Cómo agregar un formulario maestro para trabajo en MDI y los formularios hijos.......................... 506 20.02 Cómo trabajar con varios formularios ............................................................................................... 509 Capítulo 21: Controles ActiveX para mejorar la interfaz 21.01 Uso de objetos basados en el control ProgressBar ..................................................................... 515 21.02 Uso de TreeView ............................................................................................................................ 521 21.03 Uso de StatusBar y ToolBar ..................................................................................................... 532 Parte 4: Archivos y bases de datos Capítulo 22: Bases de datos y DAO 22.01 Análisis de un modelo relacional de bases de datos. 22.02 Identificación de elementos del modelo de datos ...... Capítulo 23: Lenguaje de Definición de Datos y DAO 23.01 Habilitación de DAO.......................................................................................................................... 564 23.02 DDL utilizando DAO: declaración de variables objeto...................................................................... 565 23.03 DDL utilizando DAO: creación del almacén de base de datos........................................................... 574 23.04 DDL utilizando DAO: creación de estructura de tablas y sus campos................................................579 23.05 DDL utilizando DAO: creación de índices .........................................................................................582
  • 19. Índice de prácticas xix 23.06 DDL utilizando DAO: creación de relaciones.................................................................................. 584 23.07 Ingeniería inversa utilizando DAO: determinación del modelo de datos a partir de un almacén de datos .......................................................................................................................... 589 Capítulo 24: Lenguaje de Manipulación de Datos y DAO 24.01 DML utilizando DAO: actualización de una tabla mediante la técnica RAR.....................................614 24.02 DML utilizando DAO: métodos de movimiento entre registros.........................................................623 24.03 DML utilizando DAO: búsqueda basada en criterios .........................................................................630 Capítulo 25: Controles Data y FlexGrid 25.01 Uso del control Data para agregar, eliminar, modificar y consultar registros...................................642 25.02 Uso del control Data para alimentar un FlexGrid ........................................................................647 25.03 SQLViewer: intérprete de SQL para DAO, usando los controles Data y FlexGrid.....................650 Capítulo 26: Bases de datos multiusuario usando DAO 26.01 Rutina de manejo de errores ...............................................................................................................666 26.02 Uso del DAO para aplicaciones multiusuario..................................................................................... 669 Capítulo 27: Archivos planos para transferencia de datos 27.01 Creación y escritura en archivos planos.............................................................................................. 680 27.02 Proceso para bajar datos de una base de datos a archivos planos ...................................................... 682 27.03 Cómo cargar datos a una base de datos desde un archivo.................................................................. 685 Capítulo 28: Manejo de bases de datos corporativas usando ADO 28.01 Conexión a bases de datos corporativas usando ADO........................................................................ 697 28.02 Visualización de bases de datos corporativas utilizando el control DataGrid y ADO....................705 28.03 Consultas SQL a bases de datos corporativas usando ADO............................................................... 713 28.04 DML utilizando ADO: actualización de una tabla mediante la técnica RAR.....................................722 Capítulo 29: Data Environment 29.01 Uso del Data Environment para manejar bases de datos corporativas ...............................................742 Capítulo 30: Data Report 30.01 Cómo definir un Data Environment para utilizarlo con el Data Report..............................................757 30.02 Cómo complementar con objetos rptTextBox la sección Detalle de un Data Report................... 761 30.03 Cómo complementar el Data Report con objetos rptLabel y rptLine. Asignación de valores a objetos rptLabel ............................................................................................ 763 30.04 Cómo complementar el Data Report con objetos rptShape y rptimage................................... 767 30.05 Cómo definir un Data Environment para utilizarlo con el Data Report basado en grupos de información........................................................................................................................ 772 30.06 Cómo definir un Data Report basado en grupos de información........................................................ 778 30.07 Cómo integrar a un informe datos consolidados, de la base de datos y de campos calculados...........785
  • 20. LO INESPERADO _________________________________________________________________________ Errores en tiempo de diseño Apertura no solicitada de la ventana Código.................................................................................................... 43 Changed database context to "Database" ...................................................................................................... 735 ¿Desea crear una matriz de controles?............................................................................................................... 65 Especificación de alcance de procedimiento no requerida................................................................................ 93 Formato regional de Windows afecta el valor devuelto de la función Format............................................... 165 Las secciones del informe no coinciden con el origen de datos ..................................................................... 786 No aparece la ventana Nuevo proyecto............................................................................................................... 7 No hay ninguna fuente .................................................................................................................................... 488 No se encontró campo <campo>.................................................................................................................... 786 No se encuentra Data Environment en el menú Proyecto ............................................................................... 743 No se puede colocar el control <control> en esta sección.............................................................................. 786 No se recuperan datos,..................................................................................................................................... 748 Errores de compilación (orden alfabético) Bloque if sin end if .......................................................................................................................................... 180 Do sin Loop ..................................................................................................................................................... 190 El Character de declaración de tipo no coincide con el tipo de datos declarado.......................................... 147 El Character no es válido ............................................................................................................................... 147 El número de dimensiones es incorrecto ......................................................................................................... 153 End if sin bloque if .......................................................................................................................................... 180 End Select sin Select Case .............................................................................................................................. 185 For sin Next ..................................................................................................................................................... 188 Loop sin Do ..................................................................................................................................................... 191 Next sin For ..................................................................................................................................................... 189 No coinciden los tipos ..................................................................................................................................... 397 No se encontró el método o el dato miembro .................................................................................................. 248 No se encontró método o elemento de datos ................................................................................................... 114 No se ha definido el tipo definido por el usuario ........................................................................................... 570 No se ha encontrado el archivo ....................................................................................................................... 397 No se puede asignar a una matriz .................................................................................................................. 153 Origen de datos no válido............................................................................................................................... 786 Procedimiento Sub o Function no definido ..................................................................................................... 115 Referencia de variable de control Next no válida ........................................................................................... 189 Se esperaba ")", "(" ......................................................................................................................................... 228 Se esperaba el fin de la instrucción.................................................................................................................. 146 Se esperaba fin de la función ........................................................................................................................... 228 Select Case sin End Select .............................................................................................................................. 185 Uso no válido de una propiedad ......................................................................................................................248 XX
  • 21. Lo inesperado xxi Errores en tiempo de ejecución (orden consecutivo) Algunos campos no regresan valores al ejecutar el informe........................................................................... 766 El tamaño del informe excede el tamaño de la página.................................................................................... 766 Error desconocido ADO................................................................................................................................. 734 No se encuentra el nombre del origen de datos (Administrador ODBC)....................................................... 734 Error 5: Llamada a procedimientos o argumentos no válidos ........................................................................ 368 Error 6: Desbordamiento................................................................................................................................. 146 Error 9: El subíndice está fuera del intervalo....................,............................................................................ 153 Error 13: No coinciden los tipos ...................................................................................................................... 228 Error 48: Error al cargar la biblioteca "archivo.ocx".................................................................................... 735 Error 53: No se ha encontrado el archivo....................................................................................................... 397 Error 68: El dispositivo no está disponible ..................................................................................................... 463 Error 75: Error de acceso a ruta o archivo ..................................................................................................... 463 Error 76: No se ha encontrado la ruta de archivo........................................................................................... 462 Error 91: Variable de tipo objeto o la variable de bloque With no está definida............................................ 730 Error 380: El valor de la propiedad no es válido ........................................................................................... 515 Error 424: Se requiere un objeto ............................................................................................................. 115, 247 Error 481: La imagen no es válida.................................................................................................................. 397 Error 3020: Update o CancelUpdate sinAddNew o Edit ................................................................................ 612 Error 3044: {Rutaj No es una ruta válida ...................................................................................................... 575 Error 3078: El motor de base de datos Jet no encuentra la tabla o query ..................................................... 603 Error 3204: Base de datos ya existe................................................................................................................. 575 Error 3264: No hay campos definidos - No se puede agregar el objeto TableDefo índex ............................. 576 Error 3265: Elemento no encontrado en esta colección ................................................................................ 608 Error 3368: Relaciones deben ser por el mismo número de campos del mismo tipo de datos ....................... 587 Error 3420: Objeto inválido o no permanece definido ................................................................................... 578 Error 3421: Error de conversión de tipo de datos .......................................................................................... 620 Error 35600 El índice está fuera de los límites .............................................................................................. 415 Error 35601 No se encontró el elemento ........................................................................................................ 415 Error-2147217843: Conexión inválida............................................................................................................ 707 Error -2147217843: Login failed.................................................................................................................... 707 Error -2147217843: Attempt to locate entry in sysdatabase.......................................,................................... 708
  • 22. PRÓLOGO _________________________________________________________________________ Aprenda Visual Basic practicando es un libro de propuesta. Nace de una realidad evidente: la gente compra los libros de programación para aprender. En muchos casos adquiere el conocimiento como resultado de la lectura y, sin embargo, está inconforme con el resultado y con sus propias potencialidades. La consecuencia obligada, si su afán de aprender persiste o si las necesidades de trabajo así lo demandan, es que termina tomando un curso. Tal pareciera entonces que los cursos son más completos, más efectivos, lo que nos lleva a planteamos la pregunta cuya respuesta mueve este libro: ¿qué tienen los cursos que no tengan los libros? La respuesta es simple: los cursos tienen más acción, como dirían algunos; hay interacción, aciertos y errores, el hacer del participante es diferente al hacer que corresponde al lector de un libro. Conocer la teoría es importante, pero no suficiente; todo lo plasmado en un libro funciona bien, pero en la realidad las cosas no siempre suceden de manera tan favorable en el trabajo diario. En la realidad aparecen situaciones inexploradas por los libros, en donde más que conocer la teoría, se requiere haberla comprendido mediante la vivencia práctica, para poder así ejercer el pensamiento lateral que nos lleve a resolver problemas ante los cuales nunca nos habíamos enfrentado. Éste es un libro práctico y creemos firmemente que la práctica hace al maestro. Cada capítulo tiene su objetivo particular, no sólo explica algo, sino sirve para algo. Es un libro en el que se vale escribir, de hecho se recomienda; está lleno de conceptos, cuestionarios, ejemplos, ejemplos y ejemplos. Es como leer un libro que además le brinda los elementos para que trabaje como lo haría en un curso. Reúne lo mejor de los dos mundos. Es excelente para el lector autodidacta, ya que le permite asimilar la información y practicar lo aprendido, así como dar seguimiento a sus propios avances en el aprendizaje. Para los maestros e instructores de Visual Basic, es un apoyo valioso como material de texto. Para el programador que ya ha tenido contacto con Visual Basic, es una caja de trucos que le puede facilitar la tarea de desarrollar aplicaciones avanzadas o pulir las que haya desarrollado. En términos generales, es útil para aquellos que no se dejan llevar por la engañosa creencia de que programar se aprende leyendo; programar se aprende programando y punto. Sólo esperamos una cosa: que practique, comprenda y aprenda Visual Basic. José Felipe Ramírez Ramírez Catedrático de la Universidad Autónoma de Nuevo León xxii
  • 23. FORMA Y CONTENIDO DEl LIBRO _________________________________________________________________________ La organización de este libro Este libro está dividido en cinco partes: • Entorno Integrado de Desarrollo. Trata de manera detallada los elementos y herramientas que Visual Basic proporciona para soportar el desarrollo de aplicaciones para Windows 95, 98, 2000 y NT. En esta parte se revisa el ciclo de desarrollo de aplicaciones de Visual Basic, desde el inicio de un proyecto hasta su compilación a ejecutable (EXE) para su distribución. Es fundamental que asimile y domine todo lo expuesto en esta parte, incluso si ya maneja Visual Basic, a efecto de unificar los conceptos que maneja el libro. • Elementos de programación. Trata de manera detallada los elementos de programación en Visual Basic, como el manejo de variables, procedimientos, funciones implícitas del lenguaje, tipos de datos, estructuras de control, etcétera. Si verdaderamente quiere ser un experto en Visual Basic, es necesario que deje lo sencillo, el lado "Visual", para profundizar en primera instancia en su lado "Basic". • Controles gráficos y programación orientada a eventos. Trata de manera detallada los controles básicos de Visual Basic. Al terminar esta parte, estará listo para diseñar cualquier interfaz de usuario que se proponga desarrollar. También se revisa el manejo de algunos controles ActiveX que proporcionarán un aspecto profesional a sus aplicaciones. • Archivos y bases de datos. Trata de manera específica la forma de utilizar bases de datos con Visual Basic, introduciéndolo a técnicas avanzadas para el registro, recuperación y eliminación de información, representación de modelos de datos en Visual Basic y el manejo de instrucciones SQL, utilizando para ello las versiones más recientes de las colecciones de objetos para manejo de datos: Objetos de Acceso a Datos de Microsoft, Objetos de Datos ActiveX de Microsoft y enlaces mediante ODBC. Esta parte también trata la manipulación de archivos de texto utilizando Visual Basic, así como el manejo del diseñador Data Report, que le permitirá crear informes para su salida en pantalla o papel. • Apéndices. Aquí se detallará información del producto y las costumbres asociadas a su uso. Los apéndices constituyen una referencia que no debe dejar de consultar para obtener buenos productos de su trabajo. Se tratarán en este caso las xxiii
  • 24. xxiv Forma y contenido del libro convenciones de la programación en Visual Basic, así como las mejoras relacionadas con el Service Pack 5.0 de Visual Studio. Cada parte se divide a su vez en capítulos; cada uno de los cuales tiene una organización consistente que facilita la presentación del material. • Cada capítulo tiene el tamaño adecuado para manejar un tema de manera completa, sin ser muy extenso; la idea es que no interrumpa un tema sin agotarlo. • Cada capítulo inicia con una sección de Objetivos, la cual describe de manera rápida lo que se pretende aprender en dicho capítulo. • Al final de cada capítulo se encontrará una sección de Resumen, en la cual se enumerarán los puntos más importantes, principalmente los que serán indispensables para capítulos posteriores. En el resumen también podrá encontrar respuestas relativas a algunas prácticas del capítulo. Notas Las notas que aparecen en el contenido de este libro pueden ser de los siguientes tipos: • Las referencias marcadas como Nota contienen información suplementaria, que no repercute en la realización de una tarea, pero que sin duda enriquecerá su acervo de conocimientos relativos a Visual Basic. • Las notas marcadas como Lo inesperado contienen explicaciones de aquello que le puede suceder y que no esperaba que ocurriera; comportamientos extraños, errores, situaciones imprevistas de toda índole. Por lo general, seguirán de prácticas que con toda intención generan el error, a efecto de que usted lo pueda analizar y prevenir. Este tipo de notas será vital para usted, ya que los errores más comunes y la forma de solucionarlos se detallarán en el momento oportuno. Prácticas • Las prácticas que se encuentren en este libro (que son muchas) estarán presentadas como listas numeradas (1, 2, 3, y así sucesivamente). Una viñeta triangular (>>) indica el inicio de una práctica. Las prácticas estarán numeradas por Capítulo.Práctica; las prácticas serán su guía para saber cómo hacer algo. • En el desarrollo de las prácticas será muy frecuente el uso de los menús de Visual Basic; algunos de ellos tienen diferentes niveles de profundidad, es decir, de un
  • 25. Forma y contenido del libro xxv menú surge otro menú, y así sucesivamente. Para manejar esa situación, será lo mismo decir "Seleccione en la barra de menús la opción Herramientas, después seleccione Opciones y después, en el cuadro de diálogo que aparece, seleccione la ficha Avanzadas", que "Seleccione el menú Herramientas — Opciones — Avanzadas". Lo simplificamos porque en la práctica es así de fácil: mediante tres clics usted ya habrá hecho todo el proceso de selección de una opción, en menos de tres segundos. La idea es que el libro no haga que lo sencillo parezca complejo. Notaciones y uso de tipos de letra • Se utilizarán itálicas cuando surjan conceptos y términos nuevos, incluyendo elementos propios del lenguaje que sean referidos por primera vez. También aplicará para las variables y argumentos, cuando aparezcan como parte de una sintaxis. Aplicarán cuando se haga referencia a otros textos, cuando se haga referencia a bibliotecas del lenguaje y cuando se describan mensajes de error en las secciones de Lo inesperado. •Se utilizará MCPdigital (u OCR A Extended) para las propiedades de los objetos (estén o no asociadas a los objetos), las referencias a funciones, palabras reservadas y el código de Visual Basic. •En la sintaxis, los corchetes "[ ]" encierran aquellos elementos opcionales. Las llaves "( }", por su parte, contendrán opciones mutuamente excluyentes. •Se utilizarán negritas en los nombres de directorios o archivos. Se utilizarán de igual manera para referir nombres de procedimientos creados por el usuario, así como para los datos de entrada que el usuario tiene que escribir, incluyendo pulsaciones de teclas. Se utilizarán para identificar las herramientas y componentes del Entorno Integrado de Desarrollo, en sus partes no utilizables como opción. •Se utilizarán negritas itálicas para los elementos de la interfaz que pueden ser utilizados como opción, las opciones de menú y otras opciones de interfaz, como botones de comando u otros que desencadenen alguna acción determinada, formen parte del Entorno Integrado de Desarrollo, o de la interfaz creada por los usuarios.
  • 26. xxvi Forma y contenido del libro Convenciones del teclado • El signo de suma (+) entre dos teclas indica que éstas deberán ser presionadas de manera simultánea; por ejemplo, "Alt+A". Archivos de apoyo En el sitio Web http://www.enlace.net/ramirez2 se ha colocado un archivo llamado AVBP.ZIP, que contiene los archivos comprimidos que son necesarios para la realización de las prácticas del libro. Al ejecutar el programa, se generará un directorio llamado avbp, que a su vez tendrá varios directorios, como sigue: avbp cap01 cap02 cap03 .. • En avbpcapn se colocarán los archivos necesarios para que pueda realizar de manera completa y correcta las prácticas. La ncorresponde al número de capítulo en donde son requeridos los archivos. • En avbpcapn se deberán guardar las aplicaciones que vaya generando, a efecto de que tenga debidamente organizado su avance. La n corresponde al número de capítulo en el que son generadas las aplicaciones. Aunque no todos los capítulos requieren archivos o generan aplicaciones, se incluirán de tal forma que se tenga un estándar de uso. No se incluyen los ejercicios ya resueltos; la idea es que usted programe, ¿o no?