Aprenda Visual Basic Practicando

  • Upload
    karla

  • View
    146

  • Download
    19

Embed Size (px)

DESCRIPTION

Visual basic

Citation preview

  • APRENDA VISUAL BASIC PRACTICANDO

  • APRENDA VISUAL BASIC

    PRACTICANDO Jos Felipe Ramrez Ramrez

    Master en Informtica Administrativa, Catedrtico de la Facultad de Contadura Pblica y Administracin,

    Universidad Autnoma de Nuevo Len, Mxico

    Revisin tcnica:

    Lic. Jos Luis Ramos Coordinador de la Carrera de Informtica Administrativa, Facultad de Contadura

    Pblica y Administracin, Universidad Autnoma de Nuevo Len, Mxico

    Pearson Educacin

    MXICO ARGENTINA BRASIL COLOMBIA COSTA RICA CHILE ESPAA GUATEMALA PER PUERTO RICO VENEZUELA

  • / Datos de catalogacin bibliogrfica RAMREZ RAMREZ, JOS FELIPE Aprenda Visual Basic practicando

    PEARSON EDUCACIN. Mxico, 2001

    ISBN: 970-26-0285-8 rea: Universitarios

    Formato: 18.5x23.5cm Pginas: 848

    Editor: Jos Luis Vzquez Chavarra e-mail: [email protected]

    Editor de desarrollo: Amonio Nuez Ramos Supervisor de produccin: Jos D. Hernndez Garduo Diseo de portada: Iliana H. Gonzlez Villafn

    PRIMERA EDICIN. 2001

    D-R, 2001 por Pearson Educacin de Mxico, S.A. de C.V. Calle 4 No, 25-2do. Piso

    Fracc. Industrial Alce Blanco 53370 Naucalpan de Jurez, Edo. de Mxico E-mail: [email protected]

    Cmara Nacional de la Industria Editorial Mexicana. Registro No. 1031

    Reservados todos los derechos. Ni la totalidad ni parte de esta publicacin pueden reproducirse, registrarse o transmitirse, por un sistema de recuperacin de informacin, en ninguna forma ni por ningn medio, sea electrnico, mecnico. fotoqumico, magntico o electro ptico, por fotocopia, grabacin o cualquier otro. sin permiso previo por escrito del editor.

    El prstamo, alquiler o cualquier otra forma de cesin de uso de este ejemplar requerir tambin la autorizacin del editor o de sus representantes.

    ISBN: 970-26-0285-8

    Impreso en Mxico- Primea in Mxico

    1234567890-03 02 01

    Pearson

  • Educacin

    A Adriana, mi esposa, porque ama mis propiedades,

    hace mejores todos mis eventos y motiva todos mis mtodos.

  • CONTENIDO ____________________________________________________________________ Contenido ..........................................................................................................................................vi ndice de prcticas .............................................................................................................................xv Lo inesperado ....................................................................................................................................xx Prlogo ..............................................................................................................................................xxii Forma y contenido del libro .............................................................................................................xxiii Agradecimientos...............................................................................................................................xxvii

    Parte 1: Entorno Integrado de Desarrollo

    Captulo 1: Visual Basic como plataforma de desarrollo ................................................. 3 Objeto de la programacin ...................................................................................................................... 4 Visual Basic: ms que un lenguaje de programacin ............................................................................. 5 Entorno Integrado de Desarrollo ............................................................................................................ 6 Ediciones de Visual Basic ........................................................................................................................ 8 Elementos del IDE .................................................................................................................................. 9 La barra de mens ................................................................................................................................... 12 La barra de herramientas ......................................................................................................................... 12 Formulario (Form) .................................................................................................................................. 13 Modos de trabajo con formularios: SD1 y MDI ..................................................................................... 13 Tecnologa orientada a objetos y Visual Basic ....................................................................................... 16 Controles ................................................................................................................................................. 18 Clase ........................................................................................................................................................ 18 Objetos .................................................................................................................................................... 18 Cuadro de herramientas .......................................................................................................................... 19 Propiedades ............................................................................................................................................. 23 Mtodos .................................................................................................................................................. 24 Ejemplificacin de objeto - propiedad - mtodo .................................................................................... 24 Explorador de proyectos ......................................................................................................................... 25 Tiempos de desarrollo de Visual Basic ................................................................................................... 27 Ventana Propiedades ............................................................................................................................... 28 Ventana Posicin del formulario ............................................................................................................. 31 Pasos para crear una aplicacin en Visual Basic ..................................................................................... 32 Resumen................................................................................................................................................... 33 Algunas respuestas a los ejercicios ........................................................................................................ 34 Capitulo 2: Creacin de la interfaz de usuario ............................................................... 35 El punto de partida: Qu desea hacer? .................................................................................................. 36 Paso 1: Crear la interfaz de usuario .................................................................................................... 37

  • Contenido vii Insercin de objetos............................................................................................................................... 37 Propiedades de posicin y dimensin .................................................................................................. 41 Organizacin de los objetos en el formulario ...................................................................................... 48 Cmo establecer las aplicaciones para diferentes resoluciones de monitores ..................................... 52 Resumen ....................................................................................................................................................... 55 Algunas respuestas a los ejercicios ..................................................................................................... 56 Captulo 3: Cmo establecer las propiedades de los objetos .............................................. 57 Consideraciones de diseo 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 Cmo asignar el nombre adecuado a cada uno de los objetos .......................................................... 62 Cmo establecer las propiedades de apariencia y comportamiento .................................................. 67 Tablas de objetos y propiedades ........................................................................................................ 73 Resumen ..................................................................................................................................................... 74

    Captulo 4: Escritura del cdigo de los eventos ................................................................... 75 Paso 3: Escribir el cdigo de los eventos .................................................................................................... 76 El editor de cdigo de Visual Basic ............................................................................................................ 76 Elementos de la ventana Cdigo .......................................................................................................... 79 Caracteres especiales ............................................................................................................................ 81 Asistencia en la edicin de cdigo ....................................................................................................... 84 El evento predeterminado de los objetos............................................................................................... .84 Convenciones para la codificacin ....................................................................................................... .94 Especificaciones de codificacin ........................................................................................................... 96 Qu hacer con los procedimientos de evento sin cdigo? .................................................................... .97 Resumen ...................................................................................................................................................... 98 Algunas respuestas a los ejercicios ..................................................................................................... 98

    Captulo 5: Cmo guardar y ejecutar aplicaciones ............................................................. 101 Cmo se almacena su trabajo en Visual Basic? ......................................................................................... 102 Cmo guardar aplicaciones .......................................................................................................................... 103 Recomendaciones para nombrar archivos en Visual Basic .................................................................... 107 Cmo ejecutar su aplicacin ......................................................................................................................... 108 Depuracin y control del programa............................................................................................................... 114 Indicadores de margen ............................................................................................................................. 115 La ventana Cdigo al depurar una aplicacin ..........................................................................................117 Ejecucin paso a paso .............................................................................................................................. 118 Puntos de interrupcin ............................................................................................................................. 119 Cmo generar un archivo ejecutable (EXE) ................................................................................................. 120 Forma esquemtica de presentacin de aplicaciones ................................................................................... 123 Resumen ...................................................................................................................................................... 127 Algunas respuestas a los ejercicios .......................................................................................................... 128 Parte 2: Elementos de programacin

    Captulo 6: Variables y tipos de datos ...................................................................................................... 131 MsgBox .................................................................................................................................................. 132 Constantes de Visual Basic .................................................................................................................... 135

  • viii Contenido

    InputBox .................................................................................................................................................... 139 Declaracin de variables ................................................................................................................................ 142 Tipos de datos ................................................................................................................................................ 143 DIM: declaracin de variables de memoria ................................................................................................... 145 Alcance .......................................................................................................................................................... 147 Nombre .......................................................................................................................................................... 148 Constantes ...................................................................................................................................................... 150 Matrices .......................................................................................................................................................... 150 Funciones de lmite de posiciones .................................................................................................................. 153 Option Explicit ......................................................................................................................................... 155 Conversin de datos ........................................................................................................................................ 158 La funcin Format ........................................................................................................................................ 161 Resumen ......................................................................................................................................................... 166 Algunas respuestas a los ejercicios ....................................................................................................... 166 Captulo 7: Operadores y estructuras de control ...................................................................... 169 Operadores aritmticos .................................................................................................................................... 170 Operadores comparativos ................................................................................................................................ 172 Cdigo ASCII ......................................................................................................................................... 173 Operadores lgicos .......................................................................................................................................... 174 Prioridad entre operadores ............................................................................................................................... 177 Instruccin If (condicional) ........................................................................................................................... 178 Select Case ................................................................................................................................................ 184 For Next ....................................................................................................................................................... 186 Do Loop .......................................................................................................................................................... 189 Resumen .......................................................................................................................................................... 191 Algunas respuestas a los ejercicios ...................................................................................................... 191 Captulo 8: Funciones de manipulacin de datos ......................................................................193 Qu son las funciones .......................................................................................................................................194 Funciones de fecha y hora ................................................................................................................................ 195 Funciones de manipulacin de cadenas (string) ......................................................................................... 202 Funciones numricas ........................................................................................................................................ 210 Funciones de decisin ...................................................................................................................................... 213 Funciones de uso especfico ............................................................................................................................. 216 Funciones financieras ................................................................................................................................ 216 Funciones trigonomtricas ........................................................................................................................ 217 Resumen ........................................................................................................................................................... 218 Captulo 9: Procedimientos y funciones definidas por el usuario .......................................... 219 Procedimientos ................................................................................................................................................. 220 Ejecucin de procedimientos ............................................................................................................... 221 Cmo 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 Especificacin de argumentos opcionales ......................................................................................... 229 Valores predeterminados para argumentos opcionales ...................................................................... 232 Funciones con nmero incierto de argumentos ................................................................................ 233 Resumen ......................................................................................................................................................... 237

  • Contenido jx

    Parte 3: Controles grficos y programacin orientada a eventos

    Captulo 10: Controles bsicos para la introduccin de datos ................................................................ 241 Controles bsicos para el acceso de datos ..................................................................................................... 242 Label....................................................................................................................................................... 242 TextBox.................................................................................................................................................. 243 CommandButton...................................................................................................................... 244 Enfoque ......................................................................................................................................................... 249 La tecla presionada: evento KeyPress .................................................................................................. 259 Resumen ........................................................................................................................................................ 262

    Captulo 11: Programacin orientada a eventos ........................................................................................ 263 Eventos y su clasificacin ............................................................................................................................... 264 Argumentos implcitos ............................................................................................................................. 266 Resumen de las categoras de eventos, consideradas de uso general .............................................................. 266 TipoClic .................................................................................................................................................. 267 Tipo Cambios ......................................................................................................................................... 268 Tipo Enfoque .......................................................................................................................................... 270 Tipo Ratn .............................................................................................................................................. 284 Prioridad de los eventos .................................................................................................................................. 294 Resumen .......................................................................................................................................................... 303

    Captulo 12: Controles contenedores y controles de seleccin .................................................................. 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

    Captulo 13: Controles de listas desplegables .............................................................................................. 339 Concepto de coleccin ..................................................................................................................................... 340 Listas desplegables: ListBox y ComboBox ................................................................................................ 342 Cmo agregar y eliminar opciones de las listas desplegables ......................................................................... 343 Mtodo Additem ..................................................................................................................................... 343 Propiedad ListCount ............................................................................................................................ 344 Propiedad List ........................................................................................................................................ 345 Propiedades Selected y Listindex ................................................................................................. 346 Mtodo Removeltem .............................................................................................................................. 347 Mtodo Clear .......................................................................................................................................... 348 Resumen ........................................................................................................................................................... 368

    Captulo 14: Editor de mens y manejo del Portapapeles ......................................................................... 371 El Editor de mens .......................................................................................................................................... 372 Cmo invocar el Editor de mens .......................................................................................................... 373

  • x Contenido

    Manejo del Portapapeles ............................................................................................................................... 385 Len: longitud del texto .......................................................................................................................... 386 Propiedades del objeto fuente: SelStart, SelLength y SelText .............................................. 386 Mtodos del objeto Clipboard: Clear, SetText y GetText .......................................................... 387 Resumen ........................................................................................................................................................ 393

    Captulo 15: Manejo de imgenes .............................................................................................................. 395 Controles bsicos para mostrar imgenes ....................................................................................................... 396 Image .............................................................................................................................................................. 396 LoadPicture ......................................................................................................................................... 396 PictureBox ................................................................................................................................................. 400 Adicin de componentes al proyecto .............................................................................................................. 405 Almacenamiento de imgenes ......................................................................................................................... 409 ImageList (; Microsoft Windows Common Controls 6.0) ...................................................................... 410 Resumen .......................................................................................................................................................... 419 Algunas respuestas a los ejercicios ............................................................................................................. 419

    Captulo 16; Arrastrar y colocar ................................................................................................................. 421 Arrastrar y colocar .......................................................................................................................................... 422 Estados de transicin y punteros predefinidos ................................................................................................ 432

    Punteros predefinidos del entorno de Windows ..................................................................................... 433 Manejo en modo manual de arrastrar y colocar .............................................................................................. 435 Resumen .......................................................................................................................................................... 441

    Captulo 17: Control del tiempo .................................................................................................................. 443 Control bsico para controlar el tiempo .......................................................................................................... 444 Timer ...................................................................................................................................................... 444 Resumen .......................................................................................................................................................... 449

    Captulo 18: Manejo del sistema de archivos ............................................................................................. 451 El sistema de archivos ..................................................................................................................................... 452 Controles bsicos para el manejo del sistema de archivos .............................................................................. 452 DriveListBox ............................................................................................................................................ 452 DirListBox ................................................................................................................................................. 453 FileListBox .............................................................................................................................................. 453 Manejo del objeto FileSystem ................................................................................................................... 461 Manipulacin de subdirectorios ................................................................................................................... 461 Manipulacin de archivos ............................................................................................................................ 468 Resumen ........................................................................................................................................................... 474

    Captulo 19: Cuadros de dilogo comunes ...................................................................................................477 Cuadros de dilogo comunes ............................................................................................................................478 CommonDialog (; Microsoft Common Dialog Control 6.0) ..................................................................... 478 Indicadores ................................................................................................................................................... 480 Manejo de errores ......................................................................................................................................... 481 Cuadro de dilogo Color ............................................................................................................................. 482 Cuadro de dilogo Fuente ............................................................................................................................ 485 Cuadro de dilogo Imprimir ........................................................................................................................ 491 Cuadro de dilogo Abrir/Guardar como ...................................................................................................... 497 Resumen .......................................................................................................................................................... 504

  • Contenido xi

    Captulo 20: Cmo trabajar en una interfaz de mltiples documentos ............................................... 505 Fundamentos del entorno MDI .................................................................................................................. 506 Limitaciones que implica el uso de un formulario MDI ....................................................................... 508 Cmo preparar su aplicacin para compilacin y distribucin ................................................................... 511 Resumen ...................................................................................................................................................... 512

    Captulo 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 Cmo agregar opciones a un sistema TreeView ............................................................................... 519 StatusBar (; Microsoft Windows Common Controls 6.0) ............................................................ 526 Cmo agregar opciones a un objeto basado en StatusBar .............................................................. 526 ToolBar (; Microsoft Windows Common Controls 6.0) ................................................................. 529 Cmo agregar opciones a un objeto basado en StatusBar .............................................................. 530 Resumen ...................................................................................................................................................... 537 Parte 4: Archivos y bases de datos

    Captulo 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 cdigo de aplicaciones ................................................................................ 550 El motor de base de datos ....................................................................................................................... 551 El almacn de datos ................................................................................................................................ 551 DAO ............................................................................................................................................................. 551 Clases, objetos y colecciones ................................................................................................................. 554 Divisiones de la programacin de bases de datos .................................................................................. 555 Lenguaje de Definicin de Datos ........................................................................................................... 555 Lenguaje de Manipulacin de Datos ...................................................................................................... 556 Resumen ...................................................................................................................................................... 556 Algunas respuestas a los ejercicios ........................................................................................................ 556

    Captulo 23: Lenguaje de Definicin de Datos y DAO ........................................................................... 559 Lenguaje de Definicin de Datos ................................................................................................................. 560 Tipos de objetos en DAO ........................................................................................................................ 561 Sintaxis para el uso de colecciones ........................................................................................................ 562 Variables objeto ...................................................................................................................................... 563 Espacio de trabajo e integracin de la base de datos .............................................................................. 570 Mtodos Create ................................................................................................................................... 570 Bloque With... End With ................................................................................................................ 573 Elementos requeridos para agregar objetos ............................................................................................ 576

  • xii Contenido Cmo trabajar con las colecciones de DAO ................................................................................................... 587 Resumen .......................................................................................................................................................... 594 Algunas respuestas a los ejercicios ........................................................................................................ 595

    Captulo 24: Lenguaje de Manipulacin de Datos y DAO ........................................................................ 597 Lenguaje de Manipulacin de Datos .............................................................................................................. 598 Validaciones a nivel tabla ....................................................................................................................... 599 Validaciones a nivel base de datos .......................................................................................................... 599 Operaciones bsicas de manipulacin 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 actualizacin al almacn de datos .......................................................................................... 606 Tareas de bsqueda 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 Tcnica RAR ................................................................................................................................................... 613 Tareas de movimiento entre datos ................................................................................................................... 622 Tareas de bsqueda de datos (parte 2) ............................................................................................................. 627 Condicin ................................................................................................................................................... 628 Mtodos Find ........................................................................................................................................... 629 Resumen ........................................................................................................................................................... 636

    Captulo 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

    Captulo 26: Bases de datos multiusuario usando DAO ........................................................................... 657 La necesidad de capacidades multiusuario ..................................................................................................... 658 Cmo abrir la base de datos en modo compartido ................................................................................... 658 Cmo 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 Aclaracin 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 Captulo 27: Archivos planos para transferencia de datos ...................................................... 675 Los archivos planos siguen vigentes ............................................................................................................... 676 Creacin y lectura de archivos planos ............................................................................................................. 677 Open ........................................................................................................................................................ 678 FreeFile ............................................................................................................................................... 678 Tipos de datos definidos por el usuario .................................................................................................... 679 Cmo escribir en un archivo ..................................................................................................................... 679 Input ...................................................................................................................................................... 684 Resumen .......................................................................................................................................................... 688 Captulo 28: Manejo de bases de datos corporativas usando ADO ........................................ 689 Bases de datos ms all de la computadora personal ...................................................................................... 690 Objeto de Datos ActiveX .......................................................................................................................... 690 Pubs: La base de datos de ejemplo ............................................................................................................ 692 Ejecucin front - end a travs de ADO ..................................................................................................... 693 Conexin 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 travs de ODBC ................................................................................................................................ 732 Conexin a travs de DSN almacenado en el Registro ........................................................................... 733 Conexin a travs de DSN almacenado en archivo DSN ....................................................................... 733 MDAC y problemas comunes en el enlace ................................................................................................... 735 Resumen ........................................................................................................................................................ 736 Captulo 29: Data Environment ................................................................................................. 737 Organizacin de enlaces a datos utilizando el Data Environment ................................................................ 738 Estructura jerrquica del Data Environment .......................................................................................... 739 Resumen ....................................................................................................................................................... 749

    Captulo 30: Data Report ........................................................................................................... 751 Informes a travs del Data Report ................................................................................................................ 752 Cmo 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 Cmo agregar campos del Data Environment al Data Report ................................................................ 760 Cmo agregar objetos al Data Report ..................................................................................................... 762 Informes con grupos de datos ........................................................................................................................ 769 Data Environment para informes con grupos .......................................................................................... 771 Cmo se organizan las secciones ............................................................................................................. 776 Campos calculados y objetos rptFunction ........................................................................................ 783 Resumen ......................................................................................................................................................... 787

  • xiv Contenido

    Parte 5: Apndices

    Apndice I: Convenciones ......................................................................................................................... 791 Prefijos para los controles ............................................................................................................................ 791 Prefijos sugeridos para DAO .................................................................................................................. 794 Prefijos sugeridos para mens ................................................................................................................ 795 Seleccin 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 codificacin estructurada ................................................................................................. 799 Convenciones de comentarios al cdigo ................................................................................................ 799 Cmo formatear el cdigo ...................................................................................................................... 801 Agrupacin de constantes ....................................................................................................................... 801 Operadores & y + .................................................................................................................................... 802 Creacin de cadenas para MsgBox, InputBox y consultas SQL ........................................................ 802

    Apndice II: Service Pack 5.0 de Visual Studio 6.0 ................................................................................... 803 Necesidad del Service Pack ............................................................................................................................ 803 Consideraciones de instalacin ................................................................................................................. 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 Artculos de Microsoft Knowledge Base sobre los errores solucionados ........................................................ 812

    ndice ................................................................................................................................................................813

  • NDICE DE PRCTICAS _________________________________________________________________________

    Parte 1: Entorno Integrado de Desarrollo

    Capitulo 1: Visual Basic como plataforma de desarrollo 01.01 Cmo iniciar sesin en Visual Basic...................................................................................... 6

    01.02 Cmo cerrar una sesin en Visual Basic................................................................................ 8 01.03 Cmo activar los elementos del IDE ................................................................................... 11 01.04 Cmo establecer el entorno de desarrollo a SDI ................................................................. 14 01.05 Ubicacin de los controles ................................................................................................... 22 01.06 Cmo ocultar y mostrar formularios..................................................................................... 26 01.07 Uso de la ventana Propiedades ............................................................................................. 30

    Capitulo 2: Creacin de la interfaz de usuario 02.01 Cmo insertar un objeto en la interfaz.................................................................................. 38 02.02 Cmo cambiar la posicin o las dimensiones de un objeto................................................... 43 02.03 Cmo seleccionar un formulario... ....................................................................................... 45 02.04 Corno cambiar el tamao de un formulario. ......................................................................... 45 02.05 Cmo guardar su trabajo....................................................................................................... 46 02.06 Cmo agregar objetos en modo de trazo .............................................................................. 47 02.07 Seleccin de objeto activo. en forma individual o en modo de grupo ................................. 49 02.08 Cmo determinar la posicin de un formulario en la pantalla ............................................. 51 02.09 Cmo establecer las Guas de resolucin ............................................................................. 53

    02.10 Cmo utilizar las herramientas del men Formato para organizar objetos...................................... 54

    Captulo 3: Cmo establecer las propiedades de los objetos 03.01 Cmo validar la cantidad y el tipo de objetos requeridos en una aplicacin......................... 60 03.02 Cmo modificar la propiedad ame de los objetos............................................................... 66 03.03 Cmo modificar las propiedades de apariencia y comportamiento....................................... 68

    Captulo 4: Escritura del cdigo de los eventos 04.01 Cmo abrir la ventana Cdigo............................................................................................... 81 04.02 Cmo manejar los componentes de la ventana Cdigo ........................................................ 82 04.03 Manejo de colores y autoformato al editar cdigo................................................................. 85 04.04 Compilacin y deteccin de errores en modo de edicin...................................................... 86 04.05 Sugerencia de propiedades y mtodos en modo de edicin................................................... 87 04.06 Uso de los cuadros Objeto y Evento para la seleccin y codificacin de un procedimiento

    de evento determinado .......................................................................................................... 90 04.07 Uso del carcter de .subrayado y la ayuda contextual en modo de edicin........................... 92

    Captulo 5: Cmo guardar y ejecutar aplicaciones 05.01 Archivos de trabajo en Visual Basic ................................................................................. 104 05.02 Cmo abrir un proyecto previamente guardado................................................................. 107 05.03 Cmo ejecutar e interrumpir su programa.......................................................................... 110 05.04 Cmo seleccionar el proyecto inicial.............. ................................................................... 111

    xv

  • xvi ndice de prcticas

    05.05 Cmo seleccionar el objeto de inicio en un proyecto..........................................................................113 05.06 Despliegue de errores en tiempo de ejecucin ................................................................................... 116 05.07 Cmo corregir cdigo en modo de interrupcin................................................................................. 118 05.08 Cmo ejecutar un programa lnea por lnea................................................. ...................................... 119 05.09 Cmo agregar y eliminar un punto de interrupcin............................................................................ 120 05.10 Cmo compilar un proyecto para generar un ejecutable en Visual Basic.......................................... 121

    Parte 2: Elementos de programacin

    Captulo 6: Variables y tipos de datos 06.01 MsgBox: creacin de cuadros de informacin y confirmacin de manera rpida..............................133 06.02 Uso de constantes de Visual Basic...................................................................................................... 138 06.03 InputBox: acceso rpido de datos ...................................................................................................140 06.04 Determinacin del nombre. tipo de datos y alcance indicado para las variables de memoria.............148 06.05 Uso de matrices y determinacin de lmites mnimos y mximos del intervalo de subndices...........154 06.06 Declaracin automtica de variables en Visual Basic..........................................................................155 06.07 Uso de Option Explicit (requerir la declaracin de variables de manera explcita)...................156 06.08 Cmo establecer Option Explicit de manera automtica para todos los formularios nuevos....157 06.09 Uso de funciones de conversin........................................................................ ................................. 160 06.10 Uso de la funcin Format ................................................................................................................ 163 06.11 Uso de la funcin Format. en formatos definidos por el usuario..................................................... 165

    Captulo 7: Operadores y estructuras de control 07.01 Uso de los operadores aritmticos .......................................................................................................171 07.02 Cmo se resuelven las condiciones que incluyen operadores de comparacin....................................174 07.03 Cmo especificar la preferencia al resolver condiciones. mediante el uso de parntesis ....................177 07.04 Uso de For Next ................................................................................................................ ...............187 07.05 Uso de Exit For ................................................................................................................................188 07.06 Uso de Do Loop .................................................................... .............................................................190

    Captulo 8: Funciones de manipulacin de datos 08.01 Uso de funciones de fecha y hora...................................................... .................................................201 08.02 Uso de funciones de manipulacin de cadenas................................................................................... 209 08.03 Uso de funciones numricas y de decisin.......................................................................................... 214

    Captulo 9: Procedimientos y funciones definidas por el usuario 09.01 Creacin de un procedimiento ............................................................................................................ 224 09.02 Creacin de un procedimiento que no utilice argumentos y devuelva valores................................... 226 09.03 Creacin de un procedimiento que utilice argumentos y devuelva valores........................................ 228 09.04 Creacin de un procedimiento que utilice argumentos opcionales y devuelva valores ..................... 231 09.05 Creacin de un procedimiento que utilice argumentos opcionales con valor predeterminado y devuelva valores................................................................................................................ 233 09.06 Creacin de un procedimiento que utilice un nmero de argumentos incierto.................................. 236

    Parte 3: Controles grficos y programacin orientada a eventos

    Captulo 10: Controles bsicos para la introduccin de datos 10.01 Uso de objetos basados en los controles Label. TextBox y CommandButton......................... 245

  • ndice de prcticas xvii

    10.02 Uso de botones predefinidos de aceptacin y cancelacin y cuadros de texto multilneas, de capacidad limitada.......................................................................................................................................... 251 10.03 Uso de caracteres para escritura oculta y validacin inmediata de caracteres, asegurando la captura de caracteres en mayscula. Habilitar e inhabilitar botones............................................................... 256

    Captulo 11: Programacin orientada a eventos 11.01 Demostracin de algunos de los eventos de tipo Clic, Cambios y Enfoque.............................................. 271 11.02 Demostracin de algunos de los eventos de tipo Teclado ......................................................................... 279 11.03 Demostracin de algunos de los eventos de tipo Ratn ............................................................................ 285 11.04 Cmo darle riqueza visual a un programa, mediante el evento MouseMove........................................... 287 11.05 Elaboracin de un programa que le permita visualizar la prioridad en la ejecucin de los eventos................................................................................................................................................. 295 11.06 Demostracin de la precedencia del evento MouseMove sobre el evento Click.................................. 301

    Captulo 12: Controles contenedores y controles de seleccin 12.01 Cmo utilizar un objeto contenedor para darle funcionalidad a una aplicacin ................................... 307 12.02 Uso de un control CheckBox para seleccionar varias caractersticas de manera simultnea ............. 312 12.03 Uso de una matriz de controles y su uso a travs de For Next y For Each .................................... 319 12.04 Uso de funciones RGB y QBGolor para la manipulacin 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 nmeros aleatorios ........................................................................ 332

    Captulo 13: Controles de listas desplegables 13.01 Utilizacin de un objeto ListBox, agregndole y eliminndole elementos de forma dinmica............................................................................................................................................. 349 13.02 Uso de objetos ListBox de seleccin mltiple, 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

    Captulo 14: Editor de mens y manejo del Portapapeles 14.01 Cmo se agrega un objeto de tipo men.................................................................................................. 375 14.02 Cmo introducir cdigo a una opcin de men y utilizar un men......................................................... 380 14.03 Activacin dinmica de opciones............................................................................................................. 381 14.04 Modificacin del tipo de letra utilizando el men.................................................................................... 383 14.05 Opciones de men mutuamente excluyentes............................................................................................ 384 14.06 Cmo se maneja el Portapapeles en Visual Basic..................................................................................... 387

    Captulo 15: Manejo de imgenes 15.01 Uso de objetos basados en el control Image y carga de imgenes con LoadPicture....................... 398 15.02 Uso de objetos basados en el control PictureBox y modificacin dinmica de imgenes ................ 401 15.03 Cmo agregar componentes a un proyecto de Visual Basic .................................................................... 406 15.04 Almacenamiento de imgenes en un objeto ImageList ...................................................................... 410 15.05 Uso de una coleccin de imgenes ImageList .................................................................................... 416

    Captulo 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 prcticas

    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

    Captulo 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

    Captulo 18: Manejo del sistema de archivos 18.01 Uso de los controles bsicos para el manejo del sistema de archivos................................................. 454 18.02 Uso del objeto FileSystem para manipulacin de directorios....................................................... 463 18.03 Uso del objeto FileSystem para manipulacin de archivos........................................................... 469

    Captulo 19: Cuadros de dilogo comunes 19.01 Cmo agregar el control CommonDialog al Cuadro de herramientas............................................. 479 19.02 Uso del control CommonDialog para manipular el color en el formato estndar de Windows................................................................................................................................................... 482 19.03 Uso del control CommonDialog para manipular las fuentes (tipos de letra) en el formato estndar de Windows.................................................................................................................................... 488 19.04 Uso del control CommonDialog para manipular las especificaciones de impresora en el formato estndar de Windows.............................................................................................................. 493 19.05 Uso del control CommonDialog para manejar el cuadro de dilogo Abrir/ Guardar como, en el formato estndar de Windows ............................................................................................................. 501

    Captulo 20: Cmo trabajar en una interfaz de mltiples documentos 20.01 Cmo agregar un formulario maestro para trabajo en MDI y los formularios hijos.......................... 506 20.02 Cmo trabajar con varios formularios ............................................................................................... 509

    Captulo 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

    Captulo 22: Bases de datos y DAO 22.01 Anlisis de un modelo relacional de bases de datos. 22.02 Identificacin de elementos del modelo de datos ......

    Captulo 23: Lenguaje de Definicin de Datos y DAO 23.01 Habilitacin de DAO.......................................................................................................................... 564 23.02 DDL utilizando DAO: declaracin de variables objeto...................................................................... 565 23.03 DDL utilizando DAO: creacin del almacn de base de datos........................................................... 574 23.04 DDL utilizando DAO: creacin de estructura de tablas y sus campos................................................ 579 23.05 DDL utilizando DAO: creacin de ndices .........................................................................................582

  • ndice de prcticas xix

    23.06 DDL utilizando DAO: creacin de relaciones.................................................................................. 584 23.07 Ingeniera inversa utilizando DAO: determinacin del modelo de datos a partir de un almacn de datos .......................................................................................................................... 589

    Captulo 24: Lenguaje de Manipulacin de Datos y DAO 24.01 DML utilizando DAO: actualizacin de una tabla mediante la tcnica RAR..................................... 614 24.02 DML utilizando DAO: mtodos de movimiento entre registros......................................................... 623 24.03 DML utilizando DAO: bsqueda basada en criterios ......................................................................... 630

    Captulo 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: intrprete de SQL para DAO, usando los controles Data y FlexGrid..................... 650

    Captulo 26: Bases de datos multiusuario usando DAO 26.01 Rutina de manejo de errores ............................................................................................................... 666 26.02 Uso del DAO para aplicaciones multiusuario..................................................................................... 669

    Captulo 27: Archivos planos para transferencia de datos 27.01 Creacin y escritura en archivos planos.............................................................................................. 680 27.02 Proceso para bajar datos de una base de datos a archivos planos ...................................................... 682 27.03 Cmo cargar datos a una base de datos desde un archivo.................................................................. 685

    Captulo 28: Manejo de bases de datos corporativas usando ADO 28.01 Conexin a bases de datos corporativas usando ADO........................................................................ 697 28.02 Visualizacin 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: actualizacin de una tabla mediante la tcnica RAR..................................... 722

    Captulo 29: Data Environment 29.01 Uso del Data Environment para manejar bases de datos corporativas ............................................... 742

    Captulo 30: Data Report 30.01 Cmo definir un Data Environment para utilizarlo con el Data Report.............................................. 757 30.02 Cmo complementar con objetos rptTextBox la seccin Detalle de un Data Report................... 761 30.03 Cmo complementar el Data Report con objetos rptLabel y rptLine. Asignacin de valores a objetos rptLabel ............................................................................................ 763 30.04 Cmo complementar el Data Report con objetos rptShape y rptimage................................... 767 30.05 Cmo definir un Data Environment para utilizarlo con el Data Report basado en grupos de informacin........................................................................................................................ 772 30.06 Cmo definir un Data Report basado en grupos de informacin........................................................ 778 30.07 Cmo integrar a un informe datos consolidados, de la base de datos y de campos calculados...........785

  • LO INESPERADO _________________________________________________________________________

    Errores en tiempo de diseo

    Apertura no solicitada de la ventana Cdigo.................................................................................................... 43 Changed database context to "Database" ...................................................................................................... 735 Desea crear una matriz de controles?............................................................................................................... 65 Especificacin de alcance de procedimiento no requerida................................................................................ 93 Formato regional de Windows afecta el valor devuelto de la funcin 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 .................................................................................................................... 786 No se encuentra Data Environment en el men Proyecto ............................................................................... 743 No se puede colocar el control en esta seccin.............................................................................. 786 No se recuperan datos,..................................................................................................................................... 748 Errores de compilacin (orden alfabtico)

    Bloque if sin end if .......................................................................................................................................... 180 Do sin Loop ..................................................................................................................................................... 190 El Character de declaracin de tipo no coincide con el tipo de datos declarado.......................................... 147 El Character no es vlido ............................................................................................................................... 147 El nmero 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 mtodo o el dato miembro .................................................................................................. 248 No se encontr mtodo 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 vlido............................................................................................................................... 786 Procedimiento Sub o Function no definido ..................................................................................................... 115 Referencia de variable de control Next no vlida ........................................................................................... 189 Se esperaba ")", "(" ......................................................................................................................................... 228 Se esperaba el fin de la instruccin.................................................................................................................. 146 Se esperaba fin de la funcin ........................................................................................................................... 228 Select Case sin End Select .............................................................................................................................. 185 Uso no vlido de una propiedad ..................................................................................................................... .248

    XX

  • Lo inesperado xxi Errores en tiempo de ejecucin (orden consecutivo)

    Algunos campos no regresan valores al ejecutar el informe........................................................................... 766 El tamao del informe excede el tamao de la pgina.................................................................................... 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 vlidos ........................................................................ 368 Error 6: Desbordamiento................................................................................................................................. 146 Error 9: El subndice 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 vlido ........................................................................................... 515 Error 424: Se requiere un objeto ............................................................................................................. 115, 247 Error 481: La imagen no es vlida.................................................................................................................. 397 Error 3020: Update o CancelUpdate sinAddNew o Edit ................................................................................ 612 Error 3044: {Rutaj No es una rut