Curso Visual Basic Práctico
Entrega Nº 4
2 de Noviembre de 1998 |
Autor: Mario Rosas León |
Para: Web del Programador |
Primero. |
Disculpas a todos los que esperabais esta entrega ya que ha salido un poco tarde, ya sabeis, el resfriado, el trabajo, en fin, mucho estres.
Además tambien quiero aclarar un problema que hubo en la entrega anterior sobre el control Data. Algunas personas han preguntado cual es el control Data, así que es el que tiene este iconito en la barra de herramientas:
En la anterior entrega creamos el primer formulario de entrada de datos, ahora realizaremos otro formulario para modificar, eliminar y ver los datos que tenemos introducidos. Yo lo llamo Mantenimiento de los Datos.
Preparados porque comenzamos 10 ... 9 ... 8 ... 7 ... 6 ... 5 ... 4 ... 3 ... 2 ... 1 ... Lanzamiento (por eso de Pedro Duque).
En este formulario, como he dicho antes, podremos ver, modificar y eliminar los datos que ya tenemos introducidos.
Así que, como en la entrega anterior, comenzaremos realizando el formulario. Venga, pulsad en el icono de VB y comenzamos.
Cargad el proyecto del organizador multimedia y seguiremos.
Como ya dije en la entrega anterior, creamos un formulario nuevo y ponemos las siguientes propiedades:
Ya hemos creado el formulario, establecemos el ancho y alto según las necesidades y continuamos.
Creamos, tal y como dije en la entrega anterior, las mismas etiquetas y cajas de texto que en el formulario de entrada de datos. Podeis utilizar Copiar y Pegar si quereis.
Una vez con todas las etiquetas y cajas de texto añadiremos el control DBGrid. Si no lo tenemos en la barra de herramientas debemos hacer lo siguiente: Proyecto - Componentes. Una vez dentro seleccionar el control Microsoft Data Bound Grid como indica la imagen.
Añadimos tres botones, Modificar, Eliminar y Volver.
Ahora vamos a poner el control data (antes que el DBGrid) para poder modificar, ver y eliminar los datos. El objetivo será que, al pulsar en una fila del DBGrid se muestren los datos en las cajas de texto y en ese momento poder modificarlo o eliminarlo.
Añadimos el control Data y cambiamos las propiedades por:
Ya tenemos la base de datos enlazada y podemos añadir el DBGrid. Este control va a mostrar los datos del control Data por líneas (un registro en cada línea y un campo en cada columna).
Lo ponemos y tendremos algo así:
Ahora cambiaremos las propiedades del control DBGrid.
Eso es lo que pondremos, ahora cargamos los campos a mostrar de la siguiente forma:
Nos colocamos encima del control DBGrid con el ratón y pulsamos el botón derecho. Escogemos la opción Recuperar Campos y, fijate, obtendremos los siguiente:
Si queremos podemos cambiar el ancho de las columnas con el comando Editar (pulsando el botón derecho del ratón encima del DBGrid) o cambiar las propiedades del control.
Ahora enlazaremos las cajas de texto y los combo box con la base de datos de la siguiente forma:
El primero será el txtFecha, lo enlazaremos con el campo Fecha del control data. Cambiaremos las siguientes propiedades de la caja de texto txtFecha:
DataSource=dbMul
DataField=fecha
La semana pasada cambie a VB6, este te permite otra propiedad que es el formato (la cual no está en VB5).
El campo txtFecha ya está enlazado, haremos lo mismo para los demás pero cambiando los campos por los correspondientes.
Una vez terminado podemos ver el resultado (bueno antes hay que llamar a este formulario desde el menú principal, pero eso sabeis ya como se hace, o no?).
Probad a ejecutar la aplicación y vereis el resultado (pero antes debeis introducir algunos datos).
Ahora, debemos continuar con el código que pondremos, primero empezaremos por el evento Load del formulario. Pulsamos doble en el formulario (no en cualquier control sino en el fondo, en el formulario) y aparecerá la ventana de código y el primer evento del formulario que es el Load (que suerte no?). Pues empezaremos con él con el siguiente código:
Anterior:
Opción: Mantenimiento de Datos.
frmMantenimiento
Propiedad
Valor
Descripción
Name
frmMantenimiento
Nombre del formulario, para referirnos a
él.
BorderStyle
3 - Fixed Dialog
Como dije en la Entrega 1
Caption
Mantenimiento de Datos
Título del formulario
StartUpPosition
2 - Center Screen
Posición del formulario cuando se carga.
dbMul
Propiedad
Valor
Descripción
Name
dbMul
Nombre del control Data
Caption
dbMul
Ponemos el nombre que nosotros vemos en
diseño
DataBaseName
Ruta de la Base de Datos
Pues eso
RecordSource
Multimedia
Tabla que vamos a utilizar
Visible
False
Que en ejecución no se vea
dbgMalla
Propiedad
Valor
Descripción
Name
dbgMallal
Nombre del control DBGrid
DataSource
dbMul
El control data con el que enlazamos
Private Sub Form_Load()
' añadimos las categorías y tipos
comTipo.AddItem "CD-Música"
comTipo.AddItem "CD-ROM"
comTipo.AddItem "CD-I"
comTipo.AddItem "Video-CD"
comTipo.AddItem "DVD"
comTipo.AddItem "Cassette"
comTipo.AddItem "Vinilo"
comTipo.AddItem "VHS"
comTipo.AddItem "BETA"
comTipo.AddItem "Diskette 3 1/2"
comTipo.AddItem "Diskette 5 1/4"
comTipo.AddItem "Disco ZIP 100"
comTipo.AddItem "Disco ZIP 50"
comTipo.AddItem "Backup"
comContenido.AddItem "Pop"
comContenido.AddItem "Rock"
comContenido.AddItem "New Age"
comContenido.AddItem "B.S.O."
comContenido.AddItem "Música Otros"
comContenido.AddItem "Aventura"
comContenido.AddItem "Arcade"
comContenido.AddItem "Emuladores"
comContenido.AddItem "Programación"
comContenido.AddItem "Ordenador Otros"
End Sub
Es como en el formulario de entrada, simplemente para que al modificar tengamos también todas las opciones
Por último pondremos el código de los botones: cmbEliminar, cmbModificar y cmbVolver, en el evento Click de cada uno de ellos.
Private Sub cmbVolver_Click()
Unload Me
End Sub
Y aqui está el de cmbModificar, que será.
Private Sub cmbModificar_Click()
dbMul.RecordSet.Edit
dbMul.RecordSet.Update
End Sub
Ahora el de Eliminar:
Private Sub cmbEliminar_Click()
dbMul.RecordSet.Delete
dbMul.Refresh
End Sub
Y preguntareis algunos, ¿ya está?. Pues no, este modo es el más fácil pero ocasiona muchos problemas como indico aqui:
1. Al pulsar en el control DBGrid nos deja modificar los campos, probad a pulsar en cualquier celda y modificarla. El problema llega al tener que validar una entrada como, por ejemplo, la fecha (poned una fecha incorrecta verás que chow).
2. La base de datos se modifica sin tener que pulsar en el botón modificar.
3. No se realizan las comprobaciones pertinentes de fechas, longitudes, etc que son necesarias como indiqué en el código de la opción Añadir en la entrega anterior.
4. En fin, esto no es una aplicación comercial en absoluto. Fallará mas que una escopeta de caña.
Intentad solucionarlo y en la próxima entrega indicaré cómo hacerlo, pero intentarlo es lo que cuenta.
Por último comentar un par de cosas:
a) En la imagen de arriba (componentes) podeis ver que el control DBGrid tiene al final lo siguiente (SP3). Quizás el vuestro no lo tenga, esto es que yo tengo instalado el Service Pack 3 que no es, ni mas ni menos, que un paquete para solucionar errores en los componentes de VB. Quizás vosotros no llegueis a ver esos errores (en el caso de que no tengais el SP3) pero siempre es conveniente. Por otra parte, no debeis preocuparos si no lo teneis, pero podeis bajarlo de internet desde la web de microsoft (aunque son unas 13 Mb).
b) Gracias a todos los que seguis este curso y perdonad por lo tarde que ha llegado esta entrega, espero poder ser más puntual a partir de ahora.
Esto es todo, por ahora. En la siguiente entrega veremos 'algo' de SQL. Y digo 'algo' porque es un tema demasiado extenso, quizás podreis ver por ahi algún manual en condiciones.
Download del código fuente hasta ahora: AQUI
Hasta pronto.... hay que ver lo alto que ha llegado el Pedro Duque, ¿tendrán Internet ahi arriba?, ¿Estará viendo este curso?, y si lo esta viendo ¿Es que se aburre tanto ahi arriba?. Esto es como un Expediente X. Preguntas sin respuesta.
Autor: Mario Rosas León Santaella - Córdoba (España) Para: Web del Programador