Está en la página 1de 47

Curso:

Desarrollo de software en Windows con Visual Basic 6.0

Duracin del curso: 25 horas Nivel: Bsico-Intermedio Requisito: Conocer cualquier lenguaje de programacin Mejor si conoce: Basic, SQL bsico Teora: 60% Prctica: 40% Autor: Antonio Ortz Ramrez, www.aortiz.net, ant@aortiz.net

Objetivo general: Capacitar al asistente en el desarrollo de sistemas en plataforma Windows, proporcionando conocimientos slidos de los recursos, metodologas y tecnologas del ambiente. Adems, el asistente aprender el lenguaje de programacin Visual Basic 6.0, obteniendo conocimientos a un nivel bsico-intermedio que le permitan desarrollar sistemas en Windows.

Alcance del curso: Se cubrirn los aspectos tericos de la programacin Windows y la filosofa de programacin Visual Basic. Se aprender la programacin Visual Basic, incluyendo los temas: tipos de datos, estructuras de control, controles, acceso universal a datos con OLE-DB (ADO), uso del API de Windows (Win32 API). Se aprendern las bases del lenguaje SQL.

2 de 47

TEMARIO

CAPITULO I

INTRODUCCIN INICIANDO CON VISUAL BASIC

CAPITULO II CAPITULO III CAPITULO IV

CAJA DE HERRAMIENTAS TIPOS DE DATOS PRINCIPALES ESTRUCTURAS DE CONTROL Y SENTENCIAS DE VBA

CAPITULO V CAPITULO VI CAPITULO VII CAPITULO VIII CAPITULO IX

PRINCIPALES FUNCIONES DE VBA PRINCIPALES OBJETOS DE VISUAL BASIC ACCESO A DATOS CON ADO CAPITULO VII: EL API DE WINDOWS DISTRIBUCION

2001, Antonio Ortz Ramrez www.aortiz.net

3 de 47

CAPITULO I: INTRODUCCIN

Qu es Visual Basic? - La parte Visual se refiere al mtodo utilizado para la Interfase Grfica del Usuario (GUI). En lugar de escribir grandes cantidades de cdigo para describir la apariencia y posicin de los elementos de la interfase, simplemente agrega objetos preconstruidos y los coloca en la pantalla. - La parte Basic, se refiere al lenguaje BASIC (Beginners All-Purpose Symbolic Instruction Code), un lenguaje utilizado por ms programadores que cualquier otro lenguaje en la historia de la computacin. Visual Basic ha evolucionado del lenguaje Basic original y ahora contiene cientos de sentencias, funciones y palabras reservadas, muchas de las cuales se relacionan directamente con el GUI de Windows. Los principiantes pueden crear tiles aplicaciones aprendiendo unas cuantas palabras reservadas, adems, el alcance del lenguaje permite a los profesionales hacer cualquier cosa que pueda ser hecha utilizando cualquier otro lenguaje de programacin Windows.

El lenguaje de programacin Visual Basic no es nico de Visual Basic. El sistema de programacin Visual Basic, edicin Aplicaciones (Applications Edition) se incluye en Microsoft Excel, Microsoft Access, y muchas otras aplicaciones de Windows utilizan el mismo lenguaje. El Visual Basic Scripting Edition (VBScript) es un lenguaje script usado ampliamente y es un subconjunto del lenguaje Visual Basic. El esfuerzo hecho en aprender Visual Basic ser de utilidad en estas otras reas.

Sea que se trate de crear una pequea utilidad para s mismo o para su equipo de trabajo, un gran sistema corporativo, o una aplicacin distribuida por el globo va Internet, Visual Basic tiene las herramientas que necesita.

Las caractersticas de acceso a datos permiten crear bases de datos y aplicaciones frontend para muchas bases de datos populares como SQL Server y otras bases de datos de nivel corporativo.

La tecnologa ActiveX permite utilizar la funcionalidad de otras aplicaciones, como es el procesador de palabras de Microsoft Word, la hoja de clculo de Microsoft Excel, y otras aplicaciones Windows.
2001, Antonio Ortz Ramrez www.aortiz.net

4 de 47

Las capacidades para Internet hacen fcil acceder a documentos y aplicaciones a travs de Internet o una Intranet desde su Aplicacin, o crear aplicaciones servidor de Internet.

La aplicacin final es un verdadero archivo .exe que usa una mquina virtual Visual Basic que puede distribuir libremente.

Lo nuevo en Visual Basic 6.0

ADO (ActiveX Data Objects). Esta nueva tecnologa de acceso a datos contiene un modelo de objeto ms simple, mejor integracin con otras tecnologas Microsoft y no Microsoft, una interfaz comn para acceso local y remoto a datos, y conjunto de registros (recordsets) jerrquicos. Es posible usar drag and drop para crear reportes rpidamente a partir de cualquier recordset, incluyendo recordsets jerrquicos. Podr utilizar el administrador visual de datos para mostrar todas las bases de datos que estn conectadas y sus tablas, vistas, stored procedures, etc. Existen un conjunto de rutinas que permiten utilizar el sistema de archivos y crear archivos de texto y directorios. Escriba aplicaciones Internet del lado Servidor que usan cdigo Visual Basic para responder a peticiones de usuarios desde un navegador. El control CoolBar, es un control contenedor que puede ser usado para crear barras de herramientas configurables por el usuario parecidas a las de Internet Explorer. Las rutinas ahora pueden regresar arreglos, lo cual indica que las clases pueden tener arreglos como propiedad. Tambin es posible asignar el contenido completo de un arreglo a otro, siempre que el arreglo de la parte izquierda de la asignacin sea un arreglo dinmico. Cree componentes ActiveX que usan un ambiente aparte para ejecutar rutinas asncronas en hilos separados.

2001, Antonio Ortz Ramrez www.aortiz.net

5 de 47

REQUERIMIENTOS Y ESPECIFICACIONES DE VISUAL BASIC

Pentium 90MHz o superior VGA 640x480 o resolucin superior soportada por Microsoft Windows. Microsoft Windows NT 4.0 o posterior, o Microsoft Windows 95 o posterior. 24 MB de RAM para Windows 95/98, 32 MB parar Windows NT. Microsoft Internet Explorer version 4.01 o posterior (version 4.01 Service Pack 1 o posterior para desarrollo de aplicaciones DHTML, y 4.x para usuarios finales de estas aplicaciones). Requerimientos de espacio en disco: Standard Edition: instalacin tpica 48 MB, completa 80 MB. Professional Edition: instalacin tpica 48 MB, completa 80 MB. Enterprise Edition: instalacin tpica 128 MB, completa 147 MB. Componentes adicionales (si se requieren): MSDN (para documentacin): 67 MB, Internet Explorer 4.x: aproximadamente 66 MB.

CD-ROM

LIMITACIONES DE PROYECTO Un proyecto puede contener hasta 32,000 identificadores (cualquier palabra no reservada), que incluye, pero no limitado a, formularios, controles, mdulos, variables, constantes, procedimientos, funciones, y objetos.

Los nombres de variables en Visual Basic no pueden ser ms largos de 255 caracteres, y los nombres de formularios, controles, mdulos, y clases no pueden ser ms largos de 40 caracteres. Visual Basic no impone un lmite sobre el nmero de objetos distintos en un proyecto.

LIMITACIONES DE CONTROLES

