Manual el visual

3
file:///D|/MiLapsita/Mis%20documentos/LVM/ALGORITMOS%20CON%20VISUAL/tutorial_elvisual/cap1.html 27 de Octubre de 2001 Visitante Número: 195 CAPITULO PRIMERO ENTORNO DE TRABAJO DE VISUAL BASIC Visual Basic es un entorno de desarrollo diseñado para la creación de aplicaciones para los entornos de trabajo Microsoft Windows 95, 98, NT y 2000. Este lenguaje auna las posibilidades de un lenguaje de alto nivel con las herramientas de diseño gráfico, lo cual nos dá acceso a todas las funciones de los sistemas anteriormente citados. Los elementos del entrono de desarrolo de Visual Basic son: Barra de herramientas: Permite un acceso rápido a los comando más utilizados Diseñador de formularios Es la ventana en la que se diseñrá la interfaz de la aplicación, en ella se pueden agregar controles gráficos e imágenes. Cada formulario de una aplicación aparecerá en su propia ventana. Cuadro de herramientas file:///D|/MiLapsita/Mis%20documentos/LVM/ALGO...MOS%20CON%20VISUAL/tutorial_elvisual/cap1.html (1 de 3) [09/06/2010 11:14:42 a.m.]

Transcript of Manual el visual

Page 1: Manual el visual

file:///D|/MiLapsita/Mis%20documentos/LVM/ALGORITMOS%20CON%20VISUAL/tutorial_elvisual/cap1.html

27 de Octubre de 2001

Visitante Número: 195 CAPITULO PRIMERO

ENTORNO DE TRABAJO DE VISUAL BASIC

Visual Basic es un entorno de desarrollo diseñado para la creación de aplicaciones para los entornos de trabajo Microsoft Windows 95, 98, NT y 2000. Este lenguaje auna las posibilidades de un lenguaje de alto nivel con las herramientas de diseño gráfico, lo cual nos dá acceso a todas las funciones de los sistemas anteriormente citados. Los elementos del entrono de desarrolo de Visual Basic son: ● Barra de herramientas:

Permite un acceso rápido a los comando más utilizados ● Diseñador de formularios

Es la ventana en la que se diseñrá la interfaz de la aplicación, en ella se pueden agregar controles gráficos e imágenes. Cada formulario de una aplicación aparecerá en su propia ventana. ● Cuadro de herramientas

file:///D|/MiLapsita/Mis%20documentos/LVM/ALGO...MOS%20CON%20VISUAL/tutorial_elvisual/cap1.html (1 de 3) [09/06/2010 11:14:42 a.m.]

Page 2: Manual el visual

file:///D|/MiLapsita/Mis%20documentos/LVM/ALGORITMOS%20CON%20VISUAL/tutorial_elvisual/cap1.html

En el cuadro de herramientas podemos encontrar un conjunto de herramientas que permiten insertar los objetos o controles en el formulario durante en tiempo de diseño, los objetos más comunes son botones(command), etiqueta (label), cuadros de imagen(Picture), imágenes(Image), etc... Si hacemos doble click con el ratón sobre alguno de ellos se insertará automáticamente en la ventana del formulario. ● Ventana de propiedades

Los objetos tiene asociados unas propiedades que describen sus atributos, valores, comportamiento y apariencia del objeto. Las opciones de esta ventana son: Lista desplegable de objetos: Donde podremos visualizar el nombre de los objetos de la aplicación. Lista de propiedades del objeto seleccionado: Al seleccionar un objeto con la lista desplegable anteriormente mencionada nos aparecerán las propiedades del mismo (name, visible, appearence, borderstyle, etc...). En la lista de propiedades se pueden modificar las propiedades del objeto. Se puede visualizar de dos formar, por categoría o alfabéticamente. ● Ventana de proyectos

file:///D|/MiLapsita/Mis%20documentos/LVM/ALGO...MOS%20CON%20VISUAL/tutorial_elvisual/cap1.html (2 de 3) [09/06/2010 11:14:42 a.m.]

Page 3: Manual el visual

file:///D|/MiLapsita/Mis%20documentos/LVM/ALGORITMOS%20CON%20VISUAL/tutorial_elvisual/cap1.html

Contiene la lista de los archivos que forman parte de la aplicación: Los tipos de archivos que se pueden incluir en un proyecto son: Archivo de Proyecto: Es el que realiza el seguimiento de todos los ficheros que forman parte de la aplicación. Se guarda en un fichero con la extensión .VBP Archivo de Recursos: Aquí se guardan cadenas de texto, mapas de bits, y demás datos que puedan modificarse sin tener que volver a modificar el código. Se guardan con una extensión .RES Módulo de Formulario: Contiene controles y código, sólo hay uno por formulario. Se guardan con extensión FRM Módulo de Clase: Son similares a los módulos de formulario. Se guardan con la extensión .CLS Módulo Estándar: Sólo pueden contener código. Tienen una extensión .BAS Controles ActiveX: Controles que se pueden añadir al cuadro de herramientas e incluirlos en un formulario ● Ventana editor de código

En esta ventana es donde se incluye el código de la apliación. Se creará una ventana de código para cada formulario o módulo de la aplicación. Para tener acceso a la ventana de edició, la forma más sencilla es hacer doble click sobre el formulario o sobre el objeto al cual quiera incluir código.

file:///D|/MiLapsita/Mis%20documentos/LVM/ALGO...MOS%20CON%20VISUAL/tutorial_elvisual/cap1.html (3 de 3) [09/06/2010 11:14:42 a.m.]

Page 4: Manual el visual

file:///D|/MiLapsita/Mis%20documentos/LVM/ALGORITMOS%20CON%20VISUAL/tutorial_elvisual/cap12.html

27 de

Octubre de 2001

Visitante Número: 198 CAPITULO DECIMOSEGUNDO

ACCESO A BASES DE DATOS

● Control Data Con el control Data, podemos acceder a una base de datos, mostrar su información, introducir nuevos registros, etc, y todo sin programar ni una sóla línea de código.

Los pasos a seguir para utilizar una base de datos en Visual Basic son: a.- Dibujar el control data y establecer la conexión a la base de datos apropiada. b.- Utilizar otros controles para manejar la información. Estos controles son conocidos como controles enlazados, al depender del control data como origen de los datos que muestran. El control data posee varios controles al estilo de un reproductor de vídeo para acceder a los registros anterior, posterior, primero y último. Las propiedades del control data que tienes que establecer para realizar la conexión con la base de datos son: Connect: Indica el tipo de base de datos a la que vamos a acceder. Por omisión es Access. DatabaseName: Indica el archivo de base de datos a la que se quiere acceder indicando la ubicación exacta del archivo. RecordSource: Permite indicar el conjunto de datos específico de la base de datos indicada en la anterior propiedad. Normalmente será el nombre de una tabla de la base de datos o una instrucción SQL. Estableciendo adecuadamente el valor de estas tres propiedades tendremos la conexión con la base de datos que queramos. Si conoces la base de datos y el conjunto de datos a los que quieres tener acceso en tiempo de diseño puedes utilizar la ventana de propiedades para establecer estas propiedades, en caso contrario lo puedes hacer con código escrito. ● Controles enlazados Una vez establecida la conexión a la base de datos e indicando el conjunto de datos a los que vamos a tener acceso mediante el control data, es necesario utilizar otros controles para mostrar o introducir dicha información. Estos controles son conocidos como controles enlazados, ya que el origen de la información que muestran est&a ligado a un determinado control data. Normalmente se utilizan cuadro de texto, cuadros de lista e incluso controles imagen para mostrar el contenido de la base de datos a la que quieres acceder. Todos estos controles pueden actuar como controles enlazados. Exiten dos propiedades que tienes que modificar para enlazar los controles con el control data: DataSource: Indicaremos el control data que actuará como origen de los datos. DataField: Campo específico al que se enlaza el control. Por ejemplo: txtNombre.DataSource = datEmpleados txtNombre.DataField = "Nombre" Aquí se indica que se ligue el control txtNombre al campo Nombre de la tabla Empleados que se accede mediante el control data (datEmpleados). Este control deberá tener correctamente establecidas las tres propiedades anteriormente citadas.

file:///D|/MiLapsita/Mis%20documentos/LVM/ALGO...OS%20CON%20VISUAL/tutorial_elvisual/cap12.html (1 de 2) [09/06/2010 11:14:51 a.m.]

Page 5: Manual el visual

file:///D|/MiLapsita/Mis%20documentos/LVM/ALGORITMOS%20CON%20VISUAL/tutorial_elvisual/cap12.html

● Recordsets Al utilizar un control data y establecer la conexión con la base de datos, estás indicando el conjunto de datos sobre los que quieres tener acceso. En Visual Basic a dicho conjunto de datos se les denomina RecordSet, siendo una propiedad del control data. Existen tres tipos de Recordset: Table, Dynaset y Snapsoht. Dicho tipo se establece mediante la propiedad RecordsetType del control data, que predeterminadamente tiene el valor Dynaset. Un Recordset tipo Dynaset es un conjunto dinámico de registros que representan una determinada tabla o el resultado de una consulta, según se haya establecido la propiedad RecordSource del control data. Puedes agregar nuevos registros, modificar los campos existentes e incluso eliminar registros y todos estos cambios se reflejan en la base de datos afectada. Un Recordset de tipo Table representa una determinada tabla de base de datos. Al crear un Recordset de este tipo estarás representando dicha tabla, cargándose en memoria un solo registro que se corresponde con el registro actual. Toda modificación que se realice se verá reflejada en la tabla. Finalmente el tipo Snapshot crea una copia estática del conjunto de datos al que se accede mediante el control data. En este caso no puedes actualizar la base de datos, sólo puedes visualizar los datos obtenidos. ● Modificar la base de datos Si crear un Recordset de tipo Table o Dynaset, podrás modificar la base de datos subyacente sin tener que programar ni una sóla línea de código. Al ejecutar la aplicación, puedes desplazarte a través de los registros utilizando el control data, cualquier modificación que realices se verá reflejada en la base de datos al acceder al nuevo registro. Mediante la propiedad DataChanged de un control enlazado, si el valor mostrado por dicho control ha sufrido modificaciones respecto al valor original. En caso afirmativo dicha propiedad entrará en valor True. ● Añadir registros Se pueden agregar nuevo registros a la base de datos sin tener que programar para ello. En este caso tienes que situarte en el último registro y moverte al siguiente. Si estableces correctamente la propiedad EOFAction al realizar dicha acción se creará un nuevo registro al que se le puede introducir nueva información. La propiedad EOFAction puede tener tres valores y nos indica lo que debe ocurrir cuando se llega al final de un Recordset del control data: Si EOFAction tiene un valor MoveLast, mantiene el último registro como registro actual sin desplazarse al siguiente registro, que no existe, aunque pulsemos el botón del control data para desplazarnos al próximo registro. Si el valor EOFAction deja el registro actual invalidado (ya que dicho registro todavía no existe), y desactivas el botón que nos permite desplazarnos al siguiente tienes que controlar esta situación mediante código ya que cualquier intento de acceder a la información del registro actual producirá un error al no ser un registro válido. Si EOFAction posee el valor AddNew, esntonces cuando te desplaces más allá del último registro, Visual Basic creará un registro nuevo en la base de datos, donde puedes introducir la nueva información. El valor AddNew es el que nos permite añadir nuevos registros a la base de datos sin tener que programar para ello. Para crear un nuevo registro tienes que sobrepasar el último registro que tengas en esos momentos, entonces Visual Basic limpiará el valor de los controles enlazados permitiéndote introducir la información del nuevo registro. Cuando te muevas a otro registro se añadirá a la base de datos. Al igual que se puede indicar que debe ocurrir cuando se llegue al final de un recordset, también podrás hacerlo cuando se llega al principo mediante la propieda BOFAction del control data de la misma forma que EOFAction.

file:///D|/MiLapsita/Mis%20documentos/LVM/ALGO...OS%20CON%20VISUAL/tutorial_elvisual/cap12.html (2 de 2) [09/06/2010 11:14:51 a.m.]

Page 6: Manual el visual

file:///D|/MiLapsita/Mis%20documentos/LVM/ALGORITMOS%20CON%20VISUAL/tutorial_elvisual/cap17.html

27 de

Octubre de 2001

Visitante Número: 200 CAPITULO DECIMOSEPTIMO

UTILIZACION DE OLE

● Introduccion Compartir información sobre distintas aplicaciones es una de las características más potentes que posee Windows. Al compartir información, lo que realmente se está haciendo es compartir objetos que son creados por dos o más aplicaciones Windows distintas. Aquí es donde entra en juego OLE, sentando las bases para crear y compartir objetos entre distintas aplicaciones. Visual Basic actúa como nexo entre las aplicaciones Windows al permitir el uso de objetos OLE en sus aplicaciones. Se pueden tener en un mismo formulario de Visual Basic una hoja de cálculo de Excel y un documento de Word. Visual Basic puede utilizar los objetos de otras aplicaciones de la misma forma que cualquier otro objeto de Visual Basic. Puede establecer o leer propiedades, utilizar sus métodos, etc... Esto se denomina Automatización OLE. ● El contenedor OLE Mediante el uso del control contenedor OLE, puedes crear formularios de Visual Basic en los que se incluya información proveniente de distintas aplicaciones Windows.

