Você está na página 1de 73

Creacin de Formularios MDI y Formularios Secundarios

1. Cargue en la memoria el Visual Basic 2. Seleccione la opcin EXE Estndar

r l e y S o l a n o * * H a r l e y S o l a n o * * H a r l e y S o l a n o

3. El entorno de trabajo de Visual Basic presenta un formulario normal Explorador de Proyectos Propiedades

Cuadro de Herramientas

Formulario por omisin

Explorador de Proyectos

73

H a 4. Agregar el formulario MDI haciendo clic en la opcin Proyecto del men principal y luego clic r en Agregar formulario MDI l e y Seleccione la opcin Formulario MDI para S agregarlo. o l a n o
Formulario por omisin

* * H a r l e y S o l a n o * * H a r l
Seleccione MDIForm1

Formulario MDI agregado

5. Cambie las propiedades del proyecto. a. Haga clic en Proyecto y clic en la opcin Propiedades del Proyecto b. En la opcin Objeto Inicial seleccione el formulario MDI para indicar que ser el formulario que se presentar al cargar el programa cuando se ejecute o formulario de arranque de la nueva aplicacin.

Escriba en el nombre del proyecto : Consisa

e y S o l a n o

6. Active el formulario por omisin (haciendo clic sobre l) y luego haga clic en icono Propiedades. En esta ventana defina los siguientes valores para las siguientes propiedades : MDIChild Nombre ControlBox BorderStyle = = = = True Arbol False None

H a el r l e y S o l a n o * * H

Luego haga doble clic sobre el formulario para ingresar al editor de cdigo del formulario y escrbase el siguiente cdigo : Objeto : Formulario llamado Arbol Evento: Load Cdigo: Private Sub Form_Load() Top = 0 Left = 0 Height = 7110 Width = 2670 End Sub 7. Active el formulario MDI (haciendo clic en l) y luego defina las siguientes propiedades Caption = Sistema de Control de Inventario Nombre = Menu (no lo acentu, no est redactando un documento) ScrollBars = False WindowState = False Luego haga doble clic sobre el formulario para ingresar al editor de cdigo del formulario y escrbase el siguiente cdigo : Objeto : Formulario MDI llamado Menu Evento: Click Cdigo: Private Sub MDIForm_Click() Arbol.Show End Sub

a r l e y S o l a n o * * H a r l e y S o l a n o

8. Agregar un nuevo formulario normal, clic en Proyecto y clic en Agregar formulario. Al nuevo formulario defina las siguientes propiedades MDIChild Nombre ControlBox BorderStyle WindowState = = = = = True Fondo False None Normal

H a r l e y S o l a n o * * H a r l e y S o l a n o * * H a r l e y S o l a n

Luego haga doble clic sobre el formulario para ingresar al editor de cdigo del formulario y escrbase el siguiente cdigo : Objeto : Formulario llamado Fondo Evento: Load Cdigo: Private Sub Form_Load() Top = 0 Left = 2700 Height = 7110 Width = 9030 End Sub 9. Active el formulario llamado Arbol y escriba el siguiente cdigo Objeto : Formulario llamado Arbol Evento: Click Cdigo: Private Sub Form_Click() Fondo.Show End Sub 10. Guardar los formularios de la siguiente manera a. Active el formulario a guardar, por ejemplo, active el formulario rbol b. Luego pulse CTRL. + S, si ya haba grabado no se enviara mensaje pero si es la primera vez entonces escriba el nombre del formulario y seleccione su ubicacin en el disco. El proceso anterior hgalo para cada uno de los formularios, recuerde que son 3 formularios los que actualmente posee su proyecto : Nombre del Formulario Nombre del Archivo Menu Menu.Frm Fondo Fondo.Frm Arbol rbol.Frm 11. Finalmente guarde el proyecto haciendo clic en Archivo y clic en la opcin Guardar Proyecto o del men principal con el nombre de Sistema Clase

ar l ey Hay que destacar que los formulario secundarios (Arbol y Fondo) se notan un poco difuminado u opacado con respecto al formulario MDI, esto indica que son formularios hijos; en el caso del MDI n indica que es un formulario independiente. o Finalmente ejecute el proyecto pulsando la tecla F5 o haciendo clic en el icono Para detener la ejecucin del proyecto haga clic en el icono Y para pausar la ejecucin haga clic en el icono Estos iconos aparece en la barra de Estndar e r

El aspecto de su rea de trabajo es similar a la siguiente imagen (claro ayudando a ordenarlo) : o lano

arley

Mens en visual basic


Ejemplo para crear menes y menes contextuales o tambin llamados men PopUp, que son aquellos que se despliegan con el botn derecho del mouse. Casi todas las aplicaciones por mas pequeas que sean, poseen un acceso a determinadas o casi todas las opciones de un programa por medio de un men. Visual Basic incorpora una herramienta llamada editor de menes para poder crearlos Nota: El editor de Mens se encuentra en el men herramientas y solo est disponible desde la vista diseo del formulario.

Crear el siguiente men


El siguiente ejemplo consiste en un formulario que contiene solo un control label que nos mostrar una leyenda con el texto del men que seleccionamos o presionamos. El men estar compuesto por 3 menues de cabecera, el primero llamado "Archivo", el segundo "Edicin" y el ltimo "Ayuda". A su vez cada men tendr los siguientes submenues: 1. Archivo : Este men contendr los submenues " Abrir ", " Guardar ", " Imprimir " y " Cerrar " 2. Edicin: Contendr los submenues " Cortar ", " Copiar ", " Pegar ", " Seleccionar todo " 3. Ayuda : Tendr los submenues " Ayuda " y " Acerca de.. "

El cuadro de dilogo del editor de men de visual basic posee los siguientes campos para rellenar. Algunos son opcionales y otros son obligatorios, como la propiedad Caption y Name:

Caption: en este campo debemos colocar la leyenda que mostrar el men, es decir el texto que mostrar el mismo. Name: en este campo debemos introducir un nombre para cada men. Este es obligatorio y no puede estar duplicado ya que por medio de este nombre identificaremos al men en el cdigo. Index: en este campo que es opcional podemos introducir un nmero para formar vectores de menues o arreglos de menues, en este ejemplo no se usa, por ejemplo para crear menues en forma dinmica en tiempo de ejecucin helpcontextid: este campo opcional podemos introducir un n para el tpico de ayuda, por si el usuario presiona la tecla F1 justo cuando est posicionado en el men. Shortcut: Podemos ingresar una tecla de acceso rpido al men para que se despliegue el mismo automticamente, como por ejemplo Ctrl + a, Ctrl + b, etc...

Checked: este campo indica si el men tendr un tilde a la izquierda o no. Si est en true lo muestra si est en False no. El campo es de tipo opcional. Enabled : propiedad booleana que determina si el men est habilitado o no. Esta propiedad es exactamente igual a la propiedad Enabled de cualquier control de visual basic. El campo por defecto, mejor dicho la propiedad est en True Visible : propiedad opcional y de tipo booleana que determina si el men estar visible o no. Esta propiedad es ideal para crear los menues contextuales o PopUp (mas adelante hay un ejemplo de como crear uno).