Cada control no grfico (todos los controles excepto shape, line, image, y etiqueta) utiliza una ventana. Cada ventana usa recursos del sistema, limitando el nmero total de ventanas que pueden existir al mismo tiempo. El lmite exacto depende de los recursos disponibles del sistema y del tipo de controles utilizados.

2001, Antonio Ortz Ramrez www.aortiz.net

6 de 47

Para reducir el consumo de recursos del sistema, use los controles shape, line, label, e image en lugar de picture box para crear o desplegar grficos.

NUMERO TOTAL DE CONTROLES

El nmero mximo de controles permitidos en un formulario depende del tipo de controles usados y los recursos del sistema disponibles. Aunque, hay un lmite fijo de 254 nombres de controles por formulario. Un arreglo de controles cuenta como un slo control, ya que todos los controles en el arreglo comparten el mismo nombre de control.

El lmite de elementos en un arreglo de controles es de 0 a 32767 en todas las versiones.

LIMITE PARA CONTROLES ESPECIFICOS Propiedad List y ListCount Aplica a List box y Combo box Lmite El nmero mximo de elementos es de 32K; el lmite para el tamao de cada elemento es de 1K Text Caption Text box Label Command, 64K 1024 bytes Check 255 caracteres. Cualquier ttulo sobre estos lmites es truncado. Los ttulos en propiedades de controles personalizados estn limitados a 32K Men control Tag Name Todos los controles Todos los controles 235 caracteres Limitado slo por la memoria disponible Limitado a 40 caracteres

box, Frame, y Option

NOTA: en Visual Basic, los nombres de propiedades de control estn limitados a 30 caracteres

LIMITACIONES DE CODIGO

La cantidad de cdigo en una forma, clase, o mdulo est limitado a 65534 lneas. Una lnea de cdigo puede contener hasta 1023 bytes. Hasta 256 espacios en blanco pueden preceder el texto

2001, Antonio Ortz Ramrez www.aortiz.net

7 de 47

en una lnea, y no ms de 24 caracteres de continuacin de lnea ( _ ) pueden ser incluidos en una lnea lgica.

PROCEDIMIENTOS, TIPOS Y VARIABLES

No hay lmite sobre el nmero de procedimientos por mdulo. Cada procedimiento puede contener hasta 64K de cdigo. Si un procedimiento o mdulo excede este lmite, Visual Basic genera un error al tiempo de compilacin. Visual Basic usa tablas para guardar los nombres de identificadores (variables, procedimientos, constantes, etc) en el cdigo. Cada tabla est limitada a 64K.

TABLA DE DECLARACION DE DLLs

Cada formulario y mdulo de cdigo usa una tabla que contiene una estructura describiendo un punto de entrada a DLLs. Cada estructura usa aproximadamente 40 bytes, con una restriccin total de 64K, resultando alrededor de 1500 declaraciones permitidas por mdulo.

2001, Antonio Ortz Ramrez www.aortiz.net

8 de 47

CONCEPTOS

Sistema: Conjunto de mtodos, recursos y dispositivos para realizar un fin especfico.

Clase: Define las caractersticas (propiedades) y acciones de un tipo de objeto. A las clases tambin se les llama Moldes. Objeto: Entidad con caractersticas y acciones definidas de cierto tipo o clase.

Contenedor: Objeto que existe para contener otros objetos y adems puede realizar alguna accin.

Propiedad: Caracterstica con nombre. Ejemplo de propiedades son: ancho, alto, color, etc.

Funcin: Conjunto de instrucciones agrupadas en un procedimiento y que regresa un valor.

Mtodo: Accin que puede realizar un objeto. Por ejemplo: el mtodo Refresh o Move. Un evento slo se ejecuta por una llamada mediante cdigo.

Evento: Accin que puede realizar un objeto. Los eventos normalmente se ejecutan como respuesta a una accin del usuario como presionar un botn. Los eventos tambin pueden dispararse por el sistema (como el Timer) o por una llamada en el cdigo. Thread / Hilo: Un thread es bsicamente un camino de ejecucin a travs de un programa. Tambin es una pequea unidad de ejecucin que el Win32 maneja. Un thread consiste de un Stack, el estado de los registros del CPU, y una entrada en la lista de ejecucin del Sistema. Cada thread comparte todos los recursos del proceso.

Los hilos de baja prioridad pueden estar esperando mientras hilos de ms alta prioridad completan su trabajo. En equipos con mltiples procesadores, el programador de tareas puede mover hilos a diferentes procesadores para balancear la carga de CPUs. Ejecucin Asncrona: Algunas funciones pueden ser ejecutadas de manera asncrona, esto es, la aplicacin llama la funcin, y el manejador, despus de un mnimo procesamiento, regresa el control a la aplicacin. Entonces la aplicacin puede llamar otras funciones mientras la primera funcin contina ejecutndose.
2001, Antonio Ortz Ramrez www.aortiz.net

9 de 47

API: (Application Programming Interface). Son las funciones, mensajes, estructuras de datos, tipos de datos, y sentencias que puede utilizar para crear aplicaciones. El API de Windows consiste de un conjunto de Libreras de Ligado Dinmico (DLLs) conteniendo los procedimientos relacionados al sistema. Para llamar estos procedimientos desde Visual Basic, primero debe declararlos utilizando la sentencia Declare. Entonces podr llamarlos como cualquier otro procedimiento. OLE: Object Linking and Embedded, un ambiente unificado de servicios basados en objetos con la capacidad de personalizar estos servicios y arbitrariamente extender la arquitectura a travs de servicios personalizados, con el propsito de permitir total integracin entre componentes.

Cursor: Un objeto de la base de datos utilizado por las aplicaciones para manipular datos por renglones de manera similar a usar registros en un archivo secuencial. Stored Procedure: Una collecin precompilada de sentencias Transact-SQL almacenadas bajo un nombre y procesadas como unidad. Los Stored Procedures tambin sirven para administrar SQL Server y mostrar informacin sobre las base de datos y usuarios. Los Stored Procedure proporcionados por SQL Server son llamados system stored procedured.

Recordset: Objeto ADO usado para contener un resultado. Tambin muestra un cursor, dependiendo de las propiedades del recordset asignado por una aplicacin. Back End: Trmino aplicado al servidor de base de datos cuando est procesando, almacenando datos, y obteniendo datos.

2001, Antonio Ortz Ramrez www.aortiz.net

10 de 47

El IDE de Visual Basic

Cuando inicia Visual Basic, aparece el Entorno Integrado de Desarrollo (IDE), como se muestra a continuacin

2001, Antonio Ortz Ramrez www.aortiz.net

11 de 47

EL ENTORNO INTEGRADO DE DESARROLLO (IDE) DE VISUAL BASIC CONSISTE DE LOS SIGUIENTES ELEMENTOS:

Barra de Mens / Menu Bar

Muestra los comandos que utilizar para trabajar con Visual Basic. Existe mens estndar como File / Archivo, Edit / Edicin, y Help / Ayuda, tambin existen mens que proveen acceso a funciones especficas para programacin como son: Project / Proyecto, Format / Formato, o Debug / Depuracin.

Mens Contextuales / Context Menus

Contienen atajos para acciones utilizadas con frecuencia. Para abrir un men contextual, haga clic con el botn derecho del mouse sobre el objeto que est usando. La lista de atajos disponible en el men contextual depende de la parte del IDE donde haga clic con el botn derecho del mouse.