Estos formularios son conocidos como documentos compuestos, en los que la funcionalidad que se necesita no la proporciona la aplicación creada por Visual Basic, sino que se aprovecha de las aplicaciones que crean los objetos insertados. Así, el equipo donde se ejecute la aplicación Windows como hoja de cálculo Excel o procesador de textos como Word no necesitarán programar para conseguir que la aplicación presente la funcionalidad de dichas aplicaciones, sino que puedes utilizarlas desde tu aplicación. Al pulsar el control OLE en la caja de herramientas de Visual Basic nos aparecerá el siguiente cuadro de diálogo:

file:///D|/MiLapsita/Mis%20documentos/LVM/ALGO...OS%20CON%20VISUAL/tutorial_elvisual/cap17.html (1 de 4) [09/06/2010 11:14:55 a.m.]

Page 7: Manual el visual

file:///D|/MiLapsita/Mis%20documentos/LVM/ALGORITMOS%20CON%20VISUAL/tutorial_elvisual/cap17.html

En este cuadro nos aparecen los distintos tipos de objetos que podemos insertar en el formulario. Estos objetos provienen de las aplicaciones compatibles con OLE que tengas instaladas en tu equipo. Cuando una aplicación se instala en un ordenador queda registrada en el Registro de Windows. Este registro es como una base de datos don Windows guarda información referente a las aplicaciones que tiene instaladas. Entre otras cosas se guardan los objetos insertables que ofrecen dichas aplicaciones y que después nos aparecerán en el cuadro de diálogo insertar objeto. Se puede insertar en un formulario un objeto utilizando la opción Cerrar Nuevo o utilizar uno ya existente mediante la opción cerrar desde archivo. En este último caso tienes que especificar el archivo que posee el objeto a insertar. Si quieres que el objeto insertado aparezca en el formulario como un icono, puedes activar la casilla mostrar como icono del cuadro de diálogo insertar objeto. Puedes indicar que el objeto sea incrustado o vinculado. Al incrustar un objeto se crea una copia y se guarda en la aplicación Visual Basic, por lo que sólo se podrá usar en esta. Al vincular un objeto, éste sigue estando almacenado en el archivo original, guardándose en la aplicación una referencia al mismo y no el objeto en sí. ● Edicion del objeto Cuando insertas un objeto a través del control contenedor OLE, estás en disposición de editar el objeto con la aplicación creadora del mismo. Para ello lo único que tienes que hacer es doble click sobre el objeto. Al activar el objeto haciendo doble click, la aplicación servidora es iniciada y el usuario puede interactuar con ella utilizando toda la funcionalidad que presente. En este sentido es importante indicar aplicaciones que permitan que la edición sea en el propia control contenedor (Edición Visual), y otras en la que la edición se produce en una ventana independiente. Para que la edición del objeto sea en el propio contenedor OLE, es necesario haber incrustado el objeto, ya que toda vinculación producirá que la aplicación servidora se muestre en una ventana independiente. Por otra parte, si el objeto se representa como un icono en el formulario, también se presentará en una ventana independiente la aplicación servidora. Cuando la aplicación servidora se muestra en una ventana independiente, no existen problemas para presentar los menús y barras de herramientas de la misma. Pero si el formulario donde has insertado un objeto posee menús o barras de herramientas y la edición del objeto se produce en el propio contenedor, tienes que negociar dichos elementos, es decir, tienes que indicar como se han de mostrar. Si quieres que los menús de la aplicación servidora se muestren al editar el objeto, es necesario que el formulario donde está insertado el objeto posea un elemento de menú, aunque esté no visible. Además en el editor de menús puedes especificar en qué posición deben de mostrarse cuando se edite el objeto en el contenedor OLE. La propiedad NegociatePosition que aparece en el editor de menús, establece la posición de los elementos del menú de nuestro formulario. Puede tener los siguientes valores: - 0: Indica que dicho elemento del menú se verá cuando se edite el objeto, mostrándose únicamente el menú de la aplicación servidora. - 1, 2 y 3: Establece donde se mostrará, pudiendo ser a la izquierda, centro o derecha. Independientemente de la propiedad NegocitaPosition del menú, es necesario establecer la propiedad NegociateMenu del formulario a True. En otro caso, la negociación de menús no se llevará a cabo. Toda vinculación o uso de la opción Mostrar como Icono implicarán que el objeto se edite en una ventana independiente. ● Objetos insertables Algunas aplicaciones proporcionan objetos que pueden utilzarse como controles personalizados en Visual Basic. De esta forma se pueden agregar a la caja de herramientas de Visual Basic sin tener que utilizar el control contenerdor OLE. Para esto utilizaremos el el menú contextual de la caja de herramientas o elegir Controles personalizados en el menú de herramientas.

file:///D|/MiLapsita/Mis%20documentos/LVM/ALGO...OS%20CON%20VISUAL/tutorial_elvisual/cap17.html (2 de 4) [09/06/2010 11:14:55 a.m.]

Page 8: Manual el visual

file:///D|/MiLapsita/Mis%20documentos/LVM/ALGORITMOS%20CON%20VISUAL/tutorial_elvisual/cap17.html

Activa las casillas de los objetos que utilzas normalmente en tus aplicaciones y ya no será necesario utilizar el control contenedor OLE, insertando el objeto específico de una forma directa a través de los botones de la caja de herramientas que aparecen para ello. Además es posible que una aplicación aporte más de un tipo de objeto insertable. Por ejemplo, Excel permite la inserción de objetos hoja de cálculo y gráficos. Tienes que tener en cuenta que al utilizar un objeto insertable como control personalizado en la caja de herramientas, sólo puedes incrustar un objeto nuevo ya que no tienes la opción de utilizar un archivo existente, pero si puedes editarlo en tiempo de ejecución, aplicando las mismas reglas que en el caso del control contenedor OLE. ● Automatizacion OLE Una de las características más potentes de la utilización del estádar OLE es la Automatización OLE. Nos permite mediante programación, integrar varias aplicaciones Windows en una aplicación creada con Visual Basic. El estándar OLE permite que las aplicaciones actúen como servidores OLE o como clientes OLE. Un servidor OLE proporciona objetos que pueden ser utilizados en otras aplicaciones. Un cliente OLE es una aplicación que utiliza objetos creados en una aplicación distinta. Al utilizar la automatización OLE, puedes utilizar los objetos de otras aplicaciones como si fueran objetos de Visual Basic, estableciendo propiedades y utilizando sus métodos. El uso del examidor de objetos permite conocer y pedir ayuda sobre los componentes de dichos objetos, facilitando la utilización de sus métodos y propiedades de la forma correcta: Dim x As Object Set x = CreateObject ("Word.Basic") x.ArchivoNuevo x.TamañoFuente 24 x.Insertar "Uso de la Automatización OLE" En el ejemplo anterior se puede observar un fragmento de código donde se crea un objeto Word, se utiliza un método para crear un nuevo archivo, se establece la propiedad tamaño de fuente a 24 puntos y se inserta texto en el punto de inserción.

file:///D|/MiLapsita/Mis%20documentos/LVM/ALGO...OS%20CON%20VISUAL/tutorial_elvisual/cap17.html (3 de 4) [09/06/2010 11:14:55 a.m.]

Page 9: Manual el visual

file:///D|/MiLapsita/Mis%20documentos/LVM/ALGORITMOS%20CON%20VISUAL/tutorial_elvisual/cap17.html

file:///D|/MiLapsita/Mis%20documentos/LVM/ALGO...OS%20CON%20VISUAL/tutorial_elvisual/cap17.html (4 de 4) [09/06/2010 11:14:55 a.m.]

Page 10: Manual el visual

file:///D|/MiLapsita/Mis%20documentos/LVM/ALGORITMOS%20CON%20VISUAL/tutorial_elvisual/cap2.html

27 de

Octubre de 2001

Visitante Número: 198 CAPITULO SEGUNDO

PROGRAMACION EN VISUAL BASIC

● Estructuras de Código: El código que escriba en un proyecto de Visual Basic aparecerá siempre en un módulo. Un módulo es un archivo de proyecto, pudiendo ser un módulo de formulario, de clase o de caracter general como vimos en el capítulo anterior. En cada módulo, el código se divide en dos secciones: declaraciones y procedimientos Los procedimientos son unidades de código como pequeños programas, escritos para realizar funciones determinadas, con un propósito bien definido En cualquier módulo, el programador dispone de una sección especial llamada general en las que se sitúan las declaraciones y en la que se puede incluir otros procedimientos creados por el programador En el apartado declaraciones se puede introducir las constantes, variables y tipos de datos que necesite en su aplicación. (Todos estos conceptos serán tratados a lo largo del curso). Los procedimientos pueden tener parámetros, especificados entre parétentesis que le permiten comunicar al procedimiento alguna información que necesite o que sea el propio procedimiento quien devuelva algún valor. En un módulo de formulario el código que se sitúa se refiere tanto a dicho formulario como al resto de objetos que estén dibujados en él. En este tipo de módulos cabe destacar los procedimientos de evento que se encargan de dar una respuesta programada a los eventos que ocurren en la aplicación. Si has escrito código para algún procedimiento de evento, éste aparece en negrita en la lista de procedimiento de la ventana de código. El código de carácter general o que puede compartir en más de un proyecto, se sitúa en un módulo general. El código que aparece en este tipo de módulos no se relaciona con un objeto determinado, sino que tiene carácter general. En los módulos generales no se pueden incluir procedimientos de evento como en el caso de los módulos de formulario. Es conveniente añadir comentarios a las líneas de código que escribas, de esta forma podrás entender los programas aunque haga tiempo que los escribistes. Para añadir un comentario en una línea se utiliza el carácter ' (apóstrofe). ● Objetos en Visual Basic Un objeto en Visual Basic se caracteriza por tres componentes: propiedades, métodos y eventos. Las propiedades son aquellas características o atributos que permiten establecer el htmlecto de un objeto como el color, tamaño, posición, etc... O el estado del mismo: activo, maximizado, ect... Existen propiedades que sólo están disponibles en tiempo de diseño y otras que sólo están disponibles en tiempo de ejecución. Los métodos son pequeños programas que actúan sobre un determinado objeto y que establecen su comportamiento. Así un objeto puede moverse, ocultarse, etc... Puedes utilizar cualquier método que forme parte del objeto. Los eventos son las situaciones que se producen y que nos interesan identificar para establecer algún tipo de de respuesta por parte del objeto. Así, puedes hacer click sobre un determinado objeto, creando de esta forma un evento reconocible por el objeto. Que suceda algo o no como respuesta a este evento dependerá de que hayas programado alguna acción en el correspondiente procedimiento de evento. ● Establecer propiedades Cuando insertas objetos en un formulario tienes que establecer algunas propiedades que presenta. Las propiedades son aquellas caracteríticas propias del objeto que hacen que se distingan de otro objeto. En una aplicación Windows podemos distinguir diversos tipos de ventanas, aunque lo normal es identificar una ventana inicial que se puede maximizar o minimizar y uno o más cuadros de diálogo cuyo tamaño suele ser fijo. Sin embargo, debes darte cuenta que las barras de herramientas también son ventanas de una aplicación. . Normalmente la ventana inicial o de arranque será la que presente el menú principal, formado por menús desplegables en uno o más de un nivel. El resto de ventanas no deberían contener menús desplegables, aunque puede darse el caso.

file:///D|/MiLapsita/Mis%20documentos/LVM/ALGO...MOS%20CON%20VISUAL/tutorial_elvisual/cap2.html (1 de 3) [09/06/2010 11:14:43 a.m.]

Page 11: Manual el visual

file:///D|/MiLapsita/Mis%20documentos/LVM/ALGORITMOS%20CON%20VISUAL/tutorial_elvisual/cap2.html

Algunas propiedades de los formularios que se pueden establecer en tiempo de diseño son: BorderSytle: Establece el estilo del borde del formulario. Caption: Establece el texto que aparece en la barra de título del formulario. ControlBox: Permite mostrar o no el menú de control de las ventanas de Windows. Enabled: Establece si el formulario puede responder o no a los eventos que generes. Font: Establece las características de los objetos de texto que se sitúen en el formulario. Icon: Cambia el icono que representa el formulario. Left, Top, Height, Width: Establecen la posición del formulario en la pantalla así como las dimensiones. MaxButton y MinButton: Establece si se podrá maximizar o minimizar el formulario. MousePointer: Modificar el puntero del ratón. Visible: Establece si el formulario se mostrará visible en tiempo de ejecución. WindowState: Establece el modo en que se carga inicialmente el formulario, normal, maximizado o minimizado. Todas esta propiedas están disponibles en tiempo de diseñoa través de la ventana de propiedades. En tiempo de ejecución se puede cambiar o consultar el valor de algunas propiedades que sólo tienen sentido en el tiempo de desarrollo. NombreObjeto.NombrePropiedad. ● Convención para nombrar objetos en Visual Basic

OBJETO OBJETO ESPAÑOL PREFIJOForm Formulario frmCheckBox Casilla de verificación chkComboBox Cuadro combinado cboData-bound combobox Cuadro combinado enlazado a datos dbcCommand Button Botón de comando cmdData Control de datos datDirectory list box Cuadro lista de directorios dirDrive List Box Cuadro lista de unidades drvFile List Box Cuadro lista de archivos filFrame Marco frmGrid Rejilla grdData-bound grid Rejilla enlazada a datos dbgHorizontal scrollbar Barra de desplazamiento horizontal hsbImage Imagen imgLabel Etiqueta lblLine Linea linOLE Container Contenedor OLE olePictureBox Cuadro de imagen picShape Forma shpText Box Cuadro de texto txtTimer Temporizador tmrVertical scroll bar Barra de desplazamiento vertical vsb