Pasos a seguir: 1. Una vez abierto el editor de men, hay que ingreasar los elementos que componen el mismo. Para crear el men "Archivo" que es un men de cabecera o de nivel superior, debemos ingresar en la propiedad Caption la cadena &Archivo. Ahora le asignaremos un nombre en el campo Name. Generalmente se suele utilizar en este campo el mismo nombre del men pero con el prefijo mnu para luego poder distinguirlo fcilmente en el cdigo. Entonces ingresamos en este campo mnuarchivo 2. El segundo paso ser ingresar los submenues que estn por debajo del menu archivo. Para ello presionamos el botn "siguiente" donde ingresaremos el men "Abrir". como este es un submen debemos indicarlo con el botn que tiene una flecha hacia la Derecha. Al presionarlo ahora el mismo se marca con una doble comilla (""""), para indicarnos que este men deriva o est contenido en el men de cabecera "Archivo". Ahora pasamos a ingresarle el nombre y la leyenda del men. En la propiedad Caption ingresamos &Abrir y en el campo Name : mnuabrir. 3. Ahora repetimos los pasos anteriores para ingresar los submenues restantes del men Archivo. 4. Si habrs observado los clsicos menues de las aplicaciones, los submenues se agrupan en secciones. Por ejemplo en el men archivo del internet explorer, el submen Salir est separado del resto por una lnea. para lograr esto se debe crear un submen como cualquier otro justo arriba del men que queremos que aparezca la lnea divisoria, y en la propiedad caption del mismo le colocamos el caracter menos 5. Ahora ingresaremos el cdigo para que muestre la leyenda en el control Label cada vez que presionemos un men. 6. Como habrs notado, el men se va incorporando al formulario en tiempo de diseo como cualquier otro control de visual basic. Para ingresar el cdigo necesario diremos que cada men responde a un evento llamado click y que se dispara cuando presionamos el men con el mouse o cuando le damos un enter, para ingresar el cdigo en el men "Abrir" le damos un click en el mismo men desde la ventana de diseo. Una vez abierta la ventana de cdigo aparecer una rutina como la siguiente:

Private Sub mnuabrir_click() End Sub

Ahora dentro del evento Click del men colocamos lo siguiente para que la etiqueta muestre la propiedad caption del men abrir al pulsar sobre el men

Label1.Caption = mnuarchivo.Caption

Nota: cabe aclarar que estas rutinas las podemos invocar o llamar como cualquier otra rutina de cdigo , por ejemplo en el caso anterior, por ejemplo si coloco esto en un botn se llamara al procedimiento Click del men y se ejecutara el cdigo. Call mnuabrir_click

Creando Controles Bsicos

Con los controles, los usuarios pueden operar y obtener los resultados de una aplicacin. Puede aadir controles a un formulario seleccionando la herramienta adecuada del Cuadro de Herramientas. Entre los controles ms comunes a utilizar en una aplicacin tenemos: Etiqueta (Label), Cuadro de Texto (TextBox) y Botn de Comando (CommandButton). Control Etiqueta (Label) Se utiliza para mostrar texto que el usuario no puede modificar. Generalmente para identificar otros controles en el formulario o para mostrar instrucciones al usuario. Propiedades Alignment Alineacin del texto dentro del control. AutoSize True/False. Determina si el tamao del control se ajusta automticamente al texto que contiene.

Caption Texto que muestra el control. Name Nombre del control. Font Establece la fuente, estilo y tamao para el texto del control.

Control Cuadro de Texto (Textbox) Se utiliza para que el usuario le proporcione datos a la aplicacin o para que la aplicacin le devuelva la informacin al usuario. El texto que se muestra en el control puede ser cambiado por el usuario. Propiedades Enabled True/False. Establece un valor que determina si el control puede responder a eventos generados por el usuario. Font Establece la fuentes, estilo y tamao para el texto del control. Locked True/False. Determina si es posible modificar el texto en el control. MaxLength Establece la longitud mxima permitida para el texto en el control. MultiLine Establece si el control puede aceptar mltiples lneas de texto. Name Nombre del control. PasswordChar Carcter utilizado para ocultar el texto que realmente contiene el control. Text Texto que realmente contiene y muestra el control. Visible Establece si el control ser visible para el usuario. Eventos Change Ocurre cuando cambia el texto que contiene el control. GotFocus Ocurre cuando el control recibe el enfoque. KeyDown Ocurre cuando el usuario presiona una tecla mientras el control tiene el enfoque. LostFocus Ocurre cuando el control pierde el enfoque. Mtodos Refresh Actualiza el texto del control. SetFocus Mueve el enfoque al control. Control Botn de Comando (Commandbutton)

Permite que la aplicacin inicie, interrumpa o termine un proceso. Propiedades Cancel True/False. Establece si el botn se comportar como el botn cancelar en el formulario y se invocar su evento Click cada vez que se presione la tecla ESC. Caption Establece el texto que muestra el botn. Default True/False. Establece si el botn se comportar como el botn predeterminado en el formulario. Font Establece la fuente, estilo y tamao para el texto del control. Name Nombre del botn. Visible True/False. Establece si el botn ser visible para el usuario. Eventos Click Ocurre cuando se hace clic sobre el botn. Mtodos SetFocus Mueve el enfoque al botn. Estableciendo Propiedades Al disear la interfase de usuario de una aplicacin Visual Basic, se deben establecer la propiedades para los controles (objetos) creados. Estableciendo Propiedades en Tiempo de Diseo Algunas propiedades pueden ser establecidas en tiempo de diseo. Para establecer estas propiedades se emplea la ventana de propiedades. Para acceder a la ventana de propiedades, oprima en botn secundario del ratn sobre un objeto, y luego haga clic en Propiedades. Tambin se puede obtener el mismo resultado seleccionado el objeto y luego presionando F4. Si selecciona varios objetos a la vez y accede a la ventana de propiedades, slo se mostrarn las propiedades que son comunes para todos los controles seleccionados. Cualquier cambio que se haga a una propiedad ser aplicada a todos los controles. Estableciendo Propiedades en Tiempo de Ejecucin En tiempo de ejecucin, se puede escribir cdigo para establecer u obtener el valor de una propiedad. La siguiente lnea de cdigo establece a negrita la fuente de un cuadro de texto llamado txtData. txtData.Font.Bold = True ' Establece el texto a negrita Este cdigo establece la propiedad Text del cuadro de texto txtData txtData.Text = "Hola mundo" 'Establece el valor del texto

Si se omite el nombre de la propiedad, se establece la propiedad predeterminada del control. La propiedad predeterminada de un cuadro de texto es la propiedad Text. La propiedad predeterminada de una etiqueta es la propiedad Caption. Las siguientes lneas de cdigo establecen las propiedades predeterminadas text y caption de un cuadro de texto y de una etiqueta. txtData = "Se establece la propiedad Text del cuadro de texto" lblData = "Se establece la propiedad Caption de la etiqueta" Obteniendo Propiedades en Tiempo de Ejecucin Puede emplear el siguiente cdigo para obtener el valor de una propiedad en tiempo de ejecucin. Dim sNombre as String sNombre = txtName.Text Procedimientos de Evento Visual Basic invoca automticamente procedimientos de evento en respuesta a acciones del teclado, del ratn o del sistema. Por ejemplo, los botones de comando tienen un procedimiento de evento Click. El cdigo que se escriba en el procedimiento de evento Click es ejecutado cuando el usuario haga clic en un botn de comando. Para abrir la ventana de cdigo, haga doble clic en el control o formulario, haga clic en la orden Cdigo del men Ver. Cada control tiene un conjunto fijo de procedimientos de evento. Los procedimientos de evento para cada control son mostrados en un cuadro de lista despegable en la ventana de cdigo. El siguiente cdigo muestra el procedimiento de evento Click para un botn de comando llamado cmdOK. Private Sub cmdOK_Click() MsgBox "Hola" End Sub Orden de Tabulacion de los Controles El orden de tabulacin es el orden en que un usuario se mueve de un control a otro pulsando la tecla Tab. Por omisin, el orden de tabulacin es igual al orden en que se han colocado los controles en el formulario. Para cambiar el orden de tabulacin de los controles de un formulario, establezca el valor de la propiedad TabIndex de cada control. El valor de esta propiedad va desde 0 hasta n-1, siendo n el nmero de controles que tiene el formulario. Quitar un control del orden de tabulacin Normalmente, presionando la tecla Taben tiempo de ejecucin pasamos de un control a otro en el orden de tabulacin establecido. Podemos quitar un control del orden de tabulacin si

establecemos su propiedad TabStop en False. Un control cuya propiedad TabStop se ha establecido en False sigue manteniendo su posicin en el orden de tabulacin actual, aunque el control es saltado al ir de un control a otro con la tecla Tab. Nota: Los controles que no pueden obtener enfoque, al igual que los controles desactivados o invisibles, no tienen la propiedad TabIndex y no estn incluidos en el orden de tabulacin. Cuando el usuario presiona Tab, estos controles son ignorados. Tecla de Acceso Rapido a un Control Si el control tiene la propiedad Caption, se le puede asignar una tecla de acceso rpido para seleccionar el control y de esta manera el control recibir el enfoque cada vez que se oprima ALT + TecladeAcceso. Para especificar la tecla de acceso rpido debe resaltar un carcter de la cadena en la propiedad Caption colocando delante de este el smbolo "&". Por ejemplo si el valor de la propiedad Caption es la cadena Usuario, y se desea definir la tecla s como la de acceso rpido, deber establecer la propiedad Caption de la siguiente manera: U&suario. El texto del control se ver as Usuario. Algunos controles, tales como el control Cuadro de Texto, no tiene la propiedad Caption. Para crear una tecla de acceso para esos controles: 1. Coloque un control Etiqueta cerca de otro control. 2. Establezca la propiedad Caption del control Etiqueta para contener la tecla de acceso apropiada. 3. Establezca para el control Etiqueta un valor de orden de tabulacin menor en una unidad que el de otro control. Cuando pulse ALT + TecladeAcceso del control Etiqueta, el enfoque se mover hacia el otro control debido a que el control Etiqueta no puede recibir el enfoque.

Editando Cdigo

Use las caractersticas de edicin de Visual Basic para que su cdigo sea ms fcil de leer. Use la sangra para diferenciar partes de su cdigo, tales como estructuras repetitivas y condicionales. Para aplicar sangra a una seccin de sentencias de un cdigo use la tecla Tab o el comando Aplicar sangra del men Edicin. Se forma similar, Shift + Tab o el comando Anular sangra del men Edicin quitar una sangra a las lneas seleccionadas. Veamos el siguiente ejemplo:

Cmo crear una base de datos en Access con Visual Basic


Introduccin La combinacin de Microsoft Access y Microsoft Visual Basic nos proporciona una excelente herramienta para la creacin de bases de datos (Access) y su acceso (Visual Basic) que nos permite administrar nuestras colecciones de audio, libros, video, etc. este ejercicio nos permitir concebir y construir bases de datos que se amolden a nuestras necesidades particulares, asumiendo que tienes conocimientos ms que bsicos de Visual Basic, sin ms, manos a la obra. Inicio de Visual Basic a) Haz clic en el botn Inicio, seala Todos los programas. b) Haz clic en Microsoft Visual Studio 6.0, Microsoft Visual Basic 6.0. Inicio del Proyecto a) Crea una carpeta que ser exclusiva para el ejercicio se llamar: mibasededatos para guardar todos los componentes del proyecto. b) Por el momento no haremos nada con el formulario de inicio. Creacin de la base de datos a) Haz clic en el botn Complementos de la barra de herramientas.

b) Haz clic en Administrador visual de datos

c) Y se abrir el Administrador visual de datos (VisData (Visual Data Manager)). d) Haz clic en Archivo, Nuevo, Microsoft Access, MDB de la versin 7.0

e) En la caja Seleccione la base de datos de Microsoft Access que desea crear, en Guardar en, busca y selecciona la misma carpeta creada anteriormente- en donde se guardar el proyecto, en Nombre: escribe un nombre que identifique la base de datos (usualmente el mismo nombre de la carpeta) y haz clic en Guardar.

f) Ahora aparece nuevamente el Administrador visual de datos mostrando en la barra de ttulo la ruta de acceso de nuestra base de datos y lista para empezar a trabajar.

Creacin de las tablas de la base de datos


a) Haz clic con el botn derecho del ratn dentro de la Ventana de base de datos y haz clic en Nueva tabla.

b) En la caja Estructura de tabla, Nombre de la tabla: escribe el nombre de la tabla, para el ejercicio la tabla se llamar Alumnos, y haz clic en Agregar campo.

c) En la caja Agregar campo, Nombre: escribe el nombre del primer campo de la tabla que estamos creando, para el ejercicio agregaremos cuatro campos, a saber: matricula, nombre, carrera y turno.

d) En Tipo: selecciona el tipo de datos que contendr el campo, en nuestro caso sern: - campo: matricula, tipo de datos: long, tamao: (automtico) - campo: nombre, tipo de datos: texto, tamao: 50 - campo: carrera, tipo de datos: texto, tamao: 50 - campo: turno, tipo de datos: texto, tamao: 20

e) En Tamao: selecciona la cantidad de caracteres (incluyendo espacios) que tendr el campo (ver arriba) y haz clic en Aceptar. f) Para agregar los otros campos de la tabla, haz clic en Agregar campo y repite los pasos desde el punto c) (Nombre, Tipo y Tamao) para cada campo que tendr la tabla. g) Cuando hayas agregado los campos de la tabla haz clic en el botn Generar la tabla.

h) Y la tabla la podrs ver en el Administrador visual de datos (VisData).

i) Repite los pasos desde el punto a) para cada tabla que tendr la base de datos.

Introduciendo la informacin en las tablas


a) Haz clic con el botn derecho del ratn en la tabla recin creada de la base de datos y haz clic en Abrir.

b) Y se mostrar la caja Dynaset con el nombre de la tabla, en nuestro caso: Alumnos. Haz clic en Agregar para empezar a introducir la informacin en los campos del primer registro.

c) Cuando termines de introducir la informacin en la ltima caja de texto, haz clic en Actualizar. Repite los pasos para cada registro de la Tabla.

d) Repite los pasos para introducir la informacin para cada tabla de la base de datos.

Preparando los formularios


En un formulario de Visual Basic crea las etiquetas necesarias que correspondan modificando su propiedad Caption- con los nombres de los campos de la tabla Alumnos, a saber, Matrcula, Nombre, Carrera y Turno. Crea las cajas de texto dejando en blanco su propiedad Text- necesarias para mostrar el contenido de los campos y un control Data, repite los pasos para cada tabla que tengas en tu base de datos. Haz clic en el men Proyecto, Componentes, selecciona el componente Microsoft FlexGrid Control 6.0 y haz clic en Aceptar. Ahora el objeto se halla en la Caja de herramientas, dibjalo en el formulario para que se vea ms o menos como se ve abajo.

Creando la conexin con la base de datos y la tabla


1. Conectando el control Data a) Selecciona el control Data y modifica sus propiedades como sigue: b) DatabaseName: localiza la carpeta del proyecto y selecciona la base de datos (mibasededatos) en donde se halla la tabla. c) RecordSource: selecciona el nombre de la tabla (Alumnos) cuyos campos se mostrarn en el formulario. 2. Conectando las cajas de texto a) Selecciona una de las cajas de texto y modifica sus propiedades como sigue: b) DataSource: selecciona Data1. c) DataField: selecciona el nombre del campo de la tabla que corresponda con la etiqueta correcta- que se mostrar en la caja de texto. d) Repite los pasos con cada caja de texto del formulario y ejecuta el programa con F5. e) En el formulario que conectaste a la base de datos, al hacer clic en el botn de avance del control Data se mostrarn los registros de la tabla.

f) Si no se pueden ver los registros de la tabla, significa que no se conectaron correctamente el control Data y las cajas de texto, simplemente revisa las conexiones una por una. 3. Conectando el MSFlexGrid. a) Selecciona el objeto MSFlexGrid, en su propiedad DataSource selecciona Data1, modifica su propiedad Cols a 5, cambia su propiedad Rows a 5, opcionalmente puedes modificar sus propiedades de BackColor de la manera que ms te agrade. 4. Este es el cdigo del formulario: Private Sub Form_Activate()

With MSFlexGrid1 For X = 1 To .Rows - 1 .Row = X For J = 1 To .Cols - 1 .Col = J .CellBackColor = IIf((X Mod 2) = 1, Val(&HC0FFFF), Val(&HC0FFC0)) .CellFontBold = True .CellForeColor = &HFF0000 Next J Next X End With End Sub Private Sub Form_Load() MSFlexGrid1.ColWidth(0) = 300 MSFlexGrid1.ColWidth(1) = 800 MSFlexGrid1.ColWidth(2) = 2500 MSFlexGrid1.ColWidth(3) = 2000 MSFlexGrid1.ColWidth(4) = 1100 End Sub Private Sub Form_Unload(Cancel As Integer) Cancel = 1 MsgBox "Haz Clic en Movimientos", vbInformation, "Aviso Importante!" End Sub

Creando un Men
En el formulario vamos a crear un men llamado Movimientos con las siguientes opciones:

a) Haz clic con el botn derecho del ratn sobre el formulario y haz clic en el Editor de mens

b) Y aparece la caja Editor de mens.

c) En Caption introduce el nombre (que se mostrar en el formulario) del men. d) En Name introduce el nombre que utilizar Visual Basic. e) Haz clic en el botn Siguiente para crear otro men. f) Haz clic en el botn con la flecha hacia la derecha y aparecern cuatro puntos, lo cual indica que el siguiente rengln ser una opcin del men. g) En Shortcut selecciona la combinacin de teclas que se podrn usar para activar la opcin de men correspondiente. h) Repite los pasos para crear cada opcin del men.

Programando las opciones del men


Ahora codificaremos en Visual Basic las opciones del men Movimientos para eso abre el men y haz clic en cada una de las opciones del men, el cdigo para las opciones son: a) Opcin Nuevo, el cual servir para crear un nuevo registro en la tabla, el cdigo es el siguiente: Private Sub nuevo_Click () Data1.Recordset.AddNew End Sub P.D. Esta opcin debe presionarse antes de dar de alta un nuevo registro en la base de datos. b) Opcin Guardar, el cual servir para guardar un nuevo registro en la tabla, el cdigo es el siguiente: Private Sub guardar_Click() Data1.UpdateRecord Data1.Refresh MsgBox "El Registro ha sido Guardado en la Base de Datos", vbExclamation, "Aviso Importante" End Sub P.D. Esta opcin debe presionarse una vez que se haya completado la informacin del registro. c) Opcin Buscar, el cual servir para buscar un registro en la tabla, el cdigo es el siguiente: Private Sub buscar_Click() Dim m As Long m = Val(InputBox("Introduce la Matrcula que Buscas")) Data1.Recordset.FindFirst "matricula=" & m If Data1.Recordset.NoMatch Then MsgBox "La Matrcula Nmero: " & m & " No est en la Base de Datos", vbExclamation, "Bsquedas de Matrcula" End If End Sub

Nota: aqu declaramos una variable (m) que representar el nmero del registro (matricula) que estemos buscando. Es de vital importancia de que te asegures de que en la lnea subrayada la palabra Matrcula est escrita exactamente como llamaste el campo matricula al crear la tabla. d) Opcin Eliminar, el cual servir para eliminar un registro de la tabla, el cdigo es el siguiente: Private Sub Eliminar_Click() If MsgBox("Quieres Eliminar la Matrcula Nmero: " & Text1 & "?", 16 + 4) = 6 Then Data1.Recordset.Delete Data1.Refresh Text1.SetFocus MsgBox "Se Elimin la Matrcula", vbCritical, "Aviso Importante" Else

MsgBox "No se Elimin la Matrcula Nmero: " & Text1, vbExclamation, "Aviso Importante" End If End Sub Ahora corre tu programa con la tecla F5 dirgete al formulario y ahora podrs agregar, guardar, buscar y eliminar registros de la tabla Alumnos de la base de datos de Access mediante Visual Basic.

Creando los reportes con Visual Basic


Para crear reportes en Visual Basic vamos a crear primero el Data Environment (Entorno de Datos) el cual es una herramienta muy sencilla para crear reportes tal como Crystal Reports o Access.

Creando el Data Environment


a) Haz clic en el botn Proyecto de la barra de herramientas. b) Haz clic en Agregar Data Environment c) Y se abrir el Data Environment mostrando el nombre del proyecto en su barra de ttulo.

Nota: En caso de que no se halle disponible la opcin Agregar Data Environment en el men Proyecto, hay que activarla desde Proyecto, Componentes, Diseadores y hacer clic en Data Environment y otro clic en Aceptar.

d) En la ventana aparece un pequeo icono de un reporte al cual puedes cambiarle el nombre fcilmente seleccionndolo y modificando su propiedad (Name) por otro como Reportes, etc.

e) Ms abajo se puede ver otro objeto, un cilindro -el cual representa a la base de datoscon una clavija elctrica llamado Connection1 al cual tambin puedes cambiarle el nombre modificando su propiedad (Name) por otro como Alumnos, Maestros, etc.

f) Ahora haz clic con el botn derecho del ratn sobre la Connection1 (ahora llamada Alumnos) y haz clic en Propiedades g) Y aparecer la caja Propiedades de vnculo de datos, haz clic en la opcin Conexin.

h) Haz clic en: Usar la cadena de conexin y haz clic en Generar

i) Y aparecer la caja Seleccionar origen de datos, haz clic en la opcin Origen de datos de equipo.

j) Selecciona el tipo de base de datos en donde se cre la base de datos, en nuestro caso MS Access Database y haz doble clic ah. k) Y aparecer la caja Conexin, haz clic en el botn Base de datos

l) Y aparecer la caja Seleccionar base de datos, localiza la carpeta o unidad de disco en donde se halla tu base de datos, seleccinala y haz clic en Aceptar.

m) Enseguida se vuelve a mostrar la caja Conexin, haz clic nuevamente en Aceptar. n) Y se mostrar la caja Propiedades de vnculo de datos, mostrando en la caja de texto Cadena de conexin bajo la opcin Usar la cadena de conexin la ruta de la base de datos que hemos conectado, para finalizar la conexin haz clic en Aceptar.

o) Y volveremos al Entorno de Datos. Ya creamos la conexin de los reportes con la base de datos, ahora vamos a crear un comando para el reporte.

Creando un comando
a) Haz clic con el botn derecho del ratn sobre la conexin (Alumnos) que creamos previamente y haz clic en Agregar comando.

b) Y enseguida aparecer un objeto llamado Command1, al cual le puedes cambiar su nombre modificando su propiedad (Name).

c) Para motivos de identificacin llamaremos el Command1 Repalumnos, ya que nos ser til para identificar el reporte de alumnos.

Creando las propiedades del reporte

a) Haz clic con el botn derecho del ratn sobre el comando ahora llamado Repalumnos- y haz clic en Propiedades y aparecer la caja Propiedades de Reporte, ah podemos ver el Nombre de comando (Command1) el cual es Repalumnos y el nombre de la Conexin que es Alumnos.

b) En la seccin Origen de datos, Objeto de la base de datos, haz clic en la flechita que se halla en la caja de combo y selecciona la opcin Tabla. c) Haz clic en la flecha de la caja de combo Nombre de objeto y selecciona el nombre de la tabla (alumnos) que nos servir de origen de datos para crear el reporte.

d) Ahora slo haz clic en Aceptar.

e) Y se mostrar un pequeo cuadro con un signo de ms en su interior, al lado izquierdo del comando Repalumnos, haz clic ah y podrs ver los campos de la tabla Alumnos que seleccionaste previamente, todo indica que nuestra conexin se realiz exitosamente.

Ya puedes cerrar el Entorno de Datos (Data Environment) para crear ahora la estructura del reporte.

Creando la estructura del reporte


a) En Visual Basic haz clic en el botn Proyecto de la barra de herramientas y haz clic en Agregar Data Report y se mostrar la caja DataReport1, la caja de herramientas y la caja de propiedades correspondientes para trabajar en el DataReport.

Nota: En caso de que no se halle disponible la opcin Agregar Data Report en el men Proyecto, hay que activarla desde Proyecto, Componentes, Diseadores y hacer clic en Data Report y otro clic en Aceptar. a) Hay varias maneras de elaborar la estructura del reporte, vamos a emplear una muy sencilla, haz clic en la herramienta RptLabel y dibuja una etiqueta en Encabezado de informe (Seccin4) y modifica su propiedad Caption con el ttulo que tendr el reporte. Nota: puedes ajustar la altura de las diferentes secciones del Data Report mediante colocar el apuntador del ratn en el limite inferior de cada seccin, presionar el botn izquierdo del ratn y sencillamente moverlo hacia arriba o hacia abajo segn sea el caso.

b) Ahora haz clic en RptLabel y coloca etiquetas con los ttulos de los encabezados de la tabla en Encabezado de pgina (Seccin2) modificando sus propiedades Caption, Font, ForeColor, etc. a tu gusto. c) Ahora haz clic en RptTextBox y coloca cajas de texto en Detalle (Seccin1). d) Al terminar de colocar las cajas de texto que muestran el texto: No enlazado, haz clic en cualquier parte vaca del DataReport y haz clic en la cajita gris situada bajo el icono de la barra de titulo del Data Report, para mostrar las propiedades del DataReport.

e) Haz clic en la propiedad DataSource y selecciona el DataEnvironment1 que previamente llamamos reportes, y en la propiedad DataMember selecciona el Command1 que llamamos Repalumnos. Nota: Podemos crear varios reportes si hay varias tablas- en el mismo Data Environment. f) Ahora selecciona la primera caja de texto y haz clic en la cajita gris situada bajo el icono de la barra de titulo del Data Report, para mostrar las propiedades de la caja de texto (RptTextBox), y modifica sus propiedades como sigue: DataMember: el nombre del reporte (Repalumnos) y en DataField: selecciona el campo que corresponda de la tabla y repite los pasos para cada caja de texto para que se vea ms o menos as.

Creando el men de Reportes


Vamos a volver al formulario en donde creamos el men a) Haz clic con el botn derecho del ratn en el formulario y haz clic en Editor de mens b) Crea el men Reportes con la opcin Alumnos.

c) Para que se vea as

Conectando el men con el reporte


Ahora vamos a conectar la opcin del men Reportes con el reporte que creamos previamente a) Haz clic en Reportes, Alumnos y escribe el siguiente cdigo: Private Sub reportedealumnos_Click() DataReport1.Show

End Sub b) Ejecuta el programa y haz clic en la opcin para ver el reporte y se mostrar el reporte que creaste.

Nota: En caso de ser necesario puedes estirar las cajas de texto para que se puedan ver los datos, o modificar la propiedad RightMargin del Data Report segn tus necesidades particulares. Puedes crear una base de datos con varias tablas, diferentes formularios y diferentes reportes segn prefieras, sinceramente espero que haya sido de tu inters el ejercicio y sirva para que te adentres en el mundo de la programacin y las bases de datos. En esta segunda parte del ejercicio, vamos a controlar el acceso al programa, de manera que solamente accesen el sistema, usuarios que previamente se hayan registrado como tales, tambin se crear la opcin para que los interesados se auto registren y puedan hacer uso del programa, por lo que vamos a crear: a) Una pantalla de Inicio, que se ver inmediatamente antes de iniciar el programa. b) Una pantalla de Bienvenida, con opciones para entrar al programa o registrarnos si es que no somos usuarios registrados para accesar el programa. c) Una pantalla de Entrada, para acceder al programa como usuario registrado. d) Una pantalla de Registro, en donde se registrarn los usuarios que quieran entrar el programa.

Creando una pantalla de inicio


a) Haz clic en Proyecto, Agregar formulario. b) En la caja de dilogo Agregar formulario, opcin Nuevo, selecciona el icono Pantalla de inicio y haz clic en Abrir. Para el propsito del ejercicio slo conserva dos etiquetas que nos sern de utilidad as como la grfica, selecciona el resto de las etiquetas y presiona el botn Suprimir para eliminarlas. Modifica las etiquetas, cambia la grfica por la que prefieras, y agrega un reloj a la pantalla de inicio para que se vea ms o menos como se ve abajo.

Para que esta pantalla se vea inmediatamente antes que inicie el programa hay que hacer lo siguiente: a) Selecciona el reloj y cambia su propiedad Interval a 100.

b) Haz doble clic en el reloj y escribe el siguiente cdigo: Private Sub Timer1_Timer() Static J As Integer J=J+1 If J = 20 Then frmSplash.Hide Bienvenida.Show Timer1.Enabled = False End If End Sub Aqu sencillamente declaramos una variable que se incrementar de uno en uno y al llegar a 20 se ocultar la pantalla de inicio y mostrar otro formulario, en nuestro caso el formulario de Bienvenida, y deshabilitar el reloj. Para que el programa inicie con el formulario que acabamos de crear: c) Haz clic en Proyecto, Propiedades de proyecto y se abrir la caja de dilogo, Propiedades del proyecto. d) En la opcin General, Objeto inicial, selecciona el formulario frmSplash y haz clic en Aceptar.

Creando una pantalla de bienvenida


Crea un formulario, con una etiqueta y tres botones, para que se vea ms o menos como se ve abajo.

a) El cdigo del botn Registrarse es: Private Sub Command1_Click() Bienvenida.Hide Registro.Show End Sub Cuya funcin es la de ocultar el formulario de Bienvenida y mostrar el formulario de Registro. b) El cdigo del botn Entrar es: Private Sub Command2_Click() Bienvenida.Hide Entrada.Show End Sub Cuya funcin es la de ocultar el formulario de Bienvenida y mostrar el formulario de Entrada. c) El cdigo del botn Cancelar es: Private Sub Command3_Click() Unload Me End End Sub Cuya funcin es la de cerrar el programa.

Creando una pantalla de entrada


Crea un formulario, con dos etiquetas, dos cajas de texto y dos botones, para que se vea ms o menos como se ve abajo.

a) El cdigo del botn Entrar al Programa es: Private Sub Command1_Click() Dim usuario As String Dim contrasena As String Dim mensaje As String Registro.Data1.Refresh usuario = Text1 contrasena = Text2 Do Until Registro.Data1.Recordset.EOF If Registro.Data1.Recordset.Fields("usuario").Value = usuario And Registro.Data1.Recordset.Fields("contrasena").Value = contrasena Then MsgBox "Hola " & usuario & ", Cmo has estado?", vbOKOnly, "Bienvenido al Programa" Entrada.Hide Alumnos.Show Exit Sub Else Registro.Data1.Recordset.MoveNext End If Loop mensaje = MsgBox("No te Conozco " & usuario & ", Intenta de Nuevo", vbOKOnly, "Atencin, Usuario No Autorizado!!!") If (mensaje = 1) Then Entrada.Show Text1 = "" Text2 = "" Else End End If

End Sub Cuya funcin es asegurarse de que el nombre de usuario y contrasea introducidos se hallen en la tabla de usuarios, si lo halla le permitir la entrada al programa, si no lo encuentra, invitar al usuario a intentarlo de nuevo o salir del programa. b) El cdigo del botn Salir del programa es: Private Sub Command2_Click() End End Sub Cuya funcin es la de cerrar el programa. c) Escribe el siguiente cdigo en el evento Activate del formulario Private Sub Form_Activate() Text1.SetFocus End Sub Cuya funcin es la de colocar el cursor en la caja de texto 1 al cargar el formulario d) Escribe el siguiente cdigo en el evento KeyPress de la caja de texto 1 Private Sub Text1_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then Text2.SetFocus End If End Sub Cuya funcin es la de avanzar de la caja de texto 1 a la caja de texto 2 al presionar la tecla Enter.

Creando una pantalla de registro


Crea un formulario, con dos etiquetas, dos cajas de texto, dos botones y un control Data, cuya propiedad Visible debe ser cambiada a False, para que se vea ms o menos como se ve abajo.

a) El cdigo del botn Guardar Nuevo Registro es: Private Sub Command4_Click() Data1.UpdateRecord Data1.Refresh

MsgBox "El Usuario ha sido Guardado en la Base de Datos", vbExclamation, "Aviso Importante" Registro.Hide Alumnos.Show End Sub Cuya funcin es la de guardar en la tabla de usuarios al nuevo usuario. b) El cdigo del botn Salir del programa es: Private Sub Command2_Click() End End Sub Cuya funcin es la de cerrar el programa. c) Escribe el siguiente cdigo en el evento Activate del formulario Private Sub Form_Activate() Data1.Recordset.AddNew End Sub Cuya funcin es la de preparar el agregar al usuario nuevo. d) Escribe el siguiente cdigo en el evento KeyPress de la caja de texto 1 Private Sub Text1_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then Text2.SetFocus End If End Sub Cuya funcin es la de avanzar de la caja de texto 1 a la caja de texto 2 al presionar la tecla Enter. e) Ahora hay que crear dentro de la misma base de datos, una tabla llamada usuarios para conservar los registros de los usuarios que se registren como usuarios del sistema, para este fin hay que seguir las instrucciones del captulo: Creacin de las tablas de la base de datos, detallada pginas arriba. La tabla debe llamarse usuarios y sus campos deben ser definidos como tipo texto y tamao 50, tal como se ve en la caja Estructura de la tabla mostrada abajo.

De tal manera que en el Administrador Visual de datos (VisData) podamos ver las tablas que forman nuestra base de datos. f)

En la tabla recin creada y siguiendo el procedimiento pginas mostrado arriba, registra un nico usuario, preferentemente t nombre y como contrasea nuevamente t nombre, esto por motivos de prueba.

g) Ahora volvamos al formulario llamado Registro, este contiene un control Data que hay que conectar - A la base de datos, usando su propiedad Databasename, y - A la tabla usuarios, usando su propiedad RecordSource. No hay que olvidar cambiar su propiedad Visible a False.

Si todo ha resultado bien, al iniciar nuestro programa, este iniciar con la pantalla de Inicio, enseguida se mostrar la pantalla de Bienvenida, en donde tenemos dos opciones: al oprimir el botn Entrar, debe mostrarse la pantalla de Entrada y si se presiona el botn Registrarse, debe mostrarse la pantalla de Registro. La cual reconocer al usuario registrado y no permitir la entrada al sistema de personas no registradas. Como tenemos un usuario registrado podremos probar su funcionalidad. Gracias por todos los alentadores mensajes electrnicos recibidos de tanta gente, como siempre estoy a la orden para sugerencias y recomendaciones. En esta tercera parte del ejercicio, vamos a realizar algunas bsquedas y consultas, as como ordenar los datos en forma ascendente y descendente, tambin moveremos registros del MSFlexGrid a otros objetos, de tal manera que vamos a crear: a) b) c) d) e) Una pantalla para realizar bsquedas por: Matrcula, Carrera y Turno. Una pantalla para efectuar bsquedas de Matrcula usando una caja de combo. Una Pantalla para ordenar todos los registros en forma ascendente y descendente. Una pantalla para mover datos del MSFlexGrid a cajas de texto. Una pantalla para trasferir datos del MSFlexGrid a cajas de lista.

Para el propsito del ejercicio vamos a modificar la pantalla de opciones para que tenga una apariencia semejante a como se ve abajo.

En este formulario, modifica el men para que contenga opciones para las pantallas de bsqueda antes mencionadas, por cuestiones de fcil identificacin las llam como se ven en la pantalla. El formulario contiene al medio un objeto Picture conteniendo una ilustracin. En la parte inferior hay un objeto StatusBar, el cual fue activado mediante hacer clic en Proyecto, Componentes, en la caja de dilogo Componentes, Controles, selecciona la opcin Microsoft Windows Common Controls 6.0 (SP6) y haz clic en Aplicar y Aceptar para que los controles se muestren en el Cuadro de herramientas.

En el Cuadro de herramientas haz doble clic en el objeto StatusBar para que se mueva al formulario, una vez ah, haz doble clic con el botn derecho del ratn en el objeto StatusBar y haz clic en Propiedades.

Para que se muestre la caja de dilogo Pginas de propiedades.

En la caja de dilogo Pginas de propiedades, opcin Paneles, haz clic en el botn Insertar panel en dos ocasiones (para tener un total de tres paneles), el objeto StatusBar muestra un panel, de manera que hay que insertar los paneles en donde se mostrar la hora, la fecha y la activacin de la tecla de Maysculas. Podrs ver los paneles insertados mediante hacer clic en las flechas izquierda y derecha de la opcin Index. Los paneles deben mostrar en la opcin Style: 5 sbrTime, 6 sbrDate y 1 sbrCaps respectivamente para que se vea como la ilustracin del formulario opciones mostrada arriba. Puedes experimentar con las otras opciones a tu gusto.

Creando la pantalla de Bsquedas1


Crea un formulario, con un frame, tres botones de opcin, una caja de texto, dos etiquetas, dos botones, un MSFlexGrid y un control Data, cuya propiedad Visible debe ser cambiada a False, para que se vea ms o menos como se ve abajo.

El formulario debe tener un men con la opcin Volver a Opciones como se muestra abajo.

a) El cdigo del formulario Bsquedas1 es: Private Sub Form_Load() MSFlexGrid1.ColWidth(0) = 300 MSFlexGrid1.ColWidth(1) = 800 MSFlexGrid1.ColWidth(2) = 2100 MSFlexGrid1.ColWidth(3) = 2500 MSFlexGrid1.ColWidth(4) = 1000 Label2.Visible = False Text1.Visible = False End Sub Private Sub Form_Unload(Cancel As Integer) Cancel = 1 MsgBox "Haz Clic en Archivo", vbInformation, "Aviso Importante!" End Sub b) El cdigo del men Volver a Opciones es: Private Sub volveraopciones_Click() Busquedas1.Hide Opciones.Show End Sub c) El cdigo de los botones de opcin es: Private Sub Option1_Click() If Option1 = True Then Label2.Visible = True Label2.Caption = "Introduce la Matrcula que buscas" Text1.Visible = True Text1 = "" Text1.SetFocus End If End Sub Private Sub Option2_Click() If Option2 = True Then

Label2.Visible = True Label2.Caption = "Introduce la Carrera que buscas" Text1.Visible = True Text1 = "" Text1.SetFocus End If End Sub Private Sub Option3_Click() If Option3 = True Then Label2.Visible = True Label2.Caption = "Introduce el Turno que buscas" Text1.Visible = True Text1 = "" Text1.SetFocus End If End Sub d) el cdigo del botn Buscar es: Private Sub Command1_Click() If Option1 = True Then Data1.RecordSource = "select * from alumnos where matricula = " & Val(Text1) Data1.Refresh Label1.Visible = True If Data1.Recordset.EOF Then MsgBox "La Matrcula: " & Val(Text1) & ", No est en la Base de Datos", vbExclamation, "Por Favor Revisa el Nmero de la Matrcula!" Text1 = "" Text1.SetFocus End If ElseIf Option2 = True Then Data1.RecordSource = "select * from alumnos where carrera = '" & Text1 & "'" Data1.Refresh Label1.Visible = True If Data1.Recordset.EOF Then MsgBox "La Carrera: '" & Text1 & "'" & " No est en la Base de Datos", vbExclamation, "Por Favor Revisa el Nombre de la Carrera!" Text1 = "" Text1.SetFocus End If ElseIf Option3 = True Then Data1.RecordSource = "select * from alumnos where turno = '" & Text1 & "'" Data1.Refresh Label1.Visible = True If Data1.Recordset.EOF Then MsgBox "El Turno: '" & Text1 & "'" & " No est en la Base de Datos", vbExclamation, "Por Favor Revisa el Nombre del Turno!"

Text1 = "" Text1.SetFocus End If End If Label1 = "Total de Registros de la Consulta: " & (MSFlexGrid1.Rows) - 1 & "" End Sub e) El cdigo del botn Ver Todos los Registros es: Private Sub Command2_Click() Text1 = "" Data1.RecordSource = "alumnos" Data1.Refresh Label1 = "Total de Registros de la bsqueda: " & (MSFlexGrid1.Rows) - 1 & "" End Sub f) Control Data1 No olvides conectar el control Data a la base de datos mediante su propiedad DatabaseName, y a la tabla alumnos mediante su propiedad RecordSource. g) MSFlexGrid1 Del MsFlexGrid modifica su propiedad Cols a 5, DataSource a Data1, Rows a 4, SelectionMode a 1 flexSelectionByRow, tambin puedes seleccionar colores contrastantes em las propiedades BackColorSel y ForeColorSel. h) Las etiquetas1 y 2, deben estar vacas y con su propiedad AutoSize a True, una de ellas colcala justo arriba de la caja de texto y la otra puede ir al pie del formulario. Al iniciar el formulario, no deben verse las etiquetas ni la caja de texto, para lo cual limpia el contenido de la propiedad Caption, hasta que el usuario haga un clic en el botn de opcin deseado. Al introducir la informacin requerida y hacer clic en el botn Buscar se mostrar el o los registros y la otra etiqueta indicando el nmero de registros hallados, al presionar el botn Ver Todos los Registros se mostrarn todos los registros de la tabla Alumnos. El Botn cerrar del formulario se deshabilita para forzar el uso del Men.

Creando la pantalla de Bsquedas2


Crea un formulario, con una etiqueta, una caja de combo, dos botones, un MSFlexGrid y un control Data, cuya propiedad Visible debe ser cambiada a False, para que se vea ms o menos como se ve abajo.

Al igual que el ejercicio anterior, el formulario debe tener un men con la opcin Volver a Opciones. a) El cdigo del formulario Bsquedas2 es: Private Sub Form_Load() MSFlexGrid1.ColWidth(0) = 300 MSFlexGrid1.ColWidth(1) = 800 MSFlexGrid1.ColWidth(2) = 2100 MSFlexGrid1.ColWidth(3) = 2500 MSFlexGrid1.ColWidth(4) = 1000 End Sub Private Sub Form_Unload(Cancel As Integer) Cancel = 1 MsgBox "Haz Clic en Archivo", vbInformation, "Aviso Importante!" End Sub b) El cdigo del men Volver a Opciones es: Private Sub volveraopciones_Click() Busquedas2.Hide Opciones.Show End Sub

c) El cdigo de la caja de combo es: Private Sub Combo1_DropDown() On Error Resume Next Do Until Data1.Recordset.EOF Combo1.AddItem Data1.Recordset.Fields("matricula") Data1.Recordset.MoveNext Loop End Sub d) El cdigo del botn Buscar es: Private Sub Command1_Click() Data1.RecordSource = "select * from alumnos where matricula =" & Val(Combo1.Text) Data1.Refresh If Data1.Recordset.EOF Then MsgBox "La Matrcula: " & Val(Combo1) & ", No est en la Base de Datos" + vbCrLf + "Haz Clic en el botn 'Ver Todos'" + vbCrLf + "Para Seleccionar un Nmero de Matrcula", vbExclamation, "Por Favor Selecciona un Nmero de Matrcula!" End If End Sub e) El cdigo del botn Ver Todos es: Private Sub Command2_Click() Data1.RecordSource = "alumnos" Data1.Refresh End Sub f) Control Data1

No olvides conectar el control Data a la base de datos mediante su propiedad DatabaseName, y a la tabla alumnos mediante su propiedad RecordSource. g) MSFlexGrid1 Del MsFlexGrid modifica su propiedad Cols a 5, DataSource a Data1, Rows a 4, SelectionMode a 1 flexSelectionByRow, tambin puedes seleccionar colores contrastantes em las propiedades BackColorSel y ForeColorSel. h) ComboBox su propiedad Text cambiala a Matrculas. Al iniciar el formulario, el usuario seleccionar de la caja de combo la matrcula que busca, y al presionar el botn Buscar, la matrcula deseada se le mostrar. Al presionar el botn Ver Todos, se mostrarn todos los registros de la tabla Alumnos. El Botn cerrar del formulario se deshabilita para forzar el uso del Men.

Creando la pantalla de Bsquedas3


Crea un formulario, con una etiqueta, un Frame, cuatro botones de opcin, dos botones, un MSFlexGrid y un control Data, cuya propiedad Visible debe ser cambiada a False, para que se vea ms o menos como se ve abajo.

Al igual que el ejercicio anterior, el formulario debe tener un men con la opcin Volver a Opciones. a) El cdigo del formulario Bsquedas3 es: Private Sub Form_Load() MSFlexGrid1.ColWidth(0) = 300 MSFlexGrid1.ColWidth(1) = 800 MSFlexGrid1.ColWidth(2) = 2100 MSFlexGrid1.ColWidth(3) = 2500 MSFlexGrid1.ColWidth(4) = 1000 End Sub Private Sub Form_Unload(Cancel As Integer) Cancel = 1 MsgBox "Haz Clic en Archivo", vbInformation, "Aviso Importante!" End Sub

b) El cdigo del men Volver a Opciones es: Private Sub volver_Click() Busquedas3.Hide Opciones.Show End Sub c) El cdigo del botn Ascendente es: Private Sub Command1_Click() If Option1 = True Then MSFlexGrid1.Col = 1 MSFlexGrid1.Sort = flexSortNumericAscending ElseIf Option2 = True Then MSFlexGrid1.Col = 2 MSFlexGrid1.Sort = flexSortStringAscending ElseIf Option3 = True Then MSFlexGrid1.Col = 3 MSFlexGrid1.Sort = flexSortStringAscending ElseIf Option4 = True Then MSFlexGrid1.Col = 4 MSFlexGrid1.Sort = flexSortStringAscending End If End Sub d) El cdigo del botn Descendente es: Private Sub Command2_Click() If Option1 = True Then MSFlexGrid1.Col = 1 MSFlexGrid1.Sort = flexSortNumericDescending ElseIf Option2 = True Then MSFlexGrid1.Col = 2 MSFlexGrid1.Sort = flexSortStringDescending ElseIf Option3 = True Then MSFlexGrid1.Col = 3 MSFlexGrid1.Sort = flexSortStringDescending ElseIf Option4 = True Then MSFlexGrid1.Col = 4 MSFlexGrid1.Sort = flexSortStringDescending End If End Sub e) Control Data1 No olvides conectar el control Data a la base de datos mediante su propiedad DatabaseName, y a la tabla alumnos mediante su propiedad RecordSource. f) MSFlexGrid1 Del MsFlexGrid modifica su propiedad Cols a 5, DataSource a Data1, Rows a 4, SelectionMode a 1 flexSelectionByRow, tambin puedes seleccionar colores contrastantes em las propiedades BackColorSel y ForeColorSel. Al iniciar el formulario, el usuario seleccionar el botn de opcin que necesite para elegir el campo necesario y presionar el botn Ascendente o Descendente para elegir el orden de los datos de la tabla Alumnos. El Botn cerrar del formulario se deshabilita para forzar el uso del Men.

Creando la pantalla de Bsquedas4


Crea un formulario, con una etiqueta, cuatro cajas de texto, un MSFlexGrid y un control Data, cuya propiedad Visible debe ser cambiada a False, para que se vea ms o menos como se ve abajo.

Al igual que el ejercicio anterior, el formulario debe tener un men con la opcin Volver a Opciones. a) El cdigo del formulario Bsquedas4 es: Private Sub Form_Load() MSFlexGrid1.ColWidth(0) = 300 MSFlexGrid1.ColWidth(1) = 800 MSFlexGrid1.ColWidth(2) = 2100 MSFlexGrid1.ColWidth(3) = 2500 MSFlexGrid1.ColWidth(4) = 1000 End Sub Private Sub Form_Unload(Cancel As Integer) Cancel = 1 MsgBox "Haz Clic en Archivo", vbInformation, "Aviso Importante!" End Sub b) El cdigo del men Volver a Opciones es: Private Sub volver_Click() Busquedas4.Hide Opciones.Show End Sub c) El cdigo del MSFlexGrid es: Private Sub MSFlexGrid1_DblClick() MSFlexGrid1.Col = 1

Text1 = MSFlexGrid1.Text MSFlexGrid1.Col = 2 Text2 = MSFlexGrid1.Text MSFlexGrid1.Col = 3 Text3 = MSFlexGrid1.Text MSFlexGrid1.Col = 4 Text4 = MSFlexGrid1.Text Text1.BackColor = &HC0FFFF Text2.BackColor = &HC0FFFF Text3.BackColor = &HC0FFFF Text4.BackColor = &HC0FFFF Text1.ForeColor = &HFF0000 Text2.ForeColor = &HFF0000 Text3.ForeColor = &HFF0000 Text4.ForeColor = &HFF0000 End Sub d) Control Data1 No olvides conectar el control Data a la base de datos mediante su propiedad DatabaseName, y a la tabla alumnos mediante su propiedad RecordSource. e) MSFlexGrid1 Del MsFlexGrid modifica su propiedad Cols a 5, DataSource a Data1, Rows a 4, SelectionMode a 1 flexSelectionByRow, tambin puedes seleccionar colores contrastantes em las propiedades BackColorSel y ForeColorSel. Al iniciar el formulario, el usuario har doble clic en cualquier registro del MSFlexGrid y este se transferir a las cajas de texto. El Botn cerrar del formulario se deshabilita para forzar el uso del Men.

Creando la pantalla de Bsquedas5


Crea un formulario, con una etiqueta, cuatro cajas de lista, un MSFlexGrid y un control Data, cuya propiedad Visible debe ser cambiada a False, para que se vea ms o menos como se ve abajo.

Al igual que el ejercicio anterior, el formulario debe tener un men con la opcin Volver a Opciones. a) El cdigo del formulario Bsquedas5 es: Private Sub Form_Load() MSFlexGrid1.ColWidth(0) = 300 MSFlexGrid1.ColWidth(1) = 800 MSFlexGrid1.ColWidth(2) = 2100 MSFlexGrid1.ColWidth(3) = 2500 MSFlexGrid1.ColWidth(4) = 1000 End Sub Private Sub Form_Unload(Cancel As Integer) Cancel = 1 MsgBox "Haz Clic en Archivo", vbInformation, "Aviso Importante!" End Sub b) El cdigo del men Volver a Opciones es: Private Sub volver_Click() Busquedas5.Hide Opciones.Show End Sub c) El cdigo del MSFlexGrid es: Private Sub MSFlexGrid1_DblClick() MSFlexGrid1.Col = 1 List1.AddItem MSFlexGrid1.Text MSFlexGrid1.Col = 2 List2.AddItem MSFlexGrid1.Text MSFlexGrid1.Col = 3 List3.AddItem MSFlexGrid1.Text MSFlexGrid1.Col = 4 List4.AddItem MSFlexGrid1.Text List1.BackColor = &HC0FFFF List2.BackColor = &HC0FFFF List3.BackColor = &HC0FFFF List4.BackColor = &HC0FFFF List1.ForeColor = &HFF0000 List2.ForeColor = &HFF0000 List3.ForeColor = &HFF0000 List4.ForeColor = &HFF0000 End Sub d) Control Data1 No olvides conectar el control Data a la base de datos mediante su propiedad DatabaseName, y a la tabla alumnos mediante su propiedad RecordSource. e) MSFlexGrid1 Del MsFlexGrid modifica su propiedad Cols a 5, DataSource a Data1, Rows a 4, SelectionMode a 1 flexSelectionByRow, tambin puedes seleccionar colores contrastantes em las propiedades BackColorSel y ForeColorSel.

Al iniciar el formulario, el usuario har doble clic en cualquier registro del MSFlexGrid y este se transferir a las cajas de lista, que a diferencia del ejercicio anterior, guardarn ms de un registro a la vez. El Botn cerrar del formulario se deshabilita para forzar el uso del Men.

Creando la pantalla de Bsquedas6


Crea un formulario, con tres etiquetas, dos cajas de combo, dos botones, un MSFlexGrid y un control Data, cuya propiedad Visible debe ser cambiada a False, para que se vea ms o menos como se ve abajo.

Al igual que el ejercicio anterior, el formulario debe tener un men con la opcin Volver a Opciones. a) El cdigo del formulario Bsquedas6 es: Private Sub Form_Load() MSFlexGrid1.ColWidth(0) = 300 MSFlexGrid1.ColWidth(1) = 800 MSFlexGrid1.ColWidth(2) = 2100 MSFlexGrid1.ColWidth(3) = 2500 MSFlexGrid1.ColWidth(4) = 1000 End Sub Private Sub Form_Unload(Cancel As Integer) Cancel = 1 MsgBox "Haz Clic en Archivo", vbInformation, "Aviso Importante!" End Sub b) El cdigo del men Volver a Opciones es: Private Sub volver_Click() Busquedas6.Hide Opciones.Show End Sub

c) El cdigo de la caja de combo1 es: Private Sub Combo1_DropDown() On Error Resume Next Dim i As Long, enlatabla As Boolean Data1.Recordset.MoveFirst While Not Data1.Recordset.EOF enlatabla = False For i = 0 To Combo1.ListCount - 1 If Combo1.List(i) = Data1.Recordset("carrera") Then enlatabla = True Exit For End If Next i If Not enlatabla Then Combo1.AddItem Data1.Recordset("carrera") End If Data1.Recordset.MoveNext Wend End Sub d) El cdigo de la caja de combo2 es: Private Sub Combo2_DropDown() On Error Resume Next Dim i As Long, enlatabla As Boolean Data1.Recordset.MoveFirst While Not Data1.Recordset.EOF enlatabla = False For i = 0 To Combo2.ListCount - 1 If Combo2.List(i) = Data1.Recordset("turno") Then enlatabla = True Exit For End If Next i If Not enlatabla Then Combo2.AddItem Data1.Recordset("turno") End If Data1.Recordset.MoveNext Wend End Sub e) El cdigo del botn Buscar es: Private Sub Command1_Click() Data1.RecordSource = "select * from alumnos where carrera like '" & Combo1.Text & "' and turno like '" & Combo2.Text & "'" Data1.Refresh Label3 = "Total de Registros de la Consulta: " & (MSFlexGrid1.Rows) - 1 & "" End Sub f) El cdigo del botn Todos los Registros es: Private Sub Command2_Click() Data1.RecordSource = "alumnos" Data1.Refresh Label3 = "Total de Registros de la Consulta: " & (MSFlexGrid1.Rows) - 1 & "" End Sub

g) Control Data1 No olvides conectar el control Data a la base de datos mediante su propiedad DatabaseName, y a la tabla alumnos mediante su propiedad RecordSource. h) MSFlexGrid1 Del MsFlexGrid modifica su propiedad Cols a 5, DataSource a Data1, Rows a 4, SelectionMode a 1 flexSelectionByRow, tambin puedes seleccionar colores contrastantes em las propiedades BackColorSel y ForeColorSel. Private Sub MSFlexGrid1_EnterCell() MSFlexGrid1.CellBackColor = &HFF& MSFlexGrid1.CellForeColor = &HFFFFFF MSFlexGrid1.CellFontBold = True End Sub Private Sub MSFlexGrid1_LeaveCell() MSFlexGrid1.CellBackColor = &HFFFFFF MSFlexGrid1.CellForeColor = &H0& MSFlexGrid1.CellFontBold = False End Sub Nota: Copia estos cdigos en los eventos del MsFlexGrid y haz clic en cualquier celda. i) La etiqueta3 debe tener su propiedad Autosize en True, y la propiedad Caption en nada. Al iniciar el formulario, el usuario selecionar de las cajas de combo1 y combo2 los campos de la tabla que servirn para hacer la bsqueda respectiva, al presionar el botn Buscar, los registros se mostrarn en el MSFlexGrid y la etiqueta3 mostrar la cantidad de registros mostrados. El Botn cerrar del formulario se deshabilita para forzar el uso del Men.

Creando la pantalla de Bsquedas7


Crea un formulario, con cuatro etiquetas, dos cajas de combo, dos botones, un MSFlexGrid y un control Data, cuya propiedad Visible debe ser cambiada a False, para que se vea ms o menos como se ve abajo.

Al igual que el ejercicio anterior, el formulario debe tener un men con la opcin Volver a Opciones. a) El cdigo del formulario Bsquedas7 es: Private Sub Form_Load() MSFlexGrid1.ColWidth(0) = 300 MSFlexGrid1.ColWidth(1) = 800 MSFlexGrid1.ColWidth(2) = 2100 MSFlexGrid1.ColWidth(3) = 2500 MSFlexGrid1.ColWidth(4) = 1000 Combo1.AddItem "Carrera" Combo1.AddItem "Turno" End Sub Private Sub Form_Unload(Cancel As Integer) Cancel = 1 MsgBox "Haz Clic en Archivo", vbInformation, "Aviso Importante!" End Sub

Private Sub Form_Activate() Data1.RecordSource = "alumnos" Data1.Refresh Label4 = "Total de Registros de la Consulta: " & (MSFlexGrid1.Rows) - 1 & "" Combo2.Clear End Sub b) El cdigo del men Volver a Opciones es: Private Sub volver_Click() Busquedas7.Hide Opciones.Show End Sub c) El cdigo de la caja de combo1 es: Private Sub Combo1_Click() On Error Resume Next If Combo1.Text = "Carrera" Then Dim J As Long, enlatabla As Boolean Data1.Recordset.MoveFirst While Not Data1.Recordset.EOF enlatabla = False For J = 0 To Combo2.ListCount - 1 If Combo2.List(J) = Data1.Recordset("carrera") Then enlatabla = True Exit For End If Next J If Not enlatabla Then

Combo2.AddItem Data1.Recordset("carrera") End If Data1.Recordset.MoveNext Wend End If If Combo1.Text = "Turno" Then Dim a As Long, yaenlatabla As Boolean Data1.Recordset.MoveFirst While Not Data1.Recordset.EOF yaenlatabla = False For a = 0 To Combo2.ListCount - 1 If Combo2.List(a) = Data1.Recordset("turno") Then yaenlatabla = True Exit For End If Next a If Not yaenlatabla Then Combo2.AddItem Data1.Recordset("turno") End If Data1.Recordset.MoveNext Wend End If End Sub d) El cdigo del botn Buscar es: Private Sub Command1_Click() On Error Resume Next If Combo1.Text = "Carrera" And Combo2.Text <> "Selecciona" Then Data1.RecordSource = "select * from alumnos where carrera like '" & Combo2.Text & "'" Data1.Refresh Label4 = "Total de Registros de la Consulta: " & (MSFlexGrid1.Rows) - 1 & "" If Data1.Recordset.RecordCount = 0 Then MsgBox "Este Registro No Corresponde con el Campo que Seleccionaste" + vbCrLf + "Presiona el botn: 'Todos los Registros' y Selecciona Otro Campo", vbInformation, "Aviso Importante!" End If End If If Combo1.Text = "Turno" And Combo2.Text <> "Selecciona" Then Data1.RecordSource = "select * from alumnos where turno like '" & Combo2.Text & "'" Data1.Refresh Label4 = "Total de Registros de la Consulta: " & (MSFlexGrid1.Rows) - 1 & "" If Data1.Recordset.RecordCount = 0 Then MsgBox "Este Registro No Corresponde con el Campo que Seleccionaste" + vbCrLf + "Presiona el botn: 'Todos los Registros' y Selecciona Otro Campo", vbInformation, "Aviso Importante!" End If End If If Combo1 <> "" And Combo2 = "" Then MsgBox "Selecciona el Registro", vbInformation, "Aviso Importante!"

End If End Sub e) El cdigo del botn Todos los Registros es: Private Sub Command2_Click() Data1.RecordSource = "alumnos" Data1.Refresh Label4 = "Total de Registros de la Consulta: " & (MSFlexGrid1.Rows) - 1 & "" Combo2.Clear End Sub

f) Control Data1 No olvides conectar el control Data a la base de datos mediante su propiedad DatabaseName, y a la tabla alumnos mediante su propiedad RecordSource. g) MSFlexGrid1 Del MsFlexGrid modifica su propiedad Cols a 5, DataSource a Data1, Rows a 4, SelectionMode a 1 flexSelectionByRow, tambin puedes seleccionar colores contrastantes em las propiedades BackColorSel y ForeColorSel. h) La etiqueta4 debe tener su propiedad Autosize en True, y la propiedad Caption en nada. Al iniciar el formulario, el usuario selecionar de la caja de combo1, el campo de la tabla dentro del cual se realizar la bsqueda y del combo2 el registro que servir para hacer la bsqueda, al presionar el botn Buscar, los registros se mostrarn en el MSFlexGrid y la etiqueta4 mostrar la cantidad de registros mostrados. El Botn cerrar del formulario se deshabilita para forzar el uso del Men. Selecciona la caja de combo1 y en su propiedad ToolTipText escribe: 1. Selecciona el Campo Selecciona la caja de combo2 y en su propiedad ToolTipText escribe: 2. Selecciona el Registro Selecciona el botn Buscar y en su propiedad ToolTipText escribe: 3. Realiza la Bsqueda Selecciona el botn Todos los Registros y en su propiedad ToolTipText escribe: 4. Presiona esta botn antes de cambiar de campo.

Creando la pantalla de Bsquedas8


Crea un formulario, con cuatro etiquetas, dos cajas de texto, dos botones, un MSFlexGrid y un control Data, cuya propiedad Visible debe ser cambiada a False, para que se vea ms o menos como se ve abajo.

Al igual que el ejercicio anterior, el formulario debe tener un men con la opcin Volver a Opciones. a) El cdigo del formulario Bsquedas8 es: Private Sub Form_Load() MSFlexGrid1.ColWidth(0) = 300 MSFlexGrid1.ColWidth(1) = 800 MSFlexGrid1.ColWidth(2) = 2100 MSFlexGrid1.ColWidth(3) = 2500 MSFlexGrid1.ColWidth(4) = 1000 End Sub Private Sub Form_Unload(Cancel As Integer) Cancel = 1 MsgBox "Haz Clic en Archivo", vbInformation, "Aviso Importante!" End Sub Private Sub Form_Activate() Text1.SetFocus End Sub b) El cdigo del men Volver a Opciones es: Private Sub volver_Click() Busquedas8.Hide Opciones.Show End Sub c) El cdigo del botn Buscar es: Private Sub Command1_Click() Data1.RecordSource = "select * from alumnos where matricula between " & Val(Text1) & " And " & Val(Text2) & "" Data1.Refresh Label4 = "Total de Registros de la bsqueda: " & (MSFlexGrid1.Rows) - 1 & ""

If Data1.Recordset.RecordCount = 0 Then MsgBox "No Hay Registros con estos Parmetros" + vbCrLf + "Por Favor Revisa tus Datos", vbInformation, "Aviso Importante!" End If Text1 = "" Text2 = "" Text1.SetFocus End Sub d) El cdigo del botn Todos los Registros es: Private Sub Command2_Click() Data1.RecordSource = "alumnos" Data1.Refresh Label4 = "Total de Registros de la bsqueda: " & (MSFlexGrid1.Rows) - 1 & "" Text1.SetFocus End Sub e) Control Data1 No olvides conectar el control Data a la base de datos mediante su propiedad DatabaseName, y a la tabla alumnos mediante su propiedad RecordSource. f) MSFlexGrid1 Del MsFlexGrid modifica su propiedad Cols a 5, DataSource a Data1, Rows a 4, SelectionMode a 1 flexSelectionByRow, tambin puedes seleccionar colores contrastantes em las propiedades BackColorSel y ForeColorSel. g) La etiqueta3 debe tener su propiedad Autosize en True, y la propiedad Caption en nada. Al iniciar el formulario, el usuario podr realizar bsquedas por rango del campo Matrculas, al presionar el botn Buscar, los registros se mostrarn en el MSFlexGrid y la etiqueta4 mostrar la cantidad de registros mostrados. El Botn cerrar del formulario se deshabilita para forzar el uso del Men.

Creando la pantalla de Bsquedas9


Crea un formulario, con dos etiquetas, dos cajas de texto, dos botones, un MSFlexGrid y un control Data, cuya propiedad Visible debe ser cambiada a False, para que se vea ms o menos como se ve abajo.

Al igual que el ejercicio anterior, el formulario debe tener un men con la opcin Volver a Opciones. a) El cdigo del formulario Bsquedas9 es: Private Sub Form_Load() MSFlexGrid1.ColWidth(0) = 300 MSFlexGrid1.ColWidth(1) = 800 MSFlexGrid1.ColWidth(2) = 2100 MSFlexGrid1.ColWidth(3) = 2500 MSFlexGrid1.ColWidth(4) = 1000 End Sub Private Sub Form_Unload(Cancel As Integer) Cancel = 1 MsgBox "Haz Clic en Archivo", vbInformation, "Aviso Importante!" End Sub b) El cdigo del men Volver a Opciones es: Private Sub volver_Click() Busquedas9.Hide Opciones.Show End Sub c) El cdigo del Combo1 es: Private Sub Combo1_DropDown() On Error Resume Next Dim q As Long, enlatabla1 As Boolean Data1.Recordset.MoveFirst While Not Data1.Recordset.EOF enlatabla1 = False For q = 0 To Combo1.ListCount - 1 If Combo1.List(q) = Data1.Recordset("carrera") Then enlatabla1 = True Exit For End If Next q If Not enlatabla1 Then Combo1.AddItem Data1.Recordset("carrera") End If Data1.Recordset.MoveNext Wend Dim k As Long, enlatabla2 As Boolean Data1.Recordset.MoveFirst While Not Data1.Recordset.EOF enlatabla2 = False For k = 0 To Combo1.ListCount - 1 If Combo1.List(k) = Data1.Recordset("turno") Then enlatabla2 = True Exit For End If Next k If Not enlatabla2 Then

Combo1.AddItem Data1.Recordset("turno") End If Data1.Recordset.MoveNext Wend End Sub d) El cdigo del botn Buscar es: Private Sub Command1_Click() Data1.RecordSource = "select * from alumnos where carrera like '" & Combo1.Text & "' or turno like '" & Combo1.Text & "'" Data1.Refresh Label2 = "Total de Registros de la Consulta: " & (MSFlexGrid1.Rows) - 1 & "" If Data1.Recordset.EOF Then MsgBox "Selecciona un Campo para ejecutar la Bsqueda", vbInformation, "Selecciona un Campo" Data1.RecordSource = "alumnos" Data1.Refresh Label2 = "Total de Registros de la Consulta: " & (MSFlexGrid1.Rows) - 1 & "" End If End Sub e) El cdigo del botn Todos los Registros es: Private Sub Command2_Click() Data1.RecordSource = "alumnos" Data1.Refresh Label2 = "Total de Registros de la Consulta: " & (MSFlexGrid1.Rows) - 1 & "" End Sub e) Control Data1 No olvides conectar el control Data a la base de datos mediante su propiedad DatabaseName, y a la tabla alumnos mediante su propiedad RecordSource. f) MSFlexGrid1 Del MsFlexGrid modifica su propiedad Cols a 5, DataSource a Data1, Rows a 4, SelectionMode a 1 flexSelectionByRow, tambin puedes seleccionar colores contrastantes em las propiedades BackColorSel y ForeColorSel. g) La etiqueta2 debe tener su propiedad Autosize en True, y la propiedad Caption en nada. Al iniciar el formulario, el usuario podr realizar bsquedas por dos campos usando una sola caja de combo, em la cual se mostrarn los registros de los campos Carrera y Turno, al presionar el botn Buscar, los registros se mostrarn en el MSFlexGrid y la etiqueta2 mostrar la cantidad de registros mostrados. El Botn cerrar del formulario se deshabilita para forzar el uso del Men.

Creando la pantalla de Bsquedas10


Crea un formulario, con dos etiquetas, un botn, un MSFlexGrid y un control Data, cuya propiedad Visible debe ser cambiada a False, para que se vea ms o menos como se ve abajo.

Al igual que el ejercicio anterior, el formulario debe tener un men con la opcin Volver a Opciones. a) El cdigo del formulario Bsquedas10 es: Private Sub Form_Load() MSFlexGrid1.ColWidth(0) = 800 MSFlexGrid1.ColWidth(1) = 2400 MSFlexGrid1.ColWidth(2) = 2500 MSFlexGrid1.ColWidth(3) = 1000 Data1.RecordSource = "alumnos" Data1.Refresh Label2 = "Total de Registros de la Consulta: " & (MSFlexGrid1.Rows) - 1 & "" End Sub Private Sub Form_Unload(Cancel As Integer) Cancel = 1 MsgBox "Haz Clic en Archivo", vbInformation, "Aviso Importante!" End Sub

b) El cdigo del men Volver a Opciones es: Private Sub volveraopciones_Click() Busquedas10.Hide Opciones.Show End Sub c) El cdigo del botn Todos los Registros es: Private Sub Command1_Click() Data1.RecordSource = "alumnos" Data1.Refresh MSFlexGrid1.Refresh Label2 = "Total de Registros de la Consulta: " & (MSFlexGrid1.Rows) - 1 & ""

End Sub d) El cdigo del MSFlexGrid1 es: Private Sub MSFlexGrid1_DblClick() Modificar.Show End Sub Aqu nos damos cuenta que hay que crear un formulario al que llamaremos Modificar, el cual contendr cuatro etiquetas, cuatro cajas de texto, las cuales formarn una matriz, para lo cual sencillamente copiamos la primera caja de texto y cuando Visual nos pregunte: Ya existe un control llamado Text1. Desea crear una matriz de controles? Presionamos el botn S; un botn y un control Data, cuya propiedad Visible debe ser cambiada a False, para que se vea ms o menos como se ve abajo.

e) El cdigo del formulario Modificar es: En General declaramos la variable: Private a(4) As String Private Sub Form_Load() Dim i As Integer With Busquedas10.MSFlexGrid1 For i = 0 To .Cols - 1 Text1(i).Text = .TextMatrix(.Row, i) a(i) = .TextMatrix(.Row, i) Next End With End Sub f) El cdigo del botn Actualizar Registros es: Private Sub Command1_Click() Dim modificar As String modificar = "select * from alumnos where matricula=" & Val(Text1(0)) Data1.RecordSource = modificar Data1.Refresh Data1.Recordset.Edit Data1.Recordset!nombre = Text1(1) Data1.Recordset!carrera = Text1(2) Data1.Recordset!turno = Text1(3) Data1.Recordset.Update Busquedas10.MSFlexGrid1.Clear Unload Me End Sub

g) Control Data1 No olvides conectar el control Data a la base de datos mediante su propiedad DatabaseName, y a la tabla alumnos mediante su propiedad RecordSource. h) La etiqueta2 debe tener su propiedad Autosize en True, y la propiedad Caption en nada. Al iniciar el formulario Bsquedas10, el usuario podr hacer doble clic en cualquier registro para editarlo de forma rpida en el formulario Modificar. Cuando de lleve a cabo la edicin del registro, presionando el botn Todos los Registros, podremos ver el registro actualizado a nuestra conveniencia en el MSFlexGrid y la etiqueta2 mostrar la cantidad de registros mostrados. El Botn cerrar del formulario se deshabilita para forzar el uso del Men. En esta parte del ejercicio vamos a realizar una bsqueda para contar la cantidad de registros que satisfagan cierta condicin, por ejemplo: cuntos alumnos hay que estn inscritos en cierta carrera, turno, etc. Para lo cual crea un formulario con cuatro etiquetas, cuatro cajas de texto, dos MSFlexGrid, un combobox, un botn y dos controles Data, cuya propiedad Visible debe ser cambiada a False, para que se vea ms o menos como se ve abajo.

Al igual que el ejercicio anterior, el formulario debe tener un men con la opcin Volver a Opciones. a) El cdigo del combobox1 es: Private Sub Combo1_DropDown() On Error Resume Next Do Until Data2.Recordset.EOF Combo1.AddItem Data2.Recordset.Fields("carrera") Data2.Recordset.MoveNext Loop

End Sub b) El cdigo del botn Contar Carreras es: Private Sub Command1_Click() Data2.RecordSource = "select count(carrera) as carreras from alumnos where carrera = '" & Combo1 & "'" Data2.Refresh End Sub c) Controles Data No olvides conectar los controles Data a la base de datos mediante su propiedad DatabaseName, y a la tabla alumnos mediante su propiedad RecordSource. d) Selecciona el objeto MSFlexGrid1, en su propiedad DataSource selecciona Data1, modifica su propiedad Cols a 5, cambia su propiedad Rows a 5, el MSFlexGrid2, debe ser conectado con el control Data2, modifica su propiedad Cols a 5, cambia su propiedad Rows a 2, opcionalmente puedes modificar sus propiedades de BackColor de la manera que ms te agrade. Al iniciar el formulario Bsquedas11, el usuario podr seleccionar una carrera de la caja de combo y al presionar el botn Contar Carreras, el MsFlexGrid2 mostrar la cantidad de registros que satisfagan la condicin dada. El Botn cerrar del formulario se deshabilita para forzar el uso del Men. Supongamos que queremos totalizar una columna, por motivos de la tabla que estamos usando sumaremos el total de matrculas. Para este ejercicio crea un formulario con cuatro etiquetas, cuatro cajas de texto, dos MSFlexGrid, un botn y dos controles Data, cuya propiedad Visible debe ser cambiada a False, para que se vea ms o menos como se ve abajo.

Al igual que el ejercicio anterior, el formulario debe tener un men con la opcin Volver a Opciones. a) El cdigo del botn La Suma de Matrculas es: Private Sub Command1_Click() Data2.RecordSource = "select sum(matricula) as suma from alumnos" Data2.Refresh End Sub Enseguida veremos como emplear el control DTPicker para realizar bsquedas por fechas, para lo cual, en la tabla alumnos hay que agregar um campo que se llame fecha_inscripcin, misma que usaremos para las consultas. Crea un formulario con 5 etiquetas y 5 cajas de texto (recuerda que agregamos el campo fecha_inscripcion a la tabla alumnos), incluye un MSFlexGrid, 3 etiquetas, 2 botones, un control Data y 2 DatePicker. Para agregar los DTPicker ve a Proyecto, Componentes, Controles, Microsoft Windows Common Controls-2 6.0, haz clic en Aplicar y Aceptar, y estar disponible en la caja de herramienta. De modo que se vea ms o menos como se ve abajo.

Al igual que el ejercicio anterior, el formulario debe tener un men con la opcin Volver a Opciones. a) El cdigo del botn Bsqueda por Fecha es: Private Sub Command1_Click() Data1.RecordSource = "select * from alumnos where fecha_inscripcion between #" & DTPicker1.Value & "# and #" & DTPicker2.Value & "#"

Data1.Refresh Label6 = "Total de Registros de la bsqueda: " & (MSFlexGrid1.Rows) - 1 & "" If Data1.Recordset.RecordCount = 0 Then MsgBox "No Hay Registros con estos Parmetros" + vbCrLf + "Por Favor Revisa tus Datos", vbInformation, "Aviso Importante!" End If End Sub b) El cdigo del botn Ver todos los Registros es: Private Sub Command2_Click() Data1.RecordSource = "alumnos" Data1.Refresh MSFlexGrid1.Refresh End Sub c) El cdigo del formulario Bsquedas13 es: Private Sub Form_Load() MSFlexGrid1.ColWidth(0) = 400 MSFlexGrid1.ColWidth(1) = 800 MSFlexGrid1.ColWidth(2) = 2300 MSFlexGrid1.ColWidth(3) = 1400 MSFlexGrid1.ColWidth(4) = 900 MSFlexGrid1.ColWidth(5) = 1200 End Sub d) Control Data No olvides conectar el control Data a la base de datos mediante su propiedad DatabaseName, y a la tabla alumnos mediante su propiedad RecordSource. e) Selecciona el objeto MSFlexGrid1, en su propiedad DataSource selecciona Data1, modifica su propiedad Cols a 5, cambia su propiedad Rows a 5, opcionalmente puedes modificar sus propiedades de BackColor de la manera que ms te agrade. Al iniciar el formulario Bsquedas13, el usuario podr seleccionar fechas de los objetos DTPicker para realizar bsquedas al presionar el botn Bsquedas por Fecha, el MsFlexGrid1 mostrar la cantidad de registros que satisfagan la condicin dada.

En parte del ejercicio, veremos algunas formas muy sencillas de imprimir el resultado de las consultas que se muestran em el MSFlexGrid, quiero mencionar que aunque pudieramos emplear un solo formulario, para los ejercicios, por cuestin de sencillez en la explicacin usaremos ms de uno. Para este ejercicio crea un formulario con cuatro etiquetas, cuatro cajas de texto, un MSFlexGrid, tres botones y un control Data, cuya propiedad Visible debe ser cambiada a False, para que se vea ms o menos como se ve abajo.

Al igual que el ejercicio anterior, el formulario debe tener un men con la opcin Volver a Opciones. a) El cdigo del formulario Impresin1 es: Private Sub Form_Load() MSFlexGrid1.ColWidth(0) = 400 MSFlexGrid1.ColWidth(1) = 800 MSFlexGrid1.ColWidth(2) = 2500 MSFlexGrid1.ColWidth(3) = 2000 MSFlexGrid1.ColWidth(4) = 1100 End Sub Private Sub Form_Unload(Cancel As Integer) Cancel = 1 MsgBox "Haz Clic en Archivo", vbInformation, "Aviso Importante!" End Sub b) El cdigo del botn Ocultar Registros es: Private Sub Command1_Click()

MSFlexGrid1.Clear End Sub c) El cdigo del botn Mostrar Registros es: Private Sub Command2_Click() Data1.RecordSource = "alumnos" Data1.Refresh With MSFlexGrid1 For a = 1 To .Rows - 1 .Row = a For B = 1 To .Cols - 1 .Col = B .CellBackColor = IIf((a Mod 2) = 1, Val(&HC0FFFF), Val(&HC0FFC0)) .CellFontBold = True .CellForeColor = &HFF0000 Next B Next a End With End Sub d) El cdigo del botn Imprimir Registros Seleccionados es: Private Sub Command3_Click() Printer.Print MSFlexGrid1.Clip Printer.EndDoc End Sub e) Control Data1 No olvides conectar el control Data a la base de datos mediante su propiedad DatabaseName, y a la tabla alumnos mediante su propiedad RecordSource. f) Selecciona el objeto MSFlexGrid, en su propiedad DataSource selecciona Data1, modifica su propiedad Cols a 5, cambia su propiedad Rows a 5, opcionalmente puedes modificar sus propiedades de BackColor de la manera que ms te agrade. Al iniciar el formulario Impresin1, el usuario podr ver u ocultar los registros mostrados en el MSFlexGrid, y podr imprimir los registros que haya seleccionado del MSFlexGrid. El Botn cerrar del formulario se deshabilita para forzar el uso del Men.

Creando la pantalla de Impresin2


Para este ejercicio crea un formulario con cuatro etiquetas, cuatro cajas de texto, un MSFlexGrid, tres botones y un control Data, cuya propiedad Visible debe ser cambiada a False, para que se vea ms o menos como se ve abajo.

a) El cdigo del botn Imprimir Formulario es: Private Sub Command3_Click() Impresion2.PrintForm Printer.EndDoc End Sub

Creando la pantalla de Impresin3


Para este ejercicio crea un formulario con cuatro etiquetas, cuatro cajas de texto, un MSFlexGrid, tres botones y un control Data, cuya propiedad Visible debe ser cambiada a False, para que se vea ms o menos como se ve abajo.

a) El cdigo del botn Imprimir Registros es: Private Sub Command3_Click() Printer.PaintPicture MSFlexGrid1.Picture, 0, 0 Printer.EndDoc End Sub Tutorial creado por: Teacher: Wilmer Cuellar Poma wmcp@hotmail.com

Você também pode gostar