Barras de Herramientas / Toolbar

Permiten acceso rpido a comandos usados comnmente en el ambiente de desarrollo. Por defecto, la barra de herramientas Estndar es mostrada cuando inicia Visual Basic. Barras adicionales para edicin, diseo de formularios, y depuracin pueden ser mostradas u ocultadas de los comandos de las barras de herramientas a travs del men View / Ver.

Caja de Herramientas / Toolbox

Proveen un conjunto de herramientas que puede utilizar al tiempo de diseo para colocar controles sobre una forma. Es posible personalizar el diseo de la caja de herramientas por defecto, agregando o quitando controles.

Ventana del Explorador de Proyecto / Project Explorer Window

2001, Antonio Ortz Ramrez www.aortiz.net

12 de 47

Lista los formularios y mdulos en el proyecto actual. Un proyecto es la coleccin de archivos que se utilizan para construir una aplicacin.

Visor de Objetos / Object Browser Muestra los objetos disponibles para usar en el proyecto y permite una manera rpida de navegar a travs del cdigo. Podr usar el Visor de Objetos para explorar los objetos en Visual Basic y otras aplicaciones, ver los mtodos y propiedades disponibles para estos objetos, y pegar procedimientos de cdigo en su aplicacin.

Diseador de Formulario / Form Designer

Funciona como una ventana que puede personalizar para disear la interfase de su aplicacin. Agregue controles, grficas, e imgenes a una forma para crear la apariencia que desee. Cada forma en su aplicacin tiene su propia ventana para Diseo de Formulario.

Ventana de Edicin de Cdigo / Code Editor Window

Funciona como un editor para escribir el cdigo de la aplicacin. Una ventana para edicin de cdigo por separado es creada por cada forma o mdulo de cdigo en su aplicacin.

Ventana Posicin del Formulario / Form Layout Window

La ventana para posicin del formulario permite posicionar los formularios en su aplicacin utilizando una pequea representacin grfica en la pantalla.

Ventanas Inmediato, Local e Inspeccin / Inmediate, Locals, and Watch Windows

Estas ventanas son provistas para uso en depuracin de su aplicacin. Slo estn disponibles mientras se ejecuta su aplicacin con el IDE.

2001, Antonio Ortz Ramrez www.aortiz.net

13 de 47

INICIANDO CON VISUAL BASIC

Existen tres pasos principales para crear una aplicacin en Visual Basic:

1) Crear la interfaz, 2) Asignar propiedades, y 3) Escribir el cdigo

Crear la interfaz Los Formularios son la base para la creacin de la interfase de una aplicacin. Puede utilizar formularios para agregar ventanas y cajas de dilogo a su aplicacin. Tambin puede usarlos como contenedores para elementos que no son parte visible de la interfase de la aplicacin. Por ejemplo, puede tener una formulario en su aplicacin que sirve como contenedor para grficas que piensa mostrar en otros formularios.

El primer paso para construir una aplicacin Visual Basic es crear los formularios que sern la base de la interfase de la aplicacin. Enseguida coloque los objetos que formarn la interfase en los formularios que cree.

Asignar Propiedades

El siguiente paso es asignar propiedades para los objetos que ha creado, la ventana Propiedades nos provee es una manera fcil de asignar propiedades a todos los objetos en el formulario actual. La ventana Propiedades se muestra a travs del men View-Properties Window. Escribir Cdigo La ventana Edicin de Cdigo es donde se escribe el cdigo para su aplicacin. El cdigo consiste en sentencias del lenguaje, constantes, y declaraciones. Utilizando la venta de Edicin de Cdigo, podr ver y editar rpidamente cualquier cdigo en la aplicacin.

2001, Antonio Ortz Ramrez www.aortiz.net

14 de 47

Para abrir la ventana de Cdigo:

Haga Doble-clic en el formulario o control para el cual desea escribir cdigo Desde la ventana Project Explorer o Explorador del Proyecto, seleccione el nombre del Formulario o Mdulo y presione el botn View Code o Ver Cdigo.

El cdigo en una aplicacin de Visual Basic est dividida en pequeos bloques llamados Procedimientos, un procedimiento de evento, contiene el cdigo que es ejecutado cuando ocurre un evento (como cuando el usuario hace clic en un botn). Un procedimiento de evento para un control combina el nombre del control actual (especificado en la propiedad Name), una subraya ( _ ), y el nombre del evento. Por ejemplo, si desea que un botn de comandos llamado Command1 ejecute un procedimiento de evento cuando es presionado, use el procedimiento

Command1_Click.

Ejercicio No. 1: Cree una aplicacin llamada Hola Mundo, la cual contendr un formulario con slo una caja de texto y un botn. Al presionar el botn la caja mostrar el texto Hola Mundo.

Cree un nuevo Proyecto Cree un Formulario con nombre FmaPpal Coloque un Botn de Comandos con nombre BtnHola Coloque una Caja de Texto de nombre TxtHola Haga doble clic en el objeto BtnHola y en la ventana de cdigo asegrese que se encuentre en el evento Click, aqu escriba el cdigo: TxtHola.Text = Hola Mundo Presione F5 para ejecutar la aplicacin

2001, Antonio Ortz Ramrez www.aortiz.net

15 de 47

Propiedades, Mtodos y Eventos

Los formularios y controles en Visual Basic son objetos que tienen propiedades, mtodos y eventos. Las propiedades se conocen como los atributos de un objeto, los mtodos como sus acciones, y lo eventos como sus respuestas.

Por ejemplo, el globo de helio de un nio tiene sus propiedades, mtodos y eventos. Las propiedades del globo incluyen atributos visibles como el alto, dimetro y color. Otras propiedades describen el estado (como inflado o desinflado), o atributos que no son visibles como su edad. Por definicin todos los globos tienen estas propiedades pero los valores de estas propiedades pueden ser diferentes de un globo a otro.

Un globo tambin tiene mtodos o acciones que puede realizar. Como el mtodo inflar (la accin de llenado con helio), un mtodo desinflar (expeler su contenido).

Los globos tambin tienen respuestas predefinidas a ciertos eventos externos. Por ejemplo, un globo responder al evento de ser picado desinflndose por s solo, o al evento de ser liberado por flotar en el aire.

2001, Antonio Ortz Ramrez www.aortiz.net

16 de 47

CAPITULO II: CAJA DE HERRAMIENTAS DE VISUAL BASIC


La caja de herramientas, contiene los controles que se utilizan para crear una aplicacin en Visual Basic, estos son los principales controles en la barra de herramientas estndar:

Etiqueta / Label: Una etiqueta muestra texto que el usuario no puede cambiar directamente. Podr utilizar las etiquetas para identificar controles, como cajas de texto y barras de corrimiento, que no tienen una propiedad ttulo. el texto mostrado en la etiqueta es controlado por la propiedad Caption, que puede ser asignada en tiempo de diseo en la ventana Propiedades o en tiempo de ejecucin por asignar un valor en el cdigo. Por defecto, la propiedad Caption es la nica parte visible de la etiqueta.