● Utilizar Métodos

file:///D|/MiLapsita/Mis%20documentos/LVM/ALGO...MOS%20CON%20VISUAL/tutorial_elvisual/cap2.html (2 de 3) [09/06/2010 11:14:43 a.m.]

Page 12: Manual el visual

file:///D|/MiLapsita/Mis%20documentos/LVM/ALGORITMOS%20CON%20VISUAL/tutorial_elvisual/cap2.html

Una vez se ha establecido la parte estructural del formulario, se pasa a programar el comportamiento que debe seguir, de forma que cumpla con el objetivo para el que desees crearlo, utilizando los métodos. Un método es un componente más de del objeto, que puede ser utilizado directamente. Para ello debes llamar al método e indicarle sobre qué objeto deseas aplicarlo, que deberá admitirlo. La síntaxis en este caso debe ser: NombreObjeto.NombreMétodo[par1,...,parn], donde la lista de parámetros [par1...,parn] es opcional de cada método. Un ejemplo es: Si quieres mostrar un formulario llamado frmPrimero la síntaxis será: frmPrimero.Show 1 El valor 1 nos indica que aparecerá de forma modal y si el valor es 0 aparecerá de forma no modal. ● Entender los eventos El conjunto de eventos está predefinido en Visual Basic por lo cual no puedes crear numevo eventos para los objetos. El conjunto de evento reconocibles por un objeto está ligado con los procedimientos de evento. Estos procedimientos son unidades de código que le permiten especificar la respuesta que debe dar un objeto ante la ocurrencia de un evento que puede reconocer. La definición del procedimiento de envento tiene la siguiente forma: Private Sub NombreObjeto_NombreEvento([Lista de parámetros]) ...intrucciones... End Sub

file:///D|/MiLapsita/Mis%20documentos/LVM/ALGO...MOS%20CON%20VISUAL/tutorial_elvisual/cap2.html (3 de 3) [09/06/2010 11:14:43 a.m.]

Page 13: Manual el visual

file:///D|/MiLapsita/Mis%20documentos/LVM/ALGORITMOS%20CON%20VISUAL/tutorial_elvisual/cap9.html

27 de

Octubre de 2001

Visitante Número: 198 CAPITULO NOVENO

FUNDAMENTOS DE PROGRAMACION III

● Tipos de procedimientos> En Visual Basic existen tres tipos de procedimientos: Sub, Function y Property Los procedimientos Function se distinguen de los Sub por que siempre devuelven un valor asociado al nombre del procedimiento. Este valor puede ser usado por el código que lo ha llamado. Los procedimientos Property seiven para crear y manipular propiedades personalizadas de los objetos. ● Crear procedimientos Sub Para crear un procedimiento tienes dos alternativas, una utilizar la opción Procedimiento del menú Insertar o escribirlo completamente en la ventana de código. En la definición de un procedimiento Sub puedes diferenciar dos partes: la cabecera u el cuerpo del procedimiento. La cabecera del procedimiento se indica el ámbito (si es público o privado) del mismo, su tipo (mediante la palabra Sub), su nombre y la lista de parámetros (entre paréntesis). La lista de parámetros sirve para poder comunicar el procedimiento con el resto de código de la aplicación. Para ello se utiliza un parámetro que indique de alguna forma dicha circunstancia. Un parámetro se comporta como una variable en el cuerpo del procedimiento, pudiendo simplemente utilizar su valor o inlcuso modificarlo. Cuando un procedimiento quiere comunicar algún dato a la aplicación, tiene que utilizar un parámetro para ello, es decir, puede servir bien para comunicar un valor al procedimiento o bien para que éste lo comunique a la aplicación. ● Llamar al procedimiento Sub Para llamar a un procedimiento sub lo podemos hacer de dos formas: Call NombreSub (parámetros) O también: NombreSub parámetros Los argumentos deben coincidir en la llamada en número y tipo con la definición del procedimiento. Tanto si se especifica en la llamada un número distinto de argumentos como si alguno de éstos no pueden convertirse al tipo declarado en la definición del procedimiento, se creará un error de compilación. La llamada al procedimiento será como una instrucción más del lenguaje, donde se especifica el nombre del procedimiento seguido sin paréntesis, de una línea de argumentos que deberá coincidir en número y tipo con los parámetros de la definición y que darán valor a los parámetros para que se ejecute el cuerpo del procedimiento. Una vez se llega a la instrucción End Sub del procedimiento el fujo de ejecución vuelve a la línea siguiente a la que ocasionó la llamada. ● Crear procedimientos Function El concepto de procedimiento es válido para un procedimiento Function, pero la diferencia con los procedimientos Sub siempre tiene que devolver un valor asociado al nombre del mismo. En el cuerpo del procedimiento aparecerá una asignación del valor a devolver con el nombre del procedimiento. El uso de los procedimientos Function suele estar más restringido que el de los procedimientos Sub. Un procedimiento Function es utilizado cuando necesitamos obtener un único valor, resultado de un cálculo o poceso a realizar. Un procedimiento de este tipo no debería realizar más de lo que se le pide, ni mostrar mensajes, ni devolver más valores en los parámetros, etc. La diferencia en la definición de un procedimiento Sub y un Function comienza en la cabecera. El procedimiento

file:///D|/MiLapsita/Mis%20documentos/LVM/ALGO...MOS%20CON%20VISUAL/tutorial_elvisual/cap9.html (1 de 3) [09/06/2010 11:14:49 a.m.]

Page 14: Manual el visual

file:///D|/MiLapsita/Mis%20documentos/LVM/ALGORITMOS%20CON%20VISUAL/tutorial_elvisual/cap9.html

Function también puede contener una lista de parámetros, no debe aparecer ninguno que serva para devolver el valor que se calcula, ya que dicho valor tiene que asociarse con el mismo nombre del procedimiento Function. Además, al tener que devolver un valor asociado al nombre del procedimiento Function, el procedimiento tiene que tener un tipo de datos. Esto se especifica indicano la cláusula AS Tipo al final de la cabecera del procedimientos, una vez indicada la lista de parámetros. Si no se especifica ningún tipo de datos, se aplica la misma regla que con las variables, es decir, tendrá el tipo Variant. ● Llamar al procedimiento Function Así como la llamada al procedimiento Sub es como una instrucción más del lenguaje, la llamada al procedimiento Function suele estar situada como parte de una expresión y no como una línea independiente de su código. Ya que el procedimiento Function devuelve un valor asociado a su nombre, este valor suele asignarse a alguna variable para poder utilizarlo en el código que ha realizado la llamada. La síntaxis será la siguiente: NombreVarialbe = NombreFunction(ListaParámetros) Si quieres utilizar el valor que devuelve el procedimiento Function, tienes que encerrar la lista de argumentos, en la llamada, con paréntesis. Esto no era así en el caso del procedimiento Sub. Visual Basic incorpora un gran número de funciones que puedes utilizar en tus aplicaciones, entre ellas cabe destacar MsgBox, InputBox, Date... ● Paso de parametros A la hora de escribir la definición de un procedimiento Sub o Function puedes especificar cómo se pasan los parámetros de su lista de parámetros: por valor o por referencia Cuando el paso es por valor, se utiliza la palabra clave ByVal antecediendo al nombre del parámetro en la definición del procedimiento. En este caso el procedimiento recibe una copia del argumento utilizado en la llamada y no el mismo argumento. Si realizas cambios en su valor, estos cambios podrán ser utilizados en el interior del procedimiento, pero no afectará para nada a la variable que actúa como argumento en la llamada. En el paso por referencia no se necesita especificar ninguna palabra clave, aunque también puedes hacerlo con la palabra ByRef. En el paso por referencia, el procedimiento estará manejando los propios argumentos utilizados en la llamada, ya que recibe la direción y no el valor de estos. En este caso cualquier modificación en el valor que se realice en el interior del procedimiento será sufrido por la propia variable que actúe como argumento de llamada. ● Ambito de la accion Cuando un proyecto esté constituido por distintos módulos, ya sean de formulario, clase o módulos generales de Visual Basic, es importante delimitar dónde se pueden utilizar y dónde no, los procedimientos, variables y constantes que tengas definidos o declaradas. El nivel de ocultación es establecido por el programador al declarar las variables y constantes o al definir procedimientos utilizando las palabras Pulbic y Private. Una declaración de variables de tipo Public NombreVariable As Tipo, indica que dicha variable puede ser utilizada tanto en el módulo donde se realiza como en el resto de módulos de la aplicación. Si la declaración fuera del tipo Private NombreVariable As Tipo, dicha variable sólo podrá ser conocida y por tanto utilizada, en el mismo módulo donde se declara. El uso de Public y Private también se aplica a la declaración de procedimientos. Un caso especial es cuando se declara una variable dentro de un procedimiento, en estos casos, dichas variables sólo pueden ser conocidas por el propio procedimiento, por lo que no es válida la declaración Public de estas. Además, si existe conflicto de nombre, al haber declarado dos variables con el mismo nombre, una a nivel de módulo y otra a nivel de procedimiento, siempre tiene preferencia la más local, es decir, la declarada a nivel de procedimiento. Al utilizar Dim en la declaración de las variables, en lugar de Private o Public, la visibilidad de dichas variables es la que deban tener por defecto: a nivel de módulo está visible para todos los procedimientos y a nivel de procedimiento sólo para éste.

file:///D|/MiLapsita/Mis%20documentos/LVM/ALGO...MOS%20CON%20VISUAL/tutorial_elvisual/cap9.html (2 de 3) [09/06/2010 11:14:49 a.m.]

Page 15: Manual el visual

file:///D|/MiLapsita/Mis%20documentos/LVM/ALGORITMOS%20CON%20VISUAL/tutorial_elvisual/cap9.html

file:///D|/MiLapsita/Mis%20documentos/LVM/ALGO...MOS%20CON%20VISUAL/tutorial_elvisual/cap9.html (3 de 3) [09/06/2010 11:14:49 a.m.]

Page 16: Manual el visual

file:///D|/MiLapsita/Mis%20documentos/LVM/ALGORITMOS%20CON%20VISUAL/tutorial_elvisual/cap4.html

27 de

Octubre de 2001

Visitante Número: 198 CAPITULO CUARTO

CUADROS DE DIALOGO

● Introduccion La mayoría de las aplicaciones Windows hacen uso de los cuadros de diálogo para establecer las opciones o introducir información que necesitan para realizar una acción indicada por el usuario. Otro uso posible de los cuadros de diálogo es presentar información al usuario. Los cuadros de diálogo se caracterizan por ser modales y no permitir poder cambiar el tamaño de la ventana, además no deberán tener una barra de menús desplegables. En Visual Basic podemos crear tres tipos de cuadros de diálogos: personalizados, predefinidos y diálogo común. ● Cuadros predefinidos La síntaxis completa de la función MsgBox es: MsgBox(mensaje[, botones][, título][, archivoAyuda, contexto]) Los valores que pueden tomar el parámetro botones son:

Constante Valor Descipción

vbOKOnly 0 Muestra sólo el botón aceptar

vbOKCancel 1 Botones aceptar y cancelar

vbAbortRetryIgnore 2 Botones anular, reintentar e ignorar

vbYesNoCancel 3 Botones si, no y cancelarvbYesNo 4 Botones si y no

vbRetryCancel 5 Botones reintentar y cancelar

vbCritical 16 Muestra el icono de mensaje crítico

vbQuestion 32 Icono de interrogaciónvbExclamation 48 Icono de exclamación

vbInformation 64 Icono de mensaje de información

vbAplicationModal 0 Cuadro de diálogo modal de la aplicación

vbSystemModal 4096 Cuadro de diálogo modal del sistema

El parámetro botones es de valor numérico, y además de los botones que aparecen en le cuadro de diálogo, también puede indicar el icono que acompañe al mensaje y el tipo de diálogo modal que es. Cuando un cuadro de diálogo es modal de aplicacióen tienes que cerrarlo para interactuar con otra ventana de la misma aplicación. Cuando es un cuadro de diálogo modal del sistema, todas las aplicaciones que estén ejecutándose se suspenden hasta que el usuario responda al cuadro de diálogo.

file:///D|/MiLapsita/Mis%20documentos/LVM/ALGO...MOS%20CON%20VISUAL/tutorial_elvisual/cap4.html (1 de 3) [09/06/2010 11:14:45 a.m.]

Page 17: Manual el visual

file:///D|/MiLapsita/Mis%20documentos/LVM/ALGORITMOS%20CON%20VISUAL/tutorial_elvisual/cap4.html

El cuadro InputBox se consigue a través de la función InputBox. Se utiliza cuando se necesita que el usuario introduzca alguna información. La síntaxis correcta es: InputBox(mensaje [,título][, estándar][, posx][,posy][, archivoAyuda , contexto]) ● Control Dialogo Comun En el objeto diálogo común lo podemos encontrar en la barra de herramientas de Visual Basic:

Nos permite mostrar cinco cuadros de diálogo estándar en las aplicaciones. Estos cuadros de diálogo son: Abrir Guardar Como Imprimir Fuente Color También podemos hacer uso del control diálogo para llamar al motor de Ayuda de Windows de forma que pueda presentar el archivo de ayuda en línea de la aplicación. Al crear un objeto diálogo común, se sitúa en una posición y un tamaño estándar. En el caso de quere utilizar el cuadro de diálogo común Guardar como: DialogTitle: Es el texto que debe aparecer en la barra de título del cuadro de diálogo. DefaultExt: Es la extensión con la que se guardará el archivo. Filter: Indica la extensión de los archivos que deben mostrarse en el cuadro de diálogo. En el caso de la propiedad Filter se puede indicar que muestre más de un tipo de archivos. Para esto se utiliza la síntaxis: Archivos de Texto|*.txt|Base de datos|*.mdb Con el ejemplo anterior nos aparecerán todos los archivos de texto(*.txt) y los de base de datos(*.mdb).

file:///D|/MiLapsita/Mis%20documentos/LVM/ALGO...MOS%20CON%20VISUAL/tutorial_elvisual/cap4.html (2 de 3) [09/06/2010 11:14:45 a.m.]

Page 18: Manual el visual

file:///D|/MiLapsita/Mis%20documentos/LVM/ALGORITMOS%20CON%20VISUAL/tutorial_elvisual/cap4.html

Los métodos disponibles para los cuadros de diálogo son: ShowOpen: Abrir. ShowSave: Guardar como. ShowColor: Cuadro de diálogo color. ShowFont: Tipo de fuente. ShowPrinter: Imprimir. ShowHelp: Llamada a la ayuda de Windows Ejemplo de llamada al motor de ayuda de Windows: With CommonDialog1 .HelpFile = "C:\Vb\vb.hlp" .HelpCommand = cdlHelpContents .ShowHelp End With

file:///D|/MiLapsita/Mis%20documentos/LVM/ALGO...MOS%20CON%20VISUAL/tutorial_elvisual/cap4.html (3 de 3) [09/06/2010 11:14:45 a.m.]

Page 19: Manual el visual

file:///D|/MiLapsita/Mis%20documentos/LVM/ALGORITMOS%20CON%20VISUAL/tutorial_elvisual/cap7.html

27 de

Octubre de 2001

Visitante Número: 198 CAPITULO SEPTIMO

FUNDAMENTOS DE PROGRAMACION

● Variables Una variable es una ubiación temporal de memoria donde se almacenan datos que interesan retener durante la ejecución de la aplicación. Las variables pueden contener texto, valores numéricos, fechas o propiedades de cierto objeto. Es una forma de dar nombre a una porción de datos con la que deseamos trabajar en nuestro programa. Las variables se caracterizan por un nombre que las identifica y por un tipo de datos, que establece el conjunto de valores posibles que pueden contener y operaciones en las que puede participar. El valor de una variable puede cambiar a lo largo de la vidad de ésta. Es necesario declarar las variables para poder utilizarlas en el programa. En Visual Basic no es obligatorio pero si recomendable. Al declarar una variable se reserva memoria para ella y se indica qué valores puede contener a través de su tipo de datos. Para establecer la declaración de una variable antes de ser utilizada en el código, puedes hacerlo en la ficha entorno del cuadro de diálogo opciones. Al activar la casilla Declaración de las variables requerida, Visual Basic introduce la instrucción Option Explicit en la sección de declaraciones de cada módulo nuevo que se cree, no de los ya existentes donde tienes que introducirlos manualmente. Esta instrucción obliga a declarar las variables antes de utilizarlas, lo que es muy recomendable. El uso de las variables puede hacer que la aplicación sea más rápida, por ejemplo, si usas muchas veces un determinado valor, es aconsejable guardarlo en una variable y utilizarla cuando se necesite que tener que volver a escribir código cada vez que quieras llamarla. Es más rápido el acceso a las variables que a una propiedad de un objeto, por lo que también es aconsejable guardar el valor de una propiedad en una variable. Veamos un ejemplo: Dim Variable Variable = txtEntrada.Text txtSalida.Text = Variable La forma de declara una variable es a través de la instrucción Dim. En la línea se declara la variable de nombre Variable y al mismo tiempo Visual Basic guarda espacio en memoria para poder utilizarla. En la segunda línea ya se utiliza la variable. En este caso sirve para guardar el valor que existe en un cuadro de texto llamado txtEntrada (representado por la propiedad Text). En la tercera línea se hace justo lo contario, se utiliza la variable Variable para establecer el valor de la propiedad Text del cuado de texto txtSalida. Si añadimos las siguientes líneas de código: Variable = 125 txtNúmero.Text = Variable Hemos establecido una variable de valor numérico. Sin embargo en las anteriores líneas se había establecido un valor de texto ya que la propiedad Text es de ese tipo de datos. En la última línea se vuelve a utilizar la variable como origen de la propiedad Text del cuadro de texto txtNúmero. ● Tipo de datos

file:///D|/MiLapsita/Mis%20documentos/LVM/ALGO...MOS%20CON%20VISUAL/tutorial_elvisual/cap7.html (1 de 3) [09/06/2010 11:14:47 a.m.]

Page 20: Manual el visual

file:///D|/MiLapsita/Mis%20documentos/LVM/ALGORITMOS%20CON%20VISUAL/tutorial_elvisual/cap7.html

El tipo de datos de una variable establece el número de valores que ésta puede tener, así como el conjunto de operaciones en las que puede tomar parte como operando En Visual Basic dicho tipo de datos se especifica al declarar la variable de forma que se guarda espacio en memoria para poder alamacenar los valores de dicho tipo de datos. Es importante indicar el tipo de datos ya que no todos tienen la misma representación en memoria, ocupando distinto espacio físico. Visual Basic de forma predeterminada, a no ser que se indique el tipo de datos, establece el tipo Variant para todas las variables. Así, al utilizar una intrucción como Dim NombreVarialbe, se especifica implícitamente el tipo Variant para dicha variable. El tipo Variant es un tipo especial de datos que puede contener cualquier clase de datos excepto cadenas de longitud fija y tipos definidos por el usuario. Al utilizar variables de este tipo, no hay que preocuparse de efectuar conversiones entre tipos para utilizarlas en distintos contextos. Las variables de tipo Variant son muy flexibles, pero ocupan mucha memoria y disminución de la velocidad. Vamos a ver los siguientes tipos de variables:

Tipo de datos TamañoEntero (Integer) 2 bytesEntero Largo (Long) 4 bytesSimple (Single) 4 bytesDoble (Double) 8 bytesMoneda (Currency) 8 bytesCadena de caracteres (String) 1 byte por caracterByte 1 byteBoleano (Boolean) 2 bytesFecha (Date) 8 bytesObjecto (Object) 4 bytesVariant 16 bytes + 1 byte por cada caracter

Para declarar las variables debes de usar su nombre en inglés. ● Constantes Cuando un valor se repite frecuentemente es interesante guardarlo en una variable. Las constantes son semejantes a las variables, pero su valor no puede cambiar a lo largo de la aplicación. Para utilizar una constante hay que declararla previamente. La forma de declararla es a través de de la instrucción: Const NombreConstante = Expresión, donde la expresión será un valor literal o un conjunto de palabras que se evalúen a un valor válido. ● Operadores En Visual Basic existe un gran número de operadores que se pueden utilizar para crear fórmulas. Los operadores más utilizados en una aplicación de Visual Basic son los siguientes:

file:///D|/MiLapsita/Mis%20documentos/LVM/ALGO...MOS%20CON%20VISUAL/tutorial_elvisual/cap7.html (2 de 3) [09/06/2010 11:14:47 a.m.]

Page 21: Manual el visual

file:///D|/MiLapsita/Mis%20documentos/LVM/ALGORITMOS%20CON%20VISUAL/tutorial_elvisual/cap7.html

Operador Operación que realiza+ Suma / Concatenación de cadenas de caracteres- Resta* Multiplicación/ División\ División enteraMod Resto de la división entera^ Exponenciación& Concatenación de cadena de caracteres

file:///D|/MiLapsita/Mis%20documentos/LVM/ALGO...MOS%20CON%20VISUAL/tutorial_elvisual/cap7.html (3 de 3) [09/06/2010 11:14:47 a.m.]

Page 22: Manual el visual

file:///D|/MiLapsita/Mis%20documentos/LVM/ALGORITMOS%20CON%20VISUAL/tutorial_elvisual/cap14.html

27 de

Octubre de 2001

Visitante Número: 200 CAPITULO DECIMOCUARTO

OPCIONES AVANZADAS DE BASES DE DATOS

● Cuadricula enlazada a datos En algunas ocasiones desearás mostrar más de un registro a la vez, con sus correspondientes campos. Para ello Visual Basic incorpora un nuevo control llamado Cuadrícula, que se presenta en dos versiones: enlazada y no enlazada Las dos permiten mostrar información de forma tabular, es decir, con un conjunto de filas y columnas. La versión enlazada (DBGrid), es más apropiada cuando deseamos mostrar información proveniente de una determinada base de datos. Al utilizar dicho control puedes mostrar en cada una de sus columnas un campo y en cada una de las filas un registro del recordset del que haya sido enlazado. El control Cuadrícula enlazada a datos no aparece en la caja de herramientas estándar ya que es un control personalizado con el siguiente htmlecto:

Deberás agregarlo manualmente a la caja de herramientas, su nombre es Data Bound Grid. El control cuadrícula enlazada a datos aparece inicialmente con dos filas y dos columnas. Se puede modificar en tiempo de diseño esperar que en tiempo de ejecución, cuando se enlace con un determinado recordset se ajuste al mismo. El primer conjunto de propiedades interesantes de este control es el que establece su comportamiento en tiempo de ejecución. Las propiedades AllowAddNes, AllowDelete y AllowUpdate nos indican si en tiempo de ejecución se va a permitir añadir, eliminar o actualizar respectivamente el registro de la cuadrícula. La propiedad que establece el enlace con el correspondiente control data es, al igual que en el resto de controles enlazados DataSource. Sin embargo, no presenta la propiedad DataField ya que cuando utilices una cuadrícula es para mostrar un conjunto de registros, que seguramente tendrán más de un campo. ● Consultas en SQL Cuando quieras mostrar información que provenga de más de una tabla, no tienes más remedio que utilizar el lenguaje SQL para establecer la correspondiente consulta en la propiedad RecordSource de un control data. SQL es un lenguaje que pretende ser estándar en el acceso a bases de datos relacionales, de forma que independientemente del origen de la información, puedas acceder a ella a través de instrucciones SQL. Puedes establecer la propiedad RecordSource del control data en tiempo de ejecución y darle el valor de una determinada instrucción SQL, de esta forma el usuario puede especificar lo que quiere extraer de la base de datos. Una vez establecida la propiedad RecordSource, tienes que utilizar el método Refresh del control data para crear el objeto recordset, al haber cambiado la propiedad del recordsource. La instrucción que se utiliza para crear consultas de selección SQL es SELECT. La síntaxis de esta instrucción es la siguiente: SELECT -columnas- FORM -tablas- [WHERE -condiciones-] [ORDER BY -columnas-] La instrucción SELECT comienza con dicha palabra y un conjunto de columnas, es decir, el conjunto de campos que queremos que muestre la consulta como resultado de la misma. Seguidamente aparecere la cláusula FORM, que identifica las tablas sobre las que se realiza la consulta. Los campos

file:///D|/MiLapsita/Mis%20documentos/LVM/ALGO...OS%20CON%20VISUAL/tutorial_elvisual/cap14.html (1 de 3) [09/06/2010 11:14:52 a.m.]

Page 23: Manual el visual

file:///D|/MiLapsita/Mis%20documentos/LVM/ALGORITMOS%20CON%20VISUAL/tutorial_elvisual/cap14.html

especificados en la cláusula SELECT deben pertenecer a las tablas especificadas en FORM. Seguidamente nos encontramos con dos cláusulas opcionales como nos indican la presencia de cochetes. La cláusula WHERE especifica el criterio que debe cumplir para que un determinado registro aparezca en el resultado de la consulta. Normalmente serán expresiones de comparación del tipo NombreCampo = Valor o usando ciertas funciones de SQL. La cláusula ORDER BY especifica en qué orden aparecerán los resultados de una consulta. Tienes que especificar el campo o conjunto de campos por los que se ordenan los registros de la consulta. También puedes indicar si el orden es ascendente o descendente. Vamos a ver un ejemplo: SELECT Nombre FORM Empleados Se especifica que se muestre el campo Nombre de los registros que pertenecen a la tabla Empleados. Si quieres que se muestra más de un campo, hay que separarlos por comas, y si quieres que se muestren todos los campos de una tabla se puede utilzar el caráter *. Así, la consulta devolverá todos los campos de la tabla Empleados. SELECT Empleados.Nombre, Empleados.[fecha alta] FORM Empleados,TiempoAlta WHERE Empleados.Puesto = TiempoAlta.Puesto En esta caso se está pidiendo que se muestren los campos Nombre y TiempoAlta de los registros situados en la tabla Empleados y cuyo Puesto exista en algún registro de la tabla Puesto. Si se utilizan más de una tabla de consultas es conveniente indicar el nombre de la tabla en la cláusula SELECT junto al nombre del campo que quieres mostrar, por que las dos tablas podrían tener el mismo nombre para uno o más campos. Si el nombre de un campo está compuesto por más de una palabra, tienes que utilizar corchetes para delimitarlo. Todas las tablas implicadas aparecen en la cláusula FORM separadas por comas. La cláusula WHERE presenta el criterio de comparación. ● Validar el control data Cuando se intereactua con el control data en un formulario podemos utilizar alguno de sus eventos para establecer niveles de validación de los datos que se han introducido o modificado. El evento más utilizado es validate. Sucede siempre antes de que el registro actual cambie. Veamos un ejemplo: Private Sub datEmpleados_Validate(Action As Integer, Save As Integer) Dim respuesta As Integer If Save = True Then respuesta = MsgBox("Quieres guardar los cambios", vbYesNo) If respuesta = vbNo Then Save = False End If End If End Sub El procedimiento de evento Validate contiene dos parámetros: Action que indica por qué se ha producido el evento y Save que indica se se debe o no modificar la base de datos. Así el código utiliza el parámetro Save y permite confirmar, por parte del usuario, que se lleve a cabo la modificación que se ha realizado. Se se responde No, los cambios no tienen efecto al establecer el valor False del parámetro Save. También se pueden crear reglas de validación al crear una tabla. Así puedes introducir reglas de validación junto al menseja que debe aparecer si se infringen, reglas de integridad referencial, etc...