La propiedad Autosize, determina si la etiqueta cambiar de tamao de manera automtica para mostrar todo el contenido de la propiedad Caption. Esto es importante si se cambia el valor de esta propiedad en tiempo de ejecucin. Cajas de Texto / TextBox: Las cajas de texto son controles que pueden ser usados para obtener una entrada del usuario o para desplegar texto. Las cajas de texto no pueden ser utilizadas para mostrar texto que no desea que el usuario cambie, a menos que asigne la propiedad Locked a verdadero. El texto mostrado en la caja de texto es controlado por la propiedad Text. Esta puede ser asignada de tres maneras diferentes: al tiempo de diseo en la ventana Propiedades, en tiempo de ejecucin por asignar un valor en el cdigo, o por la entrada del usuario en tiempo de ejecucin.

2001, Antonio Ortz Ramrez www.aortiz.net

17 de 47

Casilla de Verificacin / CheckBox: Indica cuando una condicin particular es verdadera o falsa. Las casillas de verificacin se utilizan en una aplicacin para capturar valores Verdadero/Falso o S/No del usuario. Las casillas de verificacin trabajan de manera independiente de otra, por lo tanto, un usuario puede seleccionar cualquier nmero de casillas al mismo tiempo.

Botones de Opcin / Options Buttons: Presentan un conjunto de dos o ms opciones al usuario. Al contrario de los check boxes, los botones de opcin trabajan como parte de un grupo; al seleccionar un botn, inmediatamente se limpian todos las dems opciones del grupo.

Cajas de Lista y Cajas Combinadas / List Boxes y Combo Boxes: Las cajas de lista y cajas combinadas presentan una lista de opciones al usuario. Por defecto, las opciones son mostradas verticalmente en slo una columna, aunque tambin puede establecer mltiples columnas. Si el nmero de elementos excede los que pueden ser mostrados en la caja combinada o caja de lista, aparecern barras de corrimiento de manera automtica sobre el control. List Box
2001, Antonio Ortz Ramrez www.aortiz.net

Combo Box

18 de 47

Barras de Corrimiento / Scroll Bars: Como estos controles indican la posicin actual en una escala, las barras de corrimiento pueden ser utilizadas para controlar la entrada en un programa, por ejemplo, para controlar el volumen del sonido o ajustar los colores de una foto. Los controles de barra horizontal (HScrollBar) y vertical (VScrollBar) operan independientemente de otros controles y tienen sus propios eventos, propiedades, y mtodos. Los controles de barras de corrimiento no son los mismos que aparecen en las cajas de texto, cajas de listas, cajas combinadas, o formularios MDI. La gua de interfase de Windows ahora sugiere utilizar controles de desplazamiento (Slider Controls) como entrada en lugar de barras de corrimiento. Ejemplos de estos controles de desplazamiento pueden ser vistos en el panel de control de Windows 95/98. Picture Box: El principal uso del control Picture Box es mostrar una foto al usuario. La foto actual que se muestra es determinada por la propiedad Picture. La propiedad Picture contiene el nombre del archivo (y opcionalmente el path) de la archivo de imagen a ser mostrado. Para mostrar o reemplazar una foto en tiempo de ejecucin, puede utilizar la funcin LoadPicture para asignar la propiedad Picture. Ejemplo: MiPct = LoadPicture(Picasso.Bmp)

El control Picture Box tambin puede ser usado como un contenedor para otros controles. Al igual que el control frame, puede colocar otros controles sobre el control Picture Box. Los controles contenidos son movidos con el control Picture Box y sus propiedades Top y Left sern relativos al picture box en lugar del formulario. Timer: Ejecuta el evento timer al intervalo de tiempo especificado.

Shape: Permite colocar un rectngulo, cuadrado, elipse o crculo en una forma, frame o picture box.

2001, Antonio Ortz Ramrez www.aortiz.net

19 de 47

USANDO EL VALOR DE UN CONTROL

Todos los controles tienen una propiedad que es utilizada para guardar o tomar valores al referirse al control, sin utilizar el nombre de la propiedad. Esto es llamado el valor del control y usualmente es el ms importante o la ms utilizada de las propiedades del control. La siguiente tabla lista las propiedad que es considerada el valor de cada control

CONTROL Check box Combo box Command button Common dialog Data DataCombo DataGrid Directory list box Drive list box File list box FlexGrid Frame Horizontal scroll bar Image Label Line

VALOR Value Text Value Action Caption Text Text Path Drive FileName Text Caption Value Picture Caption Visible

Cuando desea referirse a la propiedad de un control que es el valor del control, puede hacerlo sin especificar el nombre de la propiedad en el cdigo. Por ejemplo, esta lnea asigna el valor de la propiedad Text de un control text box: Text1 = Este texto es asignado a la propiedad Text of Text1

En este ejemplo, la propiedad Caption de Label1 es asignada al valor de la propiedad Filename de File1 cuando el usuario hace clic sobre un archivo en el cuadro file list. Private Sub File1_Click () Label1 = File1 End Sub

2001, Antonio Ortz Ramrez www.aortiz.net

20 de 47

EL CONTROL ADO

El control ADO (ADO Data Control), usa Microsoft ActiveX Data Objects (ADO) para crear conexiones entre controles conectados a datos (data-bound controls) y proveedores de datos (data providers). Los controles con conexin a datos son todos los controles que cuentan con la propiedad DataSource. Los proveedores de datos pueden ser cualquier fuente escrita para la especificacin OLE DB.

Aunque puede usar los ActiveX Data Objects (ADO) directamente en su aplicacin, el control de datos ADO tiene la ventaja de ser un control grfico (con botones de avanzar y regresar) y una interfase fcil de usar que permite crear aplicaciones de base de datos con un mnimo de cdigo. En versiones previas de Visual Basic se existan los controles Data Control y Remote Data Control (RDC) para acceso a datos. Ambos controles se siguen incluyendo por compatibilidad. Sin embargo, debido a la flexibilidad de ADO, se recomienda que las nuevas aplicaciones de base de datos sean creadas usando el control ADO.

2001, Antonio Ortz Ramrez www.aortiz.net

21 de 47

OBTENIENDO EL ENFOQUE: El enfoque o focus es la capacidad de recibir entradas del usuario a travs del mouse o teclado. Cuando un objeto tiene el enfoque, puede recibir entradas del usuario. En la interfase de Microsoft Windows, varias aplicaciones pueden estar ejecutndose al mismo tiempo, pero slo la aplicacin con el enfoque tendr una barra de ttulo activa y podr recibir entradas del usuario. En un formulario de Visual Basic con varias cajas de texto, slo la caja de texto con el enfoque podr mostrar el texto entrado por el teclado. Los eventos GotFocus y LostFocus ocurren cuando un objeto recibe o pierde el enfoque. Los formularios y algunos controles soportan estos eventos. ESTABLECIENDO EL ORDEN DEL TAB: El tab order, es el orden en que el usuario se mueve de un control a otro presionando la tecla TAB. Cada formulario tienen su propio tab order. Normalmente el orden del tab es el mismo orden con el que fueron creados los controles.

Al presionar la tecla Tab, el enfoque se mueve de un control a otro. Usualmente, presionando la tecla TAB en tiempo de ejecucin selecciona cada control en el orden del tab. Puede quitar un control del orden del tab estableciendo su propiedad TabStop a False (0).

Cuadros de dilogo: En aplicaciones basadas en Windows, los cuadros de dilogos son usadas para preguntar al usuario por datos necesarios por la aplicacin para continuar o para desplegar informacin. Los cuadros de dilogo son un tipo especializado de objetos formulario que pueden ser creados de tres maneras:

1. Dilogos predefinidos pueden ser creados usando las funciones MsgBox o InputBox. 2. Dilogos personalizados utilizando un formulario estndar o personalizando un dilogo existente 3. Dilogos estndar, como Print y File Open, pueden ser creados usando el control common dialog

2001, Antonio Ortz Ramrez www.aortiz.net

22 de 47

CAPITULO III: TIPOS DE DATOS

Tipo de dato Byte Boolean Integer Long (long integer) Single (single-precision floating-point) Double (double-precision floating-point)

Memoria requerida 1 byte 2 bytes 2 bytes 4 bytes 0 a 255 True False -32,768 a 32,767

Rango

-2,147,483,648 a 2,147,483,647

4 bytes

-3.402823E38 a -1.401298E-45 para valores negativos; 1.401298E-45 a 3.402823E38 para valores positivos

8 bytes

-1.79769313486231E308 a -4.94065645841247E-324 para valores negativos; 4.94065645841247E-324 a 1.79769313486232E308 para valores positivos

Currency (scaled integer) Decimal

8 bytes

-922,337,203,685,477.5808 a 922,337,203,685,477.5807

14 bytes

+/-79,228,162,514,264,337,593,543,950,335 sin punto decimal; +/-7.9228162514264337593543950335 con 28 lugares a la derecha del punto decimal; el nmero ms pequeo superior al cero es: +/-0.0000000000000000000000000001

Date Object String (longitud variable) String

8 bytes 4 bytes

Enero 1, 100 to Diciembre 31, 9999 Cualquier referencia a un objeto

10 bytes + string length 0 hasta aproximadamente 2 billion

Length of string

1 hasta aproximadamente 65,400

2001, Antonio Ortz Ramrez www.aortiz.net

23 de 47

(longitud fija) Variant (con nmeros) Variant (con caracteres) User-defined (usando Type) 22 bytes + longitud de la cadena Nmero requerido por sus elementos 16 bytes Cualquier valor numrico hasta el rango de un doble El mismo rango que para String de longitud variable el rango de cada elemento es el mismo que para su tipo de dato.

Notas:

- Los arreglos de cualquier tipo de dato requieren 20 bytes de memoria ms 4 bytes por cada dimensin ms el nmero de bytes ocupados por el dato. La memoria ocupada por los datos puede ser calculada por multiplicar el nmero de elementos de datos por el tamao de cada elemento. Por ejemplo, los datos en un arreglo unidimensional de 4 enteros de 2 bytes cada uno ocupan 8 bytes. Los 8 bytes requeridos por los datos ms los 24 bytes adicionales resulta en 32 bytes el total de memoria requerida para almacenar este arreglo. - Un Variant conteniendo un arreglo requiere 12 bytes ms que el arreglo por s solo.

2001, Antonio Ortz Ramrez www.aortiz.net

24 de 47

CAPITULO IV: PRINCIPALES ESTRUCTURAS DE CONTROL Y SENTENCIAS DE VBA

Dim: Declara variables y reserva espacio para almacenarlas. Sintaxis:

Dim [WithEvents] varname[([subscripts])] [As [New] type] [, [WithEvents] varname[([subscripts])] [As [New] type]] . . .

Do - Loop: Repite un bloque de sentencias mientras la condicin es verdadera o hasta que la condicin sea verdadera. Sintaxis:

Do [{While | Until} condition] [statements] [Exit Do] [statements] Loop

tambin puede ser usada la siguiente sintaxis: Do [statements] [Exit Do] [statements] Loop [{While | Until} condition]

End: Termina un procedimiento o bloque. Sintaxis: End End Function End If End Property End Select End Sub End Type End With
2001, Antonio Ortz Ramrez www.aortiz.net

25 de 47

Exit: Sale de un bloque Do..Loop, For..Next, Function, Sub, o cdigo Property. Sintaxis: Exit Do Exit For Exit Function Exit Property Exit Sub

For Each: Repite un grupo de sentencias por cada elemento en un arreglo o coleccin. Sintaxis: For Each element In group [statements] [Exit For] [statements] Next [element]

For..Next: Repite un grupo de sentencias un nmero especificado de veces. Sintaxis: For counter = start To end [Step step] [statements] [Exit For] [statements] Next [counter]

Function: Declara el nombre, argumentos, y cdigo que forma parte del cuerpo de una funcin. Sintaxis:

[Public | Private | Friend] [Static] Function name [(arglist)] [As type] [statements] [name = expression] [Exit Function] [statements] [name = expression] End Function

2001, Antonio Ortz Ramrez www.aortiz.net

26 de 47

If..Then..Else: Condiciona la ejecucin de un grupo de sentencias, dependiendo del valor de una expresin. Sintaxis:

If condicin Then [sentencias] Else [sentencias] End If

On Error: Activa una rutina manejador de errores y especifica la ubicacin de la rutina sin un procedimiento. Tambin puede ser usada para desactivar una rutina manejador de errores. Sintaxis: On Error GoTo line On Error Resume Next On Error GoTo 0

On Error Goto line, activa el manejador de errores que inicia en la lnea especificada en el argumento line. El argumento line puede ser cualquier nmero de lnea o etiqueta de lnea. La lnea especificada debe estar en el mismo procedimiento que la sentencia On Error, de lo contrario ocurrir un error al compilar.

On Error Resume Next, especifica que al ocurrir un error en tiempo de ejecucin el control vaya a la sentencia que sigue a la sentencia que provoc el error. On Error Goto 0, desactiva cualquier manejador de error.

Select Case: Ejecuta uno de varios grupos de sentencias, dependiendo del valor de una expresin. Sintaxis:

2001, Antonio Ortz Ramrez www.aortiz.net

27 de 47

Select Case testexpression [Case expressionlist-n [statements-n]] ... [Case Else [elsestatements]] End Select

SendKeys: Enva uno o ms teclazos a la ventana activa como si fueran escritos por el teclado. Sintaxis:

SendKeys string[, wait]

Para especificar un caracter, use el smbolo por s mismo. Por ejemplo, para representar la letra A, use A para string. El signo suma (+), potencia (^), porcentaje (%), tilde (~), y parntesis () tienen significado especial para Senkeys. Para especificar uno de estos caracteres, encirrelos con llaves {}. Por ejemplo, para especificar el signo suma, use {+}.

Para especificar combinacin de teclas con Shift, Ctrl, y Alt, preceda el cdigo de la tecla con uno de los siguientes cdigos SHIFT CTRL ALT + ^ %

Para especificar que cualquier combinacin de Shift, Ctrl, y Alt deben estar presionadas mientras otras teclas son presionadas, encierre los cdigos para estas teclas entre parntesis. Por ejemplo, para especificar que presione Shift mientras E y C son presionados, use +(EC). Para especificar Shift presionado mientras E es presionado, seguido de C sin Shift, use +EC.

Set, asigna una referencia a un objetos a una variable o propiedad. Sintaxis: Set objectvar = {[New] objectexpression | Nothing}

Sub, Declara el nombre, argumentos, y cdigo que forma parte del cuerpo de un procedimento. Sintaxis:
2001, Antonio Ortz Ramrez www.aortiz.net

28 de 47

[Private | Public | Friend] [Static] Sub name [(arglist)] [statements] [Exit Sub] [statements] End Sub

Type, usado en el nivel mdulo para definir un tipo de dato definido por el usuario conteniendo uno o ms elementos. Sintaxis:

[Private | Public] Type varname elementname [([subscripts])] As type [elementname [([subscripts])] As type] ... End Type