file:///D|/MiLapsita/Mis%20documentos/LVM/ALGO...OS%20CON%20VISUAL/tutorial_elvisual/cap14.html (2 de 3) [09/06/2010 11:14:52 a.m.]

Page 24: Manual el visual

file:///D|/MiLapsita/Mis%20documentos/LVM/ALGORITMOS%20CON%20VISUAL/tutorial_elvisual/cap14.html

file:///D|/MiLapsita/Mis%20documentos/LVM/ALGO...OS%20CON%20VISUAL/tutorial_elvisual/cap14.html (3 de 3) [09/06/2010 11:14:52 a.m.]

Page 25: Manual el visual

file:///D|/MiLapsita/Mis%20documentos/LVM/ALGORITMOS%20CON%20VISUAL/tutorial_elvisual/cap10.html

27 de

Octubre de 2001

Visitante Número: 198 CAPITULO DECIMO

EFECTOS GRAFICOS

● Control Line La incorporación de elementos gráficos a las aplicaciones hacen que tenga una interfaz más amigable para el usuario. Visual Basic incorpora una serie de controles gráficos que permiten la incorporación de elementos de este tipo a tus formularios. Para agregar líneas a los formularios utilizaremos el control Line:

Este control tiene pocas propiedades, se puede establecer el grosor, mediante la propiedad BorderWidth o el color mediante BorderColor. También se puede cambiar el estilo de la línea con la propiedad BorderStyle. ● Control Shape Con el control Shape (Forma), podemos dibujar distintas figuras como círculos, rectágulos, óvalos... Para agregar figuras a los formularios utilizaremos el control Shape: La apariencia inicial de un objeto Shape es siempre un rectágulo. Dicha característica se establece a través de la propiedad Shape. Otra propiedad interesante de este control es el relleno de las figuras que estableceremos con la propiedad FillStyle. También, mediante la propiedad FillColor podrás establecer el color de dicho relleno, el color de los bordes con BorderColor. ● Arrastrar con el raton Visual Basic permite que el programador indique cuándo y cómo un control puede ser arrastrado con el ratón por la ventana en la que se encuentra. Los controles situados en la ventana podrán darse cuenta que un determinado control puede está siendo arrastrado por encima de ellos, permitiéndoles responder de la forma adecuada. Si quieres permitir que el usuario de la aplicación pueda arrastrar un control en tiempo de ejecución puedes hacerlo de dos formas: realizar un arrastre automático o controlar cuándo debe empezar dicho arrastre. Esto se controla mediante la propiedad DragMode del objeto que quieres arrastrar. Esta propiedad tiene dos valores: manual y automático. En el primer caso tienes que controlar cuándo debe permitirse arrastrar el control. Normalmente esto depende de alguna circunstancia que será comprobada cuando se pulse en dicho control, es decir, en el evento MouseDown. Si DragMode se establece a automático el usuario prodrá arrastrar el control sin necesidad de que haya que programar nada más. En este caso se pierde el control sobre el arrastre, pero es mucho más sencillo de programar. Otra circunstancia que hay que tener en cuenta a la hora de arrastrar un objeto es el htmlecto que tendrá el puntero del ratón cuando lo haga. Si no se especifica nada en la propiedad DragIcon, Visual Basic muestra un icono como puntero del ratón, que es el contorno del objeto arrastrado. Normalmente te interesará mostrar un icono distinto indicando la acción de arrastrar el objeto. DragMode y DragIcon son las dos propiedades que tienes que tener en cuenta a la hora de permitir el arrastre de objetos en la aplicación. También hay que tener en cuenta el evento DragOver, sucede cuando el usuario arrastra un objeto por encima de otro, en este último, es decir el destino, el que reconoce el eveto DragOver. El procedimiento de evento DragOver trabaja con cuatro parámetros: Source X, Y y State. El parámetro Source representa el control que está siendo arrastrado, siendo X e Y la posición exacta en la que se encuentra. El parámetro State indica si el movimiento del ratón, al realizar el arrastre, es para entrar en el objeto destino o para

file:///D|/MiLapsita/Mis%20documentos/LVM/ALGO...OS%20CON%20VISUAL/tutorial_elvisual/cap10.html (1 de 2) [09/06/2010 11:14:49 a.m.]

Page 26: Manual el visual

file:///D|/MiLapsita/Mis%20documentos/LVM/ALGORITMOS%20CON%20VISUAL/tutorial_elvisual/cap10.html

salir del mismo. Todos esto parámetros están situados en la cabecera del procedimiento DragOver. Si State tiene un valor 0, entonces el movimiento del objeto que está siendo arrastrado es para entrar en el objeto que reconoce el DragOver. En el caso de que State sea igual a 1, el movimiento de arrastre es hacia afuera, es decir, saliendo. Utilizando el valor de éste parámetro podrás decidir qué debe ocurrir. ● Colocar con el raton Cuando el usuario de una aplicación pulsa con el ratón en un objeto y lo mueve, está haciendo un arrastre o drag del objeto. Cuando decide soltar el botón del ratón se dice que está colocando el objeto o que está haciendo un drop. Cuando esto sucede, el evento DragDrop es generado y reconocido por el objeto sobre el que se ha soltado. Existe la posibilidad de que el usuario suelte el ratón sobre otro objeto o que lo haga en una zona del formulario vacía, en este caso es el formulario el que reconoce el evento DragDrop o el objeto sobre el que se ha soltado. El procedimiento DragDrop posee en su cabecera tres parámetros que tienen el mismo significado que en el caso DragOver: Source, X e Y. Debes decidir qué sucede cuando el ususario arrastra un objeto y lo suelta sobre otro. El hecho de soltarlo en una posición distinta a la que se encontraba no implica absolutamente nada, es decir, el objeto no cambiará de posición si no lo indicas expresamente a través de la programación. Vamos a ver un ejemplo de procedimiento evento DragDrop en el que se indica qué debe ocurrir cuando soltamos el objeto identificado por la cadena "Disquete" en su propiedad Tag: Private Sub imgDestino_DragDrop (Source As Control, X As Single, Y As Single) If Source.Tag = "Disquete" Then imgDestino.Width = imgDestino.Width + 150 imgDestino.Height = imgDestino.Height + 150 Source.Visible = False End If End Sub En este caso aumentarás el tamaño del control destino haciéndolo a través de sus propiedades Heihgt y Width.

file:///D|/MiLapsita/Mis%20documentos/LVM/ALGO...OS%20CON%20VISUAL/tutorial_elvisual/cap10.html (2 de 2) [09/06/2010 11:14:49 a.m.]

Page 27: Manual el visual

file:///D|/MiLapsita/Mis%20documentos/LVM/ALGORITMOS%20CON%20VISUAL/tutorial_elvisual/cap3.html

27 de

Octubre de 2001

Visitante Número: 198 CAPITULO TERCERO

TRABAJAR CON MENUS

● Editor de menus Al usar menús se evita ocupar mucho espacio en las ventanas, ya que estos sólo aparecen cuando se despliegan explícitamente. Además, se pueden crear hasta cinco niveles de menús, por lo que el número de comandos y posibilidades es suficientemente amplio. En Visual Basic se trabajo con el editor de menús para crear, establecer propiedades y modificar los menúes. Para acceder a él basta con pulsar el siguiente botón en la barra de herramientas:

Este botón sólo estará activo cuando esté abierto el formulario, ya que el menú siempre está asociado con un determinado formulario. El editor de menús presenta las siguientes propiedades que se pueden aplicar sobre los menús: Caption: Representa es texto que aparecerá en el menú. Name: Es el nombre del control. Se puede anteponer el prefijo mnu más el texto del título del menú. Checked: Establece si debe aparecer una marca de verificación a la izquierda del texto del objeto del menú. La marca la puedes utilizar cuando deseas informar de la opción que está activada en un momento determinado. Enabled: Indica si el objeto podrá recibir eventos del usuario. Si tiene el valor False el elemento aparecerá atenuado en el menú. Visible: Indica si el objeto debe mostrarse o no, si se establece este valor a False, los elementos situados a la derecha ocupan el lugar del elemento no visible. WindowsList: Establece el valor que determina si un objeto de menú mantiene una lista de las ventanas MDI secundarias del formulario actual. ● Elementos del menu

file:///D|/MiLapsita/Mis%20documentos/LVM/ALGO...MOS%20CON%20VISUAL/tutorial_elvisual/cap3.html (1 de 3) [09/06/2010 11:14:44 a.m.]

Page 28: Manual el visual

file:///D|/MiLapsita/Mis%20documentos/LVM/ALGORITMOS%20CON%20VISUAL/tutorial_elvisual/cap3.html

Utilizando los botones de sangría se puede determinar el nivel del objeto menú que quieras seleccionar. Así, los títulos de menú se sitúan en el nivel superior, mostrándose en la lista inferior del editor de menús, lo más a la izquierda posible. En muchas aplicaciones se pueden ver unas barras horizontales en los menús desplegables que realizan la función de dividir en secciones dichos menús. Este elemento es conocido como un separador, y sirve para separar aquellos comandos del menú que tengan un motivo en común. Para crear un separador, basta con introducir un guión (-) en la propiedad Caption. No se puede crear un elemento en un nivel inferior inmediatamente después de un separador, es decir, no puedes tener como título de menú un separador. ● Teclas de metodo abreviado Al introducir el carácter & el menú está creando una tecla de acceso a dicho objeto. Esta tecla se representa subrayada en el texto de menú y respresenta la tecla del teclado que el usuario puede pulsar para ejecutar la acción. Dicha tecla se corresponde con la letra que sigue al caracter & en la propiedad Caption del objeto menú. Si se trata de un título de menú tienes que usar la tecla de acceso en combinación con la telca [Alt.]. Una vez abierto un título de menú y desplegado sus elementos, para acceder rápidamente a uno de ellos, puedes usar la tecla de acceso directamente. Tienes que tener cuidado en no utilizar las mismas teclas de acceso para elementos de un mismo nivel de menú ya que entonces no funcionarán. El editor de menú también admite la incorporación de teclas de método abreviado. Las abreviaturas del menú son combinaciones de teclas que se pueden utilizar en lugar de elegir el elemento del menú correspondiente. Para crear una tecla de método abreviado tienes que utilizar la propiedad Shortcut, a la que puedes acceder al crear el menú desde el editor de menús. ● Eventos de menu Cuando en tiempo de diseño seleccionamos la opción de menú de un formulario que estamos creando, Visual Basic muestra el procedimiento de evento click de dicho elemento del menú. En el caso del título del menú, el procedimiento click tiene como acción predeterminada la de mostrar los elementos de menú del nivel inferior, por lo que no será necesario tener que programar esta acción. Esto también se puede

file:///D|/MiLapsita/Mis%20documentos/LVM/ALGO...MOS%20CON%20VISUAL/tutorial_elvisual/cap3.html (2 de 3) [09/06/2010 11:14:44 a.m.]

Page 29: Manual el visual

file:///D|/MiLapsita/Mis%20documentos/LVM/ALGORITMOS%20CON%20VISUAL/tutorial_elvisual/cap3.html