While..Wend, Ejecuta un bloque de sentencias mientras una condicin es verdadera. Sintaxis:

While condition [statements] Wend

2001, Antonio Ortz Ramrez www.aortiz.net

29 de 47

CAPITULO V: PRINCIPALES FUNCIONES DE VBA

Asc, Regresa un entero representando el cdigo del caracter que corresponde a la primera letra en la cadena. Sintaxis: Asc(string)

Chr, Regresa una cadena conteniendo el caracter asociado con el cdigo especificado. Sintaxis: Chr(charcode) Date, Regresa un Variant (Date) conteniendo la fecha actual del sistema. Utilice Date para actualizar la fecha del sistema. Sintaxis: Date DateDiff, Regresa un Variant (long) especificando el intervalo de tiempo entre dos fechas especficas. Sintaxis: DateDiff(intervalo, fecha1, fecha2)

El intervalo es una cadena que puede tener estos valores

Valor yyyy m d h n s

Intervalo Aos Mes Das Horas Minutos Segundos

DoEvents, Pasa la ejecucin al sistema operativo para que pueda procesar otros eventos. Sintaxis: DoEvents() Error, Regresa el mensaje de error que corresponde al ltimo error o al nmero de error especificado. Sintaxis: Error( [no. error] )
2001, Antonio Ortz Ramrez www.aortiz.net

30 de 47

Format, Regresa un Variant (string) conteniendo una expresin formateada de acuerdo a las instrucciones contenidas en la expresin de formato. Sintaxis: Format(expresin, formato) Iif, Regresa una de dos partes, dependiendo de la evaluacin de una expresin. Sintaxis: Iif(expresin, valor cuando es verdadera, valor cuando es falso) InputBox, Muestra un cuadro de dilogo, espera la entrada de texto del usuario o que haga clic en un botn, y regresa una cadena con el contenido de la caja de texto. Sintaxis: InputBox(mensaje[, ttulo] [, default])

InStr, Regresa un variant (long) especificando la posicin de la primera ocurrencia de una cadena en otra. Sintaxis. InStr([inicio,] cadena1, cadena2) IsNull, Regresa un valor boleano que indica si una expresin contiene datos no vlidos (Null). Sintaxis: IsNull(expresin)

IsNumeric, Regresa un valor boleano que indica si una expresin puede ser evaluada como un nmero. Sintaxis: IsNumeric(expresin) LCase, Regresa una cadena que ha sido convertida a minsculas. Sintaxis: LCase(cadena) Left, Regresa un Variant (string) conteniendo un nmero especfico de caracteres de la parte izquierda de una cadena. Sintaxis: Left(cadena, longitud)

Len, Regresa un Long conteniendo el nmero de caracteres de una cadena o el nmero de bytes requeridos para almacenar una variable. Len(cadena | nombredevariable) Mid, Regresa un Variant (string) conteniendo un nmero especfico de caracteres de una cadena. Sintaxis:
2001, Antonio Ortz Ramrez www.aortiz.net

31 de 47

Mid(cadena, inicio[,longitud])

MsgBox, Muestra un mensaje en un cuadro de dilogo, espera que el usuario presione un botn, y regresa un Integer, indicando el botn que presion el usuario. Sintaxis: MsgBox(mensaje[,botones] [,ttulo]) Now, Regresa un Variant (date) especificando la fecha y hora actual del sistema. Sintaxis: Now

Right, Regresa un Variant (string) conteniendo un nmero especfico de caracteres del lado derecho de una cadena. Sintaxis: Right(cadena, longitud) Str, Regresa un Variant (string) que representa un nmero. Sintaxis: Str(nmero) Time, Regresa un Variant (date) indicando la hora actual del sistema. Sintaxis: Time

UCase, Regresa un Variant (string) conteniendo la cadena especificada, convertida en maysculas. Sintaxis: UCase(string) Val, Regresa los nmeros contenidos en una cadena como un valor numrico del tipo apropiado. Sintaxis: Val(cadena)

2001, Antonio Ortz Ramrez www.aortiz.net

32 de 47

CAPITULO VI: PRINCIPALES OBJETOS DE VISUAL BASIC


App, El objeto App es un objeto global. Este obtiene o especifica la informacin sobre la aplicacin como el ttulo, versin, ruta y nombre del archivo ejecutable y archivos de ayuda, y si existe o no una instancia previa de la aplicacin en ejecucin. Principales propiedades del objeto App: Path, ExeName, PrevInstance, Title. Ejemplo: If(App.PrevInstance) Then End

Clipboard, Provee acceso al portapapeles del sistema. Propiedades y mtodos: Clear, GetData, GetText, SetData, SetText. Ejemplo: Clipboard.SetText Hola Err, Contiene informacin sobre el ltimo error en tiempo de ejecucin. Propiedades y mtodos: Clear, Description, Number, Source. Ejemplo: If( Err <> 0 ) Then Exit sub Printer, el objeto Printer permite la comunicacin con una impresora del sistema (inicialmente la impresora predeterminada). Propiedades y mtodos: Copies, CurrentX, CurrentY, DeviceName, DriverName, EndDoc, KillDoc, Line, NewPage, Orientation, Page, Port. Screen, Contiene informacin sobre la pantalla y controla el puntero del mouse fuera de los formularios de su aplicacin en tiempo de ejecucin. El objeto Screen es el escritorio completo de Windows. Propiedades: ActiveControl, ActiveForm, FontCount, Fonts, Height, Width. Me, El objeto Me es una referencia al formulario actual. Muy til si desea crear un cdigo independiente al nombre del formulario.

2001, Antonio Ortz Ramrez www.aortiz.net

33 de 47

CAPITULO VII: ACCESO A DATOS CON ADO

OLE DB es la estrategia de programacin Microsoft a nivel sistema para interfase de datos. OLE DB es una especificacin abierta diseada para construir sobre ODBC, esto es posible al proveer un estndar abierto para acceder a todos los tipos de datos. ODBC fue creado para accesar bases de datos relacionales (de manera primaria a SQL) en una ambiente multiplataforma. OLE DB est diseada para proveer acceso a todos los tipos de datos en ambiente OLE Component Object Model (COM). OLE DB incluye la funcionalidad SQL definida en ODBC pero tambin define interfaces para tener acceso a otros datos diferentes al tipo soportado por SQL.

Los componentes OLE DB consisten en Data Providers (que contienen y exponen los datos), Data Consumers (que usan los datos), y Service Components (que procesan y transportan los datos, por ejemplo, procesadores de querys e ingeniera de cursores).

2001, Antonio Ortz Ramrez www.aortiz.net

34 de 47

Microsoft ActiveX Data Objects (ADO) es la estrategia de programacin Microsoft a nivel aplicacin para interfase a datos e informacin. ADO provee acceso a datos consistente, alto rendimiento y soporta una amplia variedad de necesidades de desarrollo, incluyendo la creacin de clientes de bases de datos o front-end, usando aplicaciones, herramientas, lenguajes, o navegadores de Internet. ADO est diseado para ser la nica interfase a datos necesaria para sistemas cliente-servidor y desarrollos basados en Web.

ADO provee una interfase fcil de usar a nivel aplicacin para OLE DB, que provee acceso a diferentes formatos de datos. Como ADO fue diseado para combinar las mejores caractersticas y, eventualmente reemplazar RDO y DAO, usa notacin similar con una semntica simplificada para hacer de l el siguiente paso natural para los desarrolladores de hoy.

El modelo ADO contiene siete objetos:

Connection
2001, Antonio Ortz Ramrez www.aortiz.net

35 de 47

Command Parameter Recordset Field Property Error

y cuatro tipos de colecciones: Fields Properties Parameters Errors

El Modelo ADO

2001, Antonio Ortz Ramrez www.aortiz.net

36 de 47

Otra vista del modelo ADO

Microsoft Data Access Components (MDAC) es un conjunto de tecnologas redistribuibles que implementan la estrategia Universal de Acceso a Datos. MDAC consiste de las ltimas versiones de ActiveX Data Objects (ADO), componentes OLE DB, y Open Database Conectivity (ODBC), que ahora ha sido liberado como un conjunto integrado. Los desarrolladores creando soluciones cliente-servidor y basados en Web seleccionan los componentes que necesitan y llaman a estos desde su herramienta de seleccin, aplicaciones, lenguajes, o navegadores de Internet para crear soluciones completas de base de datos.

Prctica: Escribir el siguiente programa que accede a datos a travs de ADO. Colocar el cdigo en el evento load del formulario principal. Cree una base de datos .MDB con la tabla TbaAutor, la cual contendr el campo Autor. Adems cree una fuente de datos Microsoft Access llamada Biblio que haga referencia a la base de datos.

Forma #1:

Private Sub Form_Load() Dim objData As ADODB.Recordset

Set objData = CreateObject("ADODB.RecordSet")


2001, Antonio Ortz Ramrez www.aortiz.net

37 de 47

objData.Open "select * from TbaAutor", "DSN=Biblio" While Not objData.EOF Debug.Print objData!Autor objData.MoveNext Wend End Sub

Forma #2

Private Sub Form_Load() Dim cnx As New Connection Dim Rs As New ADODB.Recordset

cnx.Open "DSN=Biblio" Rs.Open "select * from TbaAutor", cnx, adOpenForwardOnly While Not Rs.EOF Debug.Print Rs!Autor Rs.MoveNext Wend Rs.Close End Sub

EL OBJETO CONNECTION

El objeto connection permite establecer una conexin con fuentes de datos. En otra palabras, la representa una conexin fsica a una fuente de datos. El objeto connection provee mecanismos para inicializar y establecer la conexin.

Una vez que el objeto conexin fue creado puede usar sus mtodos y propiedades para manipular la fuente de datos (la base de datos) que fue conectada. Tambin puede utilizar el objeto connection para ejecutar filtros y usar transacciones

Mtodos del objeto connection


2001, Antonio Ortz Ramrez www.aortiz.net

38 de 47

Mtodo Open Close Execute BeginTrans CommitTrans RollBackTrans

Descripcin Abre una nueva conexin a una fuente de datos Cierra una conexin y todos sus objetos dependientes Ejecuta un query (una sentencia SQL) Inicia una transaccin Procede con los cambios hechos durante la transaccin Cancela cualquier cambio hecho durante una transaccin

Propiedades del objeto connection:

Propiedad ConnectionString ConnectionTimeOut CommandTimeOut State Provider Version CursorLocation

Descripcin Contiene la informacin necesaria para establecer una conexin Determina el tiempo a esperar para establecer una conexin Determina el tiempo a esperar mientras ejecuta un comando Indica si una conexin est abierta Indica el nombre del proveedor de datos Indica la versin ADO Establece/Regresa la ubicacin del cursor engine

Nosotros programamos para la interface ADO. Pero recuerde que seleccionamos OLE DB Provider cuando construimos la propiedad ConnectionString. Esto es, el proveedor OLE DB sabe cmo tomar comandos ADO y trasladarlos en lenguaje que la fuente de datos especfica puede entender. Como cada da ms y ms fabricantes crean proveedores OLE DB para sus fuentes de datos, ADO se posiciona en el mundo.

Ejemplo de conexin, recordset y transacciones

Dim Cn As New ADODB.Connection Dim rs As New ADODB.Recordset

' Abre la conexin Cn.Open "pubs", "sa"


2001, Antonio Ortz Ramrez www.aortiz.net

39 de 47

' Abre la tabla titles rs.Open "SELECT * FROM titles", Cn, adOpenDynamic, adLockPessimistic Cn.BeginTrans ' realiza cambios Cn.CommitTrans ' O da marcha atrs ' cn.RollbackTrans Cn.Close

2001, Antonio Ortz Ramrez www.aortiz.net

40 de 47

EL OBJETO RECORDSET

Un objeto Recordset representa los registros en una tabla o los registros que resultan de ejecutar un comando. En cualquier momento dado, el objeto Recordset direcciona a un registro nico al que se refiere como el registro actual.

Utilice objetos Recordset para manipular datos de un proveedor. Todos los objetos Recordset son construdos usando registros (renglones) y campos (columnas). Dependiendo de la funcionalidad soportada por el proveedor, algunos mtodos o propiedades del Recordset pueden no estar disponible.

Existen cuatro tipos de cursores definidos en ADO:

Cursor dinmico (dynamic cursor), permite agregar, cambiar, y borrar en la vista; permite todos los tipos de desplazamientos a travs del Recordset que no son basados en bookmarks; y permite bookmarks si el proveedor los soporta. Cursor keyset, idntico a un cursor dinmico, excepto que no podr ver los registros que otros usuarios agregan, y evita acceder a registros que otros usuarios borraron. Los cambios a datos por otros usuarios sern visibles. Tambin soporta bookmarks y todos los tipos de desplazamientos a travs del recordset. Cursor esttico (static cursor), provee una copia esttica de un conjunto de registros que podr utilizar para localizar datos o generar reportes; tambin permite bookmarks y todos los tipos de movimientos a travs del recordset. Las adiciones, cambios, o eliminaciones de otros usuarios no sern visibles. Este es el nico tipo de cursor que puede abrir un objeto recordset (ADOR) del lado del cliente

2001, Antonio Ortz Ramrez www.aortiz.net

41 de 47

Forward-only cursor, funciona idntico a un cursor esttico excepto que slo permite desplazamiento hacia delante a travs de los registros. Este mejora el rendimiento en situaciones donde slo necesita recorrer de una manera a travs del recordset.

Asigne la propiedad CursorType antes de abrir el recordset para elegir el tipo de cursor, o pase el argumento CursorType del mtodo Open. Algunos proveedores no soportan todos los tipos de cursores. Verifique la documentacin del proveedor. Si no especifica el tipo de cursor, ADO abre un cursor forward-only por defecto.

Al usar algunos proveedores (como Microsoft ODBC Provider para OLE DB con Microsoft SQL Server), puede crear objetos recordset sin definir un objeto connection con anterioridad, esto se hace pasando una cadena de conexin con el mtodo Open. ADO crea un objeto Connection, pero no asigna este objeto a una variable objeto. Si no usa esta variable objeto cuando abre sus objetos Recordset, ADO crea un nuevo objeto Connection por cada Recordset, aunque pase la misma cadena de conexin.

Puede crear tantos objetos Recordset como necesite.

Cuando abre un Recordset, el registro actual es posicionado en el primer registro (si existe) y las propiedades BOF y EOF son asignadas a False. Si no hay registros, las propiedades BOF y EOF se establecen como True.

2001, Antonio Ortz Ramrez www.aortiz.net