aplicar a los elementos de un menú que son a su vez títulos de submenús. En casi todos los casos tienes que utilizar una opción del menú para descargar el formulario o para finalizar la aplicación. La opción de texto salir suele ser el más apropiado. La instrucción Unload descarga de memoria el formulario que se especifique. Se puede usar de varias formas, por ejemplo si estamos dentro de un Form llamado frmconsulta podremos salir de él de dos formas: Una es Unload Me o Unload frmconsulta. ● Menus contextuales Estos menús aparecen cuando hacemos click con el botón secundario del ratón, y suele presentar opciones que se corresponden con las acciones más usuales de la aplicación. Este menú puede aparecer en cualquier ventana de la aplicación a diferencia de los menús anteriores. Un menú contextual no se asocia con un determinado objeto situado en el formulario, al ser igual que un menú desplegable está asociado a un formulario. Para mostrar un menú contextual tienes que usar el método PopupMenu del formulario donde lo estés creando. La síntaxis es la siguiente: [objeto].PopupMenu NombreMenú[,indicadores[,x[,y[,boldcommand]]]] Donde los corchetes especifican parámetros opcionales. Si no se especifica el objeto sobre el que se aplica el método, Visual Basic entenderá que es sobre el formulario actual. ● Opciones de menu contextual El hecho de tener siempre asociado un menú contextual con un determinado formulario, no impide que el menú contextual aparezca cuando se pulsa sobre uno de los controles situados en el formulario. Además puedes indicar las ubicación exacta del menú contextual. En el ejemplo anterior de llamada al PopuMenu, los indicadores se encargan de definir la ubicación respecto a las coordenadas X e Y también introducidas y el comportamiento del menú contextual. Los valores que puede tomar este parámetro respecto a la posición del menú son: vbPopupMenuLeft.Align (valor 0): valor predeterminado que nos indica que el lado izquierdo del menú viene dado por el valor X. vbPopupMenuCenter.Align (valor 4): En este caso el menú contextual se centra respecto a X. vbPopupMenuRight.Align (valor 8): El lado derecho del menú se sitúa en X. Los valores que puede tomar respecto al comportamiento a seguir son: vbPopupMenuLeftButton (valor 0): Los elementos del menú contextual sólo reaccionan a los click del ratón cuando se use el botón primario del ratón. Este es el valor predeterminado. vbPopupMenuRightButton (valor 2): Los elementos del menú contextual reaccionan a los click del ratón cuando se use el botón primario o secundario.

file:///D|/MiLapsita/Mis%20documentos/LVM/ALGO...MOS%20CON%20VISUAL/tutorial_elvisual/cap3.html (3 de 3) [09/06/2010 11:14:44 a.m.]

Page 30: Manual el visual

file:///D|/MiLapsita/Mis%20documentos/LVM/ALGORITMOS%20CON%20VISUAL/tutorial_elvisual/cap8.html

27 de

Octubre de 2001

Visitante Número: 198 CAPITULO OCTAVO

FUNDAMENTOS DE PROGRAMACION II