42 de 47

EL OBJETO COMMAND

El objeto Command define informacin detallada sobre los datos que se obtienen de una conexin. Los objetos Command pueden estar basados en cualquier objeto de la base de datos (como una tabla, vista, stored procedure o similares) o en un filtro escrito en Structured Query Language (SQL). Tambin puede crear relaciones entre objetos Command para obtener un conjunto de datos relacionados en forma de jerarqua.

Para ser un objeto Command vlido, debe asociarlo con un objeto Connection. Si un objeto Command regresa datos, es un recordset returning, y el resultado puede ser accesado usando un objeto Recordset disponible desde el objeto DataEnviroment. Si un objeto Command no regresa datos (por ejemplo, stored procedures o texto SQL que realiza actualizaciones), es un non-recordset returning.

2001, Antonio Ortz Ramrez www.aortiz.net

43 de 47

CAPITULO VIII: EL API DE WINDOWS

EL API Application Programming Interface, es un Conjunto de rutinas que una aplicacin usa para solicitar servicios de bajo nivel realizados por otro componente, como el sistema operativo de la computadora o un servicio ejecutando en una computadora de la red.

Windows Application Programming Interface (API)

Las funciones, mensajes, estructuras de datos, tipos de datos, y sentencias que se utilizan para crear aplicaciones que ejecutan bajo Microsoft Windows. Las partes del API que use deben contener los elementos necesarios para llamar funciones API desde Windows. Estos incluyen declaracin de procedimientos (para las funciones de Windows), definiciones de tipos definidos por el usuario (para estructuras de datos pasadas a estas funciones), y declaraciones de constantes (para valores a pasar y a regresar de estas funciones).

API Win32

El trmino Win32 es usado para describir un API que es comn a todas las plataformas Windows 32 bits. Estas plataformas incluyen:

Windows 95, 98 y Me Windows NT Windows CE

Los beneficios de un API comn son muchos: facilidad de portar aplicaciones, requiere menor aprendizaje cuando se emigra de una plataforma a otra, y una vasta librera de soporte de programacin existente, ejemplos, y recursos de otros fabricantes.

2001, Antonio Ortz Ramrez www.aortiz.net

44 de 47

Declarando funciones externas

Para llamar procedimientos externos desde VBA, se debe proveer informacin a VBA sobre el procedimiento que se desea llamar. VBA requiere saber el nombre de archivo de la librera donde se encuentra la subrutina o funcin a llamar, el nombre del procedimiento a llamar, los parmetros que desea enviar, y, si el procedimiento es una funcin, el tipo de dato del valor que regresa. Syntaxis 1 [Public|Private] Declare Sub name Lib "libname" [Alias "aliasname" ] [([argumentlist])] Syntaxis 2 [Public|Private] Declare Function name Lib "libname" [Alias "aliasname"] [([argumentlist])] [As type]

Ejemplos de llamadas al API Win32


Ejemplo #1: Const SND_SYNC = &H0 Const SND_ASYNC = &H1 ' play synchronously (default) ' play asynchronously

Declare Function sndPlaySound Lib "winmm.dll" Alias "sndPlaySoundA" (ByVal lpszSoundName As String, ByVal uFlags As Long) As Long

Function PlayWav(Archivo as string) As Long PlayWav = sndPlaySound(Archivo, SND_ASYNC) End Function

Ejemplo #2: Public Declare Function GetComputerName Lib "kernel32" Alias "GetComputerNameA" (ByVal lpBuffer As String, nSize As Long) As Long

Function NombrePC() As String Dim Buff As String * 255 Dim N As Long

N = 255 GetComputerName Buff, N NombrePC = Left(Buff, N) End Function

2001, Antonio Ortz Ramrez www.aortiz.net

45 de 47

CAPITULO IX: DISTRIBUCION


Archivos que tiene permitido distribuir

Puede distribuir libremente cualquier aplicacin o componente creado con Visual Basic. Adems del archivo ejecutable (.exe), su aplicacin puede requerir otros archivos, como DLLs, controles ActiveX (.ocx), o bitmaps (.bmp).

Puede distribuir de forma legal aplicaciones de ejemplo y cualquier otro archivo que fue copiado a la subcarpeta \Icons de la carpeta \Visual Studio\Common\Graphics cuando instal Visual Basic en su equipo.

Nota: La carpeta \Graphics slo es instalada si elige instalacin personalizada (custom) cuando instala Visual Basic, y elige instalar grficos (Graphics).

Si ha comprado la edicin Profesional o Enterprise de Visual Basic, tambin podr distribuir cualquier archivo copiado a las carpetas \Visual Studio\Common\Graphics y \Program Files\Common Files\ODBC durante la instalacin.

Nota: Tambin podr distribuir otros controles ActiveX, archivos .exe, y DLLs que haya comprado. Consulte la licencia del fabricante para cada uno de estos archivos que desea distribuir para determinar si tiene derechos para distribuir el archivo con su aplicacin.

Pasos a seguir en el proceso de empaquetado (The Package and Deployment Wizard) 1) Determine el tipo de paquete que desea crear. Puede crear un paquete estandar para programas basados en Windows que sern distribuidos en disquete, CD, o en red, o puede crear un paquete de Internet para programas que sern distribuidos en la Web. Tambin puede elegir crear slo el archivo de dependencias. 2) Determine los archivos que necesita distribuir. El asistente determinar los archivos del proyecto y de dependencias para la aplicacin de manera automtica, por ejemplo, el archivo .vbp y su contenido. Los archivos de dependencias son archivos en tiempo de ejecucin o componentes que la aplicacin necesita para funcionar. La informacin de dependencia es
2001, Antonio Ortz Ramrez www.aortiz.net

46 de 47

almacenada en el archivo vb6dep.ini, o en varios archivos .dep correspondiendo a los componentes en el proyecto.

3) Determine dnde instalar los archivos en el equipo del usuario. Los archivos del programa e instalacin normalmente son instalados en la carpeta Archivos de Programas o Program Files, dependiendo de la versin de Windows en espaol o ingls respectivamente, mientras que los archivos del sistema y dependencias son instalados en la carpeta \Windows\System o \Winnt\System32. Verifique si desea agregar archivos que no fueron incluidos por el asistente, como pueden ser archivos de base de datos (.mdb), de imgenes, de sonido u otros.

4) Cree su paquete. El asistente crea el paquete y el programa de instalacin (setup1.exe) por s mismo, referenciando todos los archivos necesarios. El resultado final de este paso es uno o ms archivos .cab y cualquier archivo necesario de instalacin.

5) Cree su medio de distribucin. Copie todos los archivos necesarios a la ubicacin desde donde los usuarios accedern al programa de instalacin.

2001, Antonio Ortz Ramrez www.aortiz.net

47 de 47

TEMAS AVANZADOS

Sin lugar a duda, Basic a evolucionado mucho, ahora es una herramienta robusta y completa donde se desarrollan grandes sistemas de diversa ndole. Este curso ha sido un buen paso en el aprendizaje de la programacin Windows pero an falta mucho por aprender. A continuacin se describen algunos temas que se recomiendan como seguimiento a este curso:

Cristal Reports Sistemas Cliente-Servidor SQL Server, Oracle u otro Servidor Desarrollo en Internet Intranets Desarrollo de herramientas ActiveX

2001, Antonio Ortz Ramrez www.aortiz.net

También podría gustarte