Visual Basic incorpora estructuras de control que permiten controlar el flujo de la ejecución de un programa. Si no existen esta estructures el código se ejecutará de arriba hacia abajo y de derecha a izquierda según lo hayas escrito. Entre las estructuras de control cabe citar las estructuras de decisión y las estructuras de repetición. La instrucción If-Then-Else, es la estructura clásica de decisión y presenta la siguiente síntaxis: If condici&oacuten1 Then [instrucciones] [ElseIf condición2 Then [instrucciones]] ... [Else [instruccionesN] End If Donde los corchetes representan partes opcionales de la intrucción. Además es posible que existan más de una cláusula ElseIf en la misma instrucción If-Then-Else, por ello los puntos suspensivos. Si la condición 1 se cumple, entonces se ejecutará el bloque de instrucciones 1, en caso contrario se ejecutará el bloque de instrucciones (2...N-1) de la primera cláusula ElseIf condición se cumpla. Si finalmente no se cumple ninguna de las condiciones se ejecutaría el bloque de instrucciones N correspondiente a la cláusula Else. La condición es una expresión, es decir, un conjunto de palabras que se evalúan a verdadero o falso sin posibilidad de poder tener otro valor. Se dice que una condición se cumple cuando se evalúa a verdadero y que fracasa en caso contrario. Las condiciones también se conocen como expresiones lógicas. Vamos a ver un ejemplo:

file:///D|/MiLapsita/Mis%20documentos/LVM/ALGO...MOS%20CON%20VISUAL/tutorial_elvisual/cap8.html (1 de 4) [09/06/2010 11:14:48 a.m.]

Page 31: Manual el visual

file:///D|/MiLapsita/Mis%20documentos/LVM/ALGORITMOS%20CON%20VISUAL/tutorial_elvisual/cap8.html

El código sería: Dim moneda moneda = lstMoneda.ListIndex If moneda = 0 Then MsgBox "Peseta" ElseIf moneda = 1 Then MsgBox "D&oacutelar" ElseIf moneda = 2 Then MsgBox "Franco" End If Se utiliza una variable para establecer el valor de una propiedad que indica que la opción del cuadro de lista lstMoneda está seleccionado. Una vez conocida la opción seleccionada, deberemos sacar el mensaje adecuado, para ello necesitamos una estructura de decisión. La intrucción de la cláusula Else, sólo se ejecuta cuando el resto de condiciones han fracasado. Cualquiera de los bloques de instrucción puede contener un número arbitrario de instrucciones, incluida la posibilidad de que existan otras instrucciones If-Then-Else. Cuando existe un gran número de instrucciones a evaluar es aconsejable utilizar otra estructura de decisión, como puede ser las instrucción Select Case. Esta instrucción no dá más potencia al lenguaje, pero hace que el código sea más legible y eficiente. La síntaxis de la instrucción Select Case es: Select Case expresi&oacutenDeComparación [Case listaExpresiones] [intrucciones] ... Case Else [intruccionesN] End Select Volvamos al ejemplo anterior pero con la instrucción Select Case: Select Case moneda Case 0 MsgBox "Pesetas" Case 1 MsgBox "D&oacutelar" Case 2 MsgBox "Franco" End Select Además, la lista de expresiones de cada cláusula Case puede ser mucho más complicada, refiriéndose a más de un valor o rango de valores: Case 1 To 9 valores desde el 1 hasta 3l 9 Case 1,2,3 valores 1, 2 y 3 Case 1,2,5 To 12 valores 1, 2 y desde el 5 hasta el 12 ● Expresiones Logicas

file:///D|/MiLapsita/Mis%20documentos/LVM/ALGO...MOS%20CON%20VISUAL/tutorial_elvisual/cap8.html (2 de 4) [09/06/2010 11:14:48 a.m.]

Page 32: Manual el visual

file:///D|/MiLapsita/Mis%20documentos/LVM/ALGORITMOS%20CON%20VISUAL/tutorial_elvisual/cap8.html

Visual Basic incorpora una serie de operadores de comparación que nos son útiles a la hora de establecer condiciones. =......Igual a <>....Distinto a <.....menor que >.....Mayor que <=....menor o igual que >=....Mayor o igual que Además existen los llamados operadores lógicos, que nos permiten establecer condiciones que dependadan de más de un criterio de selección. Todos los operadores hacen que la expresión en la que se encuentren se evalúa a verdadero o falso, sin posibilidad de cualquier otro valor. Estas expresiones son: And: exp1 And exp2, donde se evalúa a verdadero s&oacutelo en el caso que el exp1 como exp2 se evalúen a verdadero. En cualquier otro caso se evalúa a falso. Or: exp1 Or exp2, donde se evalúa a verdadero cuando alguna de las expresiones exp1 o exp2 se evalúa a verdadero. Not: Not exp1. aquí se evalúa a verdadero si exp1 es falso y se evalúa a falso si exp1 es verdadero. Xor: exp1 Xor exp2, se evalúa a verdadero sólo en el caso de que una y sólo una de las expresiones exp1 o exp2 se evalúa a verdadero. ● Matriz de controles Un array o matriz de controles es un grupo de controles que comparten el mismo nombre, tipo y conjunto de procedimientos de evento. El número de controles que puede contener un array es indeterminado y depende de los recursos y memoria. La matriz de controles se crea en tiempo de diseño aunque en tiempo de ejecución se pueden agregar más controles a la matriz. Para crear una matriz de controles, tienes que crear dos controles del mismo nombre, Visual Basic reconoce está situación y preguntará si quieres crear una matriz de controles. Cuando se crea una matriz de controles puedes seguir trabajando con cada uno de los controles de forma individual. Para referirte a un control en particular tienes que utilizar la propiedad Index de dicho control. La propiedad se establece con el valor 0 para el primer control y se va incrementando a medida que se van creando los nuevos controles. Si quieres crear nuevos controles en tiempo de ejecución tienes que utilizar la instrucción Load. La síntaxis será la siguiente: Load objeto(índice) Donde el objeto se refiere al nombre del control original que dio paso al control de la matriz e índice es el lugar que ocupará en la matriz. De la misma forma se puede eliminar un control en tiempo de ejecución, pero esta vez usando la instrucción Unlaod. ● Estructuras de repetición Otro tipo de estructuras que pueden modificar la ejecución de un programa son las estructuras de repetición o bucles. Estas estructuras sirven para repetir una y otra vez un conjunto de instrucciones. Existirán dos tipos de estructuras de repetición: aquellas en las que se conoce el número de repeticiones y aquellas en que dicho número se establece durante la ejecución. La estructura de repetición For...Next es adecuada cuando conocemos el número de veces que debe repetirse un conjunto de instrucciones y deseamos reducir la cantidad de código escrito. La síntaxis es la siguiente: For contador = principio To fin [Strep incremento] [instrucciones]

file:///D|/MiLapsita/Mis%20documentos/LVM/ALGO...MOS%20CON%20VISUAL/tutorial_elvisual/cap8.html (3 de 4) [09/06/2010 11:14:48 a.m.]

Page 33: Manual el visual

file:///D|/MiLapsita/Mis%20documentos/LVM/ALGORITMOS%20CON%20VISUAL/tutorial_elvisual/cap8.html

[Exit For] [Instrucciones] Next [contador] Donde el contador es el nombre de una variable que sirve como contador de las veces que se tiene que ejecutar el bucle. A dicha variable se le asigna un valor incial y un valor final en el que una vez superado el bucle no vuelve a repetirse. En el cuerpo del bucle estarán las instrucciones que deben ejecutarse existiendo la posibilidad de introducir Exit For para salir del bucle. Otra estructura de repetición es Do...Loop. Esta estructura se utiliza cuando desconocemos cuántas veces se ha de ejecutar el bucle. La síntaxis es: Do [While|Until] condición [instrucciones] [Exit Do] [intrucciones] Loop Si utilizamos While el bucle se repite mientras la condición se cumpla y si utilizamos Until el bucle se repetirá hasta que la condición dé valor verdadero. Con While, la condición es comprobada al principio del bucle, por lo que si no se cumple al iniciarse, el cuerpo del bucle no se ejecutará. Con Until se comprueba a la salida del bucle, por lo que por lo menos, una vez se ejecutará el bucle.

file:///D|/MiLapsita/Mis%20documentos/LVM/ALGO...MOS%20CON%20VISUAL/tutorial_elvisual/cap8.html (4 de 4) [09/06/2010 11:14:48 a.m.]

Page 34: Manual el visual

file:///D|/MiLapsita/Mis%20documentos/LVM/ALGORITMOS%20CON%20VISUAL/tutorial_elvisual/cap16.html

27 de

Octubre de 2001

Visitante Número: 200 CAPITULO DECIMOSEXTO

TRABAJAR CON ARCHIVOS II

● Archivos de texto Vamos a escribir código para cuando el usuario haga click en un archivo de la lista de archivos (capítulo 15), su contenido se muestre en un cuadro de texto. El código puede ser el siguiente: Private Sub File1_Click() Dim nuevalinea As String, LTexto As String, Texto As String, Archivo As String nuevalinea = Chr$(13) + Chr$(10) Archivo = File1.Path & "\" & File1.filename Open Archivo for Input As #1 Do Until EOF(1) Line Input #1, LTexto Texto = Texto & LTexto & nuevalinea Loop Text1.Text = Texto Close #1 End Sub Cuando el usuario selecciona un determinado archivo de la lista, su nombre se especifica en la propiedad filename del cuadro de lista de archivos. Tienes que indicar la ruta de acceso completa, por lo cual se concatena el directorio, que se encuentra en la propiedad Path y el caráter \ como separador de directorios. Una vez tenemos en la variable Archivo el nombre y ruta completa del archivo que deseamos mostrar, es necesario abrir dicho archivo. Para ello utilizamos la instrucción Open. La instrucción Open necesita el nombre del archivo que tiene que abrir y el modo en que se va a abrir. En la línea Open Archivo for Input As #1, el archivo a abrir está situado en la variable Archivo, en modo de lectura, especificado mediante la instrucción Input y su número asociado que es el #1. Una vez tenemos abirto el archivo en modo lectura, utilizamos la variable LTexto para ir almacenando cada una de la líneas del archivo de texto. Para ello utilizamos la instrucción Line Input donde se indica el número del archivo y la variable en al que se guarda la línea de texto. Esta instrucción se situa en un bucle Do Until...Loop repitiéndose hasta que se llega al final del archivo de texto especificado por la condición EOF(1). En la línea Text1.Text = Texto, es donde se asocia el contenido del archivo con el cuadro de texto del formulario a través de su propiedad Text. Finalmente se cierra el archivo mediante la instrucción Close #1.

file:///D|/MiLapsita/Mis%20documentos/LVM/ALGO...OS%20CON%20VISUAL/tutorial_elvisual/cap16.html (1 de 2) [09/06/2010 11:14:54 a.m.]

Page 35: Manual el visual

file:///D|/MiLapsita/Mis%20documentos/LVM/ALGORITMOS%20CON%20VISUAL/tutorial_elvisual/cap16.html

● La instruccion FileCopy La instrucción FileCopy nos permite realizar una copia de un determinado archivo. La síntaxis de esta instrucción es: FileCopy fuente, destino La fuente es el archivo que queremos copiar y el destino es el archivo que será resultado de la copia. El archivo fuente tiene que estar cerrado antes de utilizar esta instrucción ya que en caso contrario se producirá un error en tiempo de ejecución. Con la instrucción FileCopy puedes copiar cualquier archivo independientemente de su tipo.

file:///D|/MiLapsita/Mis%20documentos/LVM/ALGO...OS%20CON%20VISUAL/tutorial_elvisual/cap16.html (2 de 2) [09/06/2010 11:14:54 a.m.]

Page 36: Manual el visual

file:///D|/MiLapsita/Mis%20documentos/LVM/ALGORITMOS%20CON%20VISUAL/tutorial_elvisual/cap5.html

27 de

Octubre de 2001

Visitante Número: 198 CAPITULO QUINTO

CONTROLES BASICOS

● Introduccion Al diseñar una aplicación con Visual Basic lo primero que deberemos hacer es planear la interfaz, que está constituida por el conjunto de formularios que aparecen a lo largo de la ejecución de la aplicación. Los controles son los elementos gráficos que aparecen en los formularios y que sirven para obtener datos y presentar la salida que produce la aplicación. Entre los numerosos controles que presenta Visua Basic caben destacar los básicos, que aparecen en casitodas las aplicaciones de Visual Basic como etiquetas, cuadros de texto, botones de comando, etc... Cada uno de estos controles son tratados como bojetos en Visual Basic, por lo que no tienes que olvidar que tienen su propio conjunto de propiedades, métodos y eventos. ● Entrada de datos Dos controles muy relacionados y que se utilizan en la función de entrada de datos son las etiquetas y los cuadros de texto. Las etiquetas son controles que nos permiten mostrar texto en los formularios y que tienen la particularidad de que el usuario no puede modificar Las etiquetas son controles que nos permiten mostrar texto en los formularios y que tienen la particularidad de que el usuario no puede modificar El control de etiqueta es:

Los cuadro de texto son el control estándar de entrada de datos en Visual Basic. Permiten al usuario de la aplicación introducir información. El control del cuadro de texto es:

Algunas propiedades del control etiqueta son:

Propiedad Definición

Alignment Establece la alineación del texto de la etiqueta

Autosize Si su valor es True, el tamaño de la etiqueta se adapta automáticamente a su contenido

Caption Texto que se visualiza en la etiquetaEnabled Permite o no interactuar con la etiqueta

Font Establece la fuente, tamaño y htmlecto del texto

Los cuadros de texto son semejantes a las etiquetas, pero con la diferencia que el usuario puede modificar su contenido. El texto que se introduce puede ser tanto numérico como alfanumérico (números y letras).

file:///D|/MiLapsita/Mis%20documentos/LVM/ALGO...MOS%20CON%20VISUAL/tutorial_elvisual/cap5.html (1 de 3) [09/06/2010 11:14:46 a.m.]

Page 37: Manual el visual

file:///D|/MiLapsita/Mis%20documentos/LVM/ALGORITMOS%20CON%20VISUAL/tutorial_elvisual/cap5.html

A diferencia de la etiqueta, el tamaño del texto es fijo al no permitir la propiedad autosize. Algunas propiedades del objeto cuadro de texto son:

Propiedad Definición

Alignment Alineaci&oacuten de la información introducida.

Enabled Permite o no que se puedan realizar acciones sobre el cuadro de texto

Font Igual que en el caso de las etiquetas

Multiline Permite introducir más de una línea de texto en el cuadro

PasswordCharEstable el caracter que se muestra al realizar una entrada en el objeto. Sólo se mostrará dicho caracter

ScrollBars Muestra barras de desplazamiento

TabIndex Establece el orden de tabulación fijado para el objeto

TabStopIndica si al utilizar el tabulador se puede desplazar entre los controles del formulario

Text Texto que se visualiza en el control ● Etiqueta y cuadro de texto En las ventanas de entrada de datos es muy común tener la combinación de etiqueta y cuadro de texto, ya que los cuadros de texto no tienen la propiedad Caption que permite crear teclas de acceso. Cuando quieras permitir un acceso rápido a cierto cuado de texto, el uso de una etiqueta asociada es la forma más sencilla de hacerlo. Utiliza el caracter & en la propiedad Caption de la etiqueta asociada y se creará la tecla de acceso para el cuadro de texto. ● Control Marco Se utiliza para estructurar el formulario en varias secciones, agrupando en éstas los controles para que la lectura sea más sencilla. El control que tienes que utilizar para esto el el control Marco (Frame):

La única propiedad interesante de un control marco es la propiedad Caption, que se refiere al texto que se presenta en la parte superior izquierda del control. El control marco actúa como contenedor de otros controles, así que las propiedas Left, Right y Top de un objeto contenido en un marco se establecen en relación al objeto contenedor. Al mover un marco también se mueve los controles que contenga, para ello deberemos crear primero el marco y despueés los controles que queremos que contenga. ● Botones de comando El botón de comando (CommandButton), es muy sencillo, por lo que no tienes que establecer muchas propiedades. Con la propiedad Caption establecemos el texto que aparecerá en el botón. También se pueden crear teclas de acceso al botón.

file:///D|/MiLapsita/Mis%20documentos/LVM/ALGO...MOS%20CON%20VISUAL/tutorial_elvisual/cap5.html (2 de 3) [09/06/2010 11:14:46 a.m.]

Page 38: Manual el visual

file:///D|/MiLapsita/Mis%20documentos/LVM/ALGORITMOS%20CON%20VISUAL/tutorial_elvisual/cap5.html

El uso principal de los botones de comando es realizar acciones en la aplicación.Para poder llevar a cabo las acciones sobre un botón pulsandon Intro, tienes que dejar su propiedad Default a True. ● Bloquear controles Cuando estén situados los controles en el formulario se pueden bloquear para que no puedan moverse de forma accidental. Para esto deberemos pulsar en la barra de herramientas:

Cuando actives este botón y mientras no desbloques los controles utilizando la misma opción no se podrán mover ninguno de los controles del formulario activo. Sin embargo en si abres otro formulario que no tenga los controles bloqueados si se podrán mover. Si añades más controles a un formulario bloqueado estos quedan bloqueados automáticamente.

file:///D|/MiLapsita/Mis%20documentos/LVM/ALGO...MOS%20CON%20VISUAL/tutorial_elvisual/cap5.html (3 de 3) [09/06/2010 11:14:46 a.m.]

Page 39: Manual el visual

file:///D|/MiLapsita/Mis%20documentos/LVM/ALGORITMOS%20CON%20VISUAL/tutorial_elvisual/cap6.html

27 de

Octubre de 2001

Visitante Número: 198 CAPITULO SEXTO

CONTROLES BASICOS II

● Casillas de verificación Nos dán la oportunidad de poder elegir entre distintas opciones. Las casillas de verificación (CheckBox), permiten establecer opciones que no son excluyentes entre sí, es decir, puedes seleccionar una o más de una.

Una casilla de verificación puede estar activada (cheked), o desactivada (unchecked). Además la casilla puede estar atenuada (grayed), que nos indica que el objeto no está disponible. La propiedad que tiene estos valores es Value. El evento más utilizado en este tipo de objetos es el momento en el que se pulsa en la casilla. En esta situación el usuario quiere indicar que desea activar o desactivar la casilla, dependiendo del valor que tenga en ese momento. ● Botones de opción Los botones de opción (OptionButton), también permiten presentar opciones al usuario, pero con la particularidad que sólo puedes seleccionar una de cihas opciones al mismo tiempo.

Si quieres que en un mismo formulario se pueda seleccionar más de un botón de opción, tienes que crear distintos conjuntos de botones de opción. El botón de opción sólo puede tener dos valores en la propiedad Value (True y False), true si está activado y false si está desactivado. Es importante utilizar los botones de opción sólo cuando cuando el número de opciones posibles sea fijo a lo largo de la vida de la aplicación. En caso contrario, la inclusión de una opción o modificación de alguna de las exixtentes podría implicar la modificación de partes de la aplicación que trabajen con dichas opciones, lo que resulta poco deseable. ● Cuadro de lista Otra forma de presentar las opciones es a través de una lista donde se sitúan dichas opciones. De forma predeterminada, las opciones que contiene un cuadro de lista (ListBox), se presentan verticalmente en una columna, aunque también puede establecerse más de una columna.

Entre las propiedades del cuadro de lista caben destacar: ListIndex: Indica el índice de elementos seleccionado. El primer elemento de la lista tiene que tener valor 0. ListCount: Indica el número de elementos existentes en la lista en todo momento. Todas estas propiedades son utilizadas en tiempo de ejecución cuando se interactúa con la lista. Para indicar que la lista esté ordenada se utiliza la propiedad Sorted, con el valor true. A la hora de agregar elementos a la lista es necesario utilizar un métetodo de ésta. El método AdItem se encarga de esto. Para borrar elementos de la lista utilizaremos el método RemoveItem.

file:///D|/MiLapsita/Mis%20documentos/LVM/ALGO...MOS%20CON%20VISUAL/tutorial_elvisual/cap6.html (1 de 2) [09/06/2010 11:14:46 a.m.]

Page 40: Manual el visual

file:///D|/MiLapsita/Mis%20documentos/LVM/ALGORITMOS%20CON%20VISUAL/tutorial_elvisual/cap6.html

file:///D|/MiLapsita/Mis%20documentos/LVM/ALGO...MOS%20CON%20VISUAL/tutorial_elvisual/cap6.html (2 de 2) [09/06/2010 11:14:46 a.m.]

Page 41: Manual el visual

file:///D|/MiLapsita/Mis%20documentos/LVM/ALGORITMOS%20CON%20VISUAL/tutorial_elvisual/cap15.html

27 de

Octubre de 2001

Visitante Número: 200 CAPITULO DECIMOQUINTO

TRABAJAR CON ARCHIVOS

● Controles espacializados Visual Basic proporciona una serie de controles especializados en el acceso al sistema de archivos de windows. Estos controles son el Cuadro de lista de unidades, el Cuadro de lista de directorios y el Cuadro de lista de archivos. Cada uno de estos controles permite acceder a los correspondientes elementos del sistema de archivos.

Al cuadro de lista de unidades (figura superior), tienes que darle un tamaño adecuado para que se pueda mostrar cualquier unidad que tengas en tu ordenador. En tiempo de diseño se muestra la etiqueta de la unidad del disco duro de forma que puedas ajustar el control al tamaño de la misma. Este control incluye las unidades de disco duro, disco flexible y Cd-Rom, etc...

El cuadro de lista de directorios nos permite mostrar los directorios del sistema de archivos del ordenador. Es conveniente que este control muestre tres o cuatro carpetas o directorios. En tiempo de diseño muestra la carpeta en la que se inicia la apliación y en la que por defecto se guarda el proyecto.

El cuadro de lista de archivos nos muestra los archivos de un determinado directorio o carpeta. Su propiedad más interesante es Pattern que nos permite especificar qué tipo de archivos son mostrados en dicho control. Para utilizar esta propiedad se pueden utilizar los comodines * y ? al establecer la propiedad. Estos caracteres tienen el mismo significado que en MS-Dos o Windows para especificar los nombres de los archivos. Si estableces la propiedad Pattern con la cadena *.txt, estás indicando que se muestren sólo los archivos que tengan esta extensión. Se pueden mostrar más de un tipo de archivos separándolos con ;.

file:///D|/MiLapsita/Mis%20documentos/LVM/ALGO...OS%20CON%20VISUAL/tutorial_elvisual/cap15.html (1 de 3) [09/06/2010 11:14:53 a.m.]

Page 42: Manual el visual

file:///D|/MiLapsita/Mis%20documentos/LVM/ALGORITMOS%20CON%20VISUAL/tutorial_elvisual/cap15.html

● Conectar controles En tiempo de diseño, al dibujar los distintos controles del sistema de archivos, estos muestran la unidad y el directorio en la que se crea el proyecto como he comentado anteriormente. En tiempo de ejecución el usuario puede cambiar la unidad y el directorio o carpeta y esta situación no se verá reflejada si no se escribe código. Para que los controles estén sincronizados es necesario conectarlos. El evento predeterminado del control cuadro de lista de unidades es Change. Este evento sucede cuando el usuario despliega la lista de unidades y selecciona una unidad distinta a la actual, por lo que es el evento adecuado para actualizar la lista de directorios de la siguiente forma: Private Sub Dir1_Change() Dir1.Parh = Drive1.Drive End Sub Para el control cuadro de lista de directorios deberemos hacer algo parecido, el código será el siguiente: Private Sub Dir1_Change() File1.Path = Dir1.Path End Sub De esta forma tenemos conectados los tres controles de acceso al sistema de archivos. ● Manejando los errores Cuando se escribe código en tiempo de diseño, Visual Basic puede detectar errores y avisar de ellos. Posteriormente se pueden detectar más errores en tiempo de compilación, estos errores son de carácter semántico. Los errores en tiempo de ejecución son sucesos inesperados que Visual Basic no puede controlar por sí mismo. Ante este tipo de errores existe la posibilidad de incorporar un manejador o controlador de errores, que son un conjunto de líneas de código que sólo se ejecutan cuando se produce un error que es interceptado por Visual Basic. Se deben de escribir manejadores de errores siempre que se pueda preveer la ocurrencia de un error en tiempo de ejecución. Alguna de estas situaciones son: - Problemas con las unidades de disco flexible. - Desbordamientos. - Falta de memoria. - Problemas con la red. - Periféricos. - Errores lógicos (nombre de archivo mal escrito...) La instrucción que nos permite detectar errores en tiempo de ejecución es On Error. Su síntaxis es: On Error Goto Etiqueta, donde la etiqueta representa el nombre del manejador de error, que tiene que estar situado en el mismo procedimiento que la instrucción On Error. Cuando se produce un error en el procedimiento donde se coloca On Error, Visual Basic dará el control al manejador de errores escrito en dicho procedimiento. El código puede ser: ManejadorError: If Err.Number = 68 Then resp = MsgBox("El dispositivo no está preperado", vbAbortRetryIgnore) Resume ElseIf resp = vbAbort Then Drive1.Drive = Dir1.Ptah Resume Next End If End If La primera línea es la etiqueta que represena el nombre del manejador. Al producirse un error en tiempo de ejecución se crea un objeto Err que intercepta dicho error. Este objeto posee la

file:///D|/MiLapsita/Mis%20documentos/LVM/ALGO...OS%20CON%20VISUAL/tutorial_elvisual/cap15.html (2 de 3) [09/06/2010 11:14:53 a.m.]

Page 43: Manual el visual

file:///D|/MiLapsita/Mis%20documentos/LVM/ALGORITMOS%20CON%20VISUAL/tutorial_elvisual/cap15.html

propiedad Number que es el número de error interceptado. El código pregunta si dicho error es el 68 y en ese caso presenta un cuadro de diálogo en el que se indica que el dispositivo no está preparado, dando tres opciones: reintenter, cancelar o ignorar. Una vez interceptado el error y ejecutado el código asociado al manejador, es necesario indicar qué sucede una vez se salga del manejador. En este caso dependerá de lo que elija el usuario. Si quiere reintentar la operación se ejecutará la instrucción Resume, que vuelve a ejecutar la misma intrucción que provocó el error. Si se anula la operación se ejecutará Resume Next, que devuelve el control a la siguiente instrucción que provocó el error.

file:///D|/MiLapsita/Mis%20documentos/LVM/ALGO...OS%20CON%20VISUAL/tutorial_elvisual/cap15.html (3 de 3) [09/06/2010 11:14:53 a.m.]

Page 44: Manual el visual

file:///D|/MiLapsita/Mis%20documentos/LVM/ALGORITMOS%20CON%20VISUAL/tutorial_elvisual/cap13.html

27 de

Octubre de 2001

Visitante Número: 198 CAPITULO DECIMOTERCERO

PROGRAMAR CON BASES DE DATOS

● Moverse por un recordset El control data nos permite movernos por un recordset de una forma rápida y sencilla a través de sus botones. Sin embargo en muchas ocasiones tendrás que escribir código en el que es necesario moverse a un determinado registro rápidamente. Para ello es necesario entender que aunque un recordset es una propiedad de control data, también tiene carácter de objeto, por lo que serán aplicables otras propiedades y métodos. La forma de hacerlo será con la síntaxis estándar: NombreControlData.Recordset.NombrePropiedad NombreControlData.Recordset.NombreMétodo Donde tanto el NombrePropiedad como el NombreMétodo son del recordset u no del control data. Los métodos que puedes utilizar para desplazarte por un recordset son: MoveFirst: Nos desplazamos al primer registro del recordset. MovePrevious: Nos desplazamos al registro anterior del recordset. MoveNext: Nos desplazamos al siguiente registro del recordset. MoveLast: Nos desplazamos al último registro del recordser. Move fila [,inicio]: Permite desplazarnos un número específico de registro hacia delante o hacia atrás respecto al marcador de inicio. El marcador BOF nos indica que estamos al principio del recordset y el marcador EOF nos indica que estamos al final. Si situas el registro actual en dichos marcadores, no se producirá un error pero no podrás acceder a la información del registro actual ya que no es un registro válido. Si se sobrepasa dichos marcadores se producirá un error en tiempo de ejecución. Hay que utilizar las propiedades BOF y EOF para prevenir este tipo de errores. La acción indicada por el valor de las propiedades BOFAction y EOFAction del control data se ejecutan cuando el registro actual se sitúa en los marcadores BOF y EOF respectivamente. Recuerda que BOFAction y EOFAction son propiedades del control data mientras que BOF y EOF son del recordset. ● Buscar registros Para buscar registros puedes utilizar los métodos Find cuando trabajes con recordset de tipo Dynaset o Snapshot, o utilizar el método Seek para un recordset de un tipo Table. El método Find presenta cuatro variantes: FindFirst: Busca el primer registro que cumple determinado criterio. FindLast: Busca el último registro que cumpla un determinado criterio. FindNext: Realiza la búsqueda hacia delante. FindPrevious: Realiza la búsqueda hacia atrás. Veamos un ejemplo: With.datEmpleados .Recordset.FindFirst "Nombre = ' " & txt.Nombre.Text & "'" If Recordset.NoMatch Then

file:///D|/MiLapsita/Mis%20documentos/LVM/ALGO...OS%20CON%20VISUAL/tutorial_elvisual/cap13.html (1 de 3) [09/06/2010 11:14:52 a.m.]

Page 45: Manual el visual

file:///D|/MiLapsita/Mis%20documentos/LVM/ALGORITMOS%20CON%20VISUAL/tutorial_elvisual/cap13.html

MsgBox "Lo siento no es un nombre de empleado válido" Exit Sub End If End With Mediante el uso de la estructura With nos evitamos tener que repetir código. Así no será necesario escribir la estructura datEmpleados hasta que lleguemos a End With. En la línea .Recordset.FindFirst "Nombre = ' " & txt.Nombre.Text & "'" es donde se produce la búsqueda de un determinado registro del recordset. Al utilizar el método FindFirst se está indicando que se efectúe la búsqueda del primer registro cuyo valor en el campo Nombre coincide con el valor que se ha introducido en el txtNombre. Con el uso del operador & concatenamos para crear el criterio de búsqueda, si por ejemplo se hubiera introducido el valor Coral en el cuadro de texto, esta línea quedaría de la siguiente forma: datEmpleados.Recordset.FindFirst "Nombre='busqueda'" Luego utilizamos el método Nomatch del recordset para comprobar, una vez realizada la búsqueda, si se ha encontrado un registro o no. Si no se ha encontrado el registro, el método nomatch devolverá True por lo que se mostrará un menseja mediante el MsgBox y se saldrá del procedimiento utilizando el método Exit Sub. ● Añadir registros El valor AddNew en la propiedad EOFAction del control data nos permitía agregar registros, pero esta forma sólo es adecuada cuando estamos accediendo a una única tabla en el recordset. El objeto recordset contiene el método AddNew que permite la creación de un registro nuevo en blanco donde puedes asignar los valores a sus campos. Una vez introducida dicha información, tendrás que hacer uso del método Update del recordset, con el objetivo de que el nuevo registro se actualice en la tabla. Si no utilizas Update el nuevo registro no se agregará finalmente. El código será: datEmpleados.Recordset.Update La propiedad Bookmark se usa para saltar rápidamente al nuevo registro indicado por el marcador LasrModified. Boolmark te permite guardar el puntero del registro actual y colocarse rápidamente en un registro específico. El código será: registroActual = datEmpleados.Recordset.Bookmark Aquí se guarda el registro actual datEmpleados.Recordset.MoveFirst Desplazamos al registro actual datEmpleados.Recordset.Bookmark = registroActual Vuelve al marcador guardado ● Eliminar registros Mediante el método Delete, puedes borrar un registro entero de un recordset. En este caso te tienes que situar en el registro y hacer uso de éste método. Tienes que tener cuidado a la hora de eliminar un registro, ya que el registro actual sigue siendo el registro eliminado, por lo que cualquier intento de acceder a la información del registro actual provocará un error de ejecución. Para evitar éste problema es conveniente desplazarno a un registro válido una vez hayas utilizado el método. No es necesario el uso de Update para hacer efectiva la eliminación. Un código de ejemplo sería: If datEmpleados.Recordset.EOF = False datEmpleados.Recordset.Delete If datEmpleados.Recordset.EOF = True Then cmdEliminar.Enabled = True End If

file:///D|/MiLapsita/Mis%20documentos/LVM/ALGO...OS%20CON%20VISUAL/tutorial_elvisual/cap13.html (2 de 3) [09/06/2010 11:14:52 a.m.]

Page 46: Manual el visual

file:///D|/MiLapsita/Mis%20documentos/LVM/ALGORITMOS%20CON%20VISUAL/tutorial_elvisual/cap13.html

datEmpleados.Recordset.MoveLast End If En la primera línea se comprueba si el recordset está vacío, es decir, si la propieda EOF tiene su valor a True. En el caso de que el recordset no esté vacío, se realiza la eliminación del registro actual, más tarde se vuelve a comprobar si el recordset está vacío ya que se podía haber borrado el único registro que contenía. Finalmente no movemos al último registro con MoveLast, ya que el registro actual no es válido al haber sido eliminado. En el caso de no existir ningún registro válido MoveLast nos situará en el marcador EOF.

file:///D|/MiLapsita/Mis%20documentos/LVM/ALGO...OS%20CON%20VISUAL/tutorial_elvisual/cap13.html (3 de 3) [09/06/2010 11:14:52 a.m.]

Page 47: Manual el visual

file:///D|/MiLapsita/Mis%20documentos/LVM/ALGORITMOS%20CON%20VISUAL/tutorial_elvisual/cap11.html

27 de

Octubre de 2001

Visitante Número: 198 CAPITULO DECIMOPRIMERO

EL ADMINISTRADOR DE DATOS

● Introduccion Visual Basic puede acceder a distintos tipos de bases de datos. El acceso más sencillo es a una base de datos creada con el MotorJet que incorpora Visual Basic y que es compartido por Access, es decir, si quieres crear una base de datos con Access o en el Administrado de datos de Visual Basic el acceso a la misma será inmediato. Otro tipo de bases de datos con las que se puede acceder con Visual Basic son las llamadas bases de datos ISAM (Método Secuencial Indexado), entre las que se incluyen Btrive, dBASE, Foxpro y Paradox. El otro tipo de acceso es a una base de datos compatible con ODCB (Conectividad abierta de bases de datos), en las que es necesario un controlador ODCB para el tipo específico de base de datos. Si tienes dicho controlador el acceso también será inmediato. ● Diseñar la base de datos El MotorJet de Visual Basic es un completo sistema gestor de bases de datos con el que se puede crear y manipular una base de datos. La creación de una base de datos es un proceso en el cual podemos diferenciar dos partes: El análisis y el diseño Se realiza el análisis de la base de datos cuando se piensa en qué se necesita alamacenar para tenerlo disponible en cualquier momento. El diseño es el proceso dependiente del tipo de base de datos que vayamos a utilizar, que casi con toda seguridad será relacional. Al crear una base de datos relacional tienes que trabajar con tablas, registros, campos, índices, etc. ● Conocer el administrador Visual Basic incorpora el Administrador de datos con el que puedes crear y establecer las propiedades de las tablas que conformen la base de datos. Sin embargo, si tienes Microsofr Access es recomendable utilizarlo en lugar del Administrador de Datos, ya que genera el mismo tipo de base de datos pero con una facilidad y flexibilidad mucho mayor. Para acceder al Administrador de Datos lo haremos mediante la opción de mismo nombre en el menú Complementos.

file:///D|/MiLapsita/Mis%20documentos/LVM/ALGO...OS%20CON%20VISUAL/tutorial_elvisual/cap11.html (1 de 3) [09/06/2010 11:14:50 a.m.]

Page 48: Manual el visual

file:///D|/MiLapsita/Mis%20documentos/LVM/ALGORITMOS%20CON%20VISUAL/tutorial_elvisual/cap11.html

El administrador de datos nos permite modificar una base de datos ya creada o crear una nueva. Una base de datos creada con el MotorJet está compuesta por un único archivo con extensión *.MDB. Una base de datos MDB se compone de un conjunto de tablas y de QueryDef. Las tablas son la estructura fundamental de las bases de datos, formadas por distintos campos y sus valores en los registros introducidos. Las QueryDef son instrucciones SQL, que han sido guardadas con un nombre al tener interés en utilizarlas en futuras ocasiones. SQL es un lenguaje que nos permite entre otras cosas extraer resultados de una base de datos. ● Crear una base de datos Lo primero que tienes que hacer para crear una base de datos es indicar dónde se guardará el archivo y darle un nombre válido. Una vez hayas creado el archivo de la base de datos, es el momento de ir construyendo las tablas que formarán las misma. Tienes que introducir el nombre de la nueva tabla, los campos que quieres que aparezcan en la aplicación. Puedes utilazar más de una tabla para los nombres de los campos.

file:///D|/MiLapsita/Mis%20documentos/LVM/ALGO...OS%20CON%20VISUAL/tutorial_elvisual/cap11.html (2 de 3) [09/06/2010 11:14:50 a.m.]

Page 49: Manual el visual

file:///D|/MiLapsita/Mis%20documentos/LVM/ALGORITMOS%20CON%20VISUAL/tutorial_elvisual/cap11.html

Deberás seleccionar el o los campos que quieras incluir y pasarlos a campos seleccionados.

file:///D|/MiLapsita/Mis%20documentos/LVM/ALGO...OS%20CON%20VISUAL/tutorial_elvisual/cap11.html (3 de 3) [09/06/2010 11:14:50 a.m.]