0% encontró este documento útil (0 votos)
162 vistas33 páginas

Apuntes de Base de Datos Con Visual Basic

Este documento proporciona instrucciones paso a paso para crear una base de datos en Access y luego vincularla a un proyecto de Visual Basic para crear un formulario que permita agregar, modificar y eliminar registros. Incluye cómo crear tablas, campos, formularios, botones de acción y consultas para llevar a cabo las operaciones CRUD básicas en la base de datos.

Cargado por

djvscribd
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
162 vistas33 páginas

Apuntes de Base de Datos Con Visual Basic

Este documento proporciona instrucciones paso a paso para crear una base de datos en Access y luego vincularla a un proyecto de Visual Basic para crear un formulario que permita agregar, modificar y eliminar registros. Incluye cómo crear tablas, campos, formularios, botones de acción y consultas para llevar a cabo las operaciones CRUD básicas en la base de datos.

Cargado por

djvscribd
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 33

Abrir Access.

Elegir Base de datos en blanco.


Escribir el nombre de la Base de Datos. Ej: “BDEscuela” y aparecerá lo siguiente:

Pulsamos en la escuadra y el lápiz y nos pedirá el nombre de nuestra tabla:

Escribimos el nombre. Por ej: “Alumnos” y pulsamos Aceptar.


Nos aparecerá lo siguiente:

Escribimos los campos que requiere la tabla. En nuestro caso: DNI, Apellido, Nombre, Dirección, Tel, Fecha de
Nacimiento y colocamos los tipos de datos que contendrán dichos campos: Texto, Texto, Texto, Texto, Texto,
Fecha/Hora… y quedará así:

Nota: Se sugiere escribir los nombres de los campos todo pegado como por ej: FechaNacim.

Luego de colocar todos los campos de la tabla, se guarda haciendo clic con el botón derecho en la ficha de la misma
tabla.

Profesor: Damián Vidoret. Página 1


Luego se cierra el programa.

Luego se abre el Visual Basic.


Se crea un nuevo proyecto llamado: “Escuela”
Se diseña el formulario de la siguiente manera:

Nota: el formulario tiene: 1 MaskedTextBox; 4 TextBox; 1 DateTimePicker; 1 Button y 1 DataGridView.

Se colocan los nombres a los objetos y se dan las propiedades que sean necesarias.

Luego se agrega la Base de Datos.


Se va al menú: Datos y se elige: “Agregar nuevo origen de datos”

Al cuadro que aparece pulsamos Siguiente

Luego, Siguiente.
Luego, “Nueva conexión…”

Profesor: Damián Vidoret. Página 2


Elegimos: “Archivo de base de datos de Microsoft Access” y pulsamos Aceptar.

Luego en el otro cuadro que nos aparece, pulsamos en el botón “Examinar”.

Buscamos la Base de datos que creamos. (Por lo general estará en Documentos).

Nota: es posible que se encuentre con la extensión accdb y el icono es una llave de color rojizo o liliácea como se
muestra en la imagen.

Borramos el Nombre usuario. En vez de Admin, no va nada.

Pulsamos Aceptar.

Pulsamos Siguiente, del cuadro grande.


Profesor: Damián Vidoret. Página 3
Nos aparecerá lo siguiente:

Pulsamos en “Sí”.

Nos aparece lo siguiente:

Pulsamos Siguiente.
Tildamos las 2 casillas de verificación:

Y pulsamos “Finalizar”

Si nos fijamos en nuestro Explorador de soluciones aparecerán 3 archivos nuevos:

Profesor: Damián Vidoret. Página 4


Los que más nos interesan son: BDEscuela.mdb, que es la base de datos (En su caso puede figurar con la extensión
accdb) y el archivo BDEscuelaDataSet.xsd.

Elegimos la Base de Datos, y le cambiamos la propiedad: “Copiar en el directorio de resultados” elegimos  “Copiar
si es posterior”.
Esto es para que no se blanqueen nuestros datos (en la Base de datos) cada vez que hacemos una modificación en el
código.

Bien… ya tenemos la Base de datos y el DataSet… ahora lo que falta es enlazar al Formulario.
Para eso, nos dirigimos al formulario y elegimos la grilla y luego el triangulito de la esquina (1).

Des tildamos las opciones indicadas con (2) y (3) si es que acaso no queremos realizar esas cosas en la grilla. Por lo
general esto sucede cuando se quiere visualizar los datos que se agregaron y también sirve para modificar los
mismos; pero no se pueden agregar datos manualmente en la grilla ni eliminarlos de la misma forma.

Luego se elige el origen de datos.

Se amplía todos los triangulitos de la rama del árbol hasta encontrar la tabla que queremos.
Una vez visualizada la tabla, la elegimos.

Se mostrarán los nombres de los campos en la grilla.

Profesor: Damián Vidoret. Página 5


Y también aparecerán 3 controles debajo de la ventana donde se encuentra el formulario.

Luego en nuestro formulario, hacemos doble clic en el Botón de Guardar, para empezar a programar.

En la parte del código, colocamos lo siguiente:

La función Insert, Inserta valores en nuestra tabla en la Base de Datos.


Cuando colocamos el paréntesis, nos irá mostrando los campos que posee dicha tabla, los cuales iremos agregando
colocando comas, como muestra el ejemplo. Al mismo tiempo que vayamos escribiendo los campos, se irán
resaltando en negrita.
En esta función, se colocarán los las cosas que se quieran guardar en la tabla; en nuestro caso son 5 TextBox y 1
DateTimePicker; todos con la propiedad text.

La función debería quedar así:

Luego de hacer la función Insert, se la debe refrescar con la línea de código que se crea sola en el evento load del
formulario.

Para una mejor estética del programa, se deben limpiar los cuadros de texto, cuadros desplegables, DataTimePicker,
o los controles que se hayan usado o que contengan texto. Y también se focaliza en primer cuadro de texto o el
control que queramos que tenga el cursor titilando o el foco.
Para eso, colocamos:

Podemos probar nuestro código, haciendo clic en el triangulo verde (o pulsando F5).

Hasta ahí, solo agregamos valores en nuestra tabla que se encuentra en la BD.

Ahora vamos a hacer modificaciones en la grilla.


Colocamos un nuevo Botón, llamado: Modificar.
En la programación del mismo colocamos:

Profesor: Damián Vidoret. Página 6


Como vemos, después del paréntesis de Update, nos sale el nombre de nuestro DataSet, en nuestro caso:
BDEscuelaDataSet. Pues entonces, colocamos el mismo.
Nos quedaría de la siguiente manera:

Y también hacemos un refresco:

Este tipo de actualización (o modificación) se realiza cuando hacemos cambios en una grilla y queremos guardar los
mismos.

Ahora pasaremos a eliminar un registro.


Para eso, debemos crear una consulta en nuestra tabla que se encuentra en el DataSet.
Para ello, hacemos doble clic en el Dataset que se encuentra en nuestro explorador de Soluciones.

Y nos aparecerá lo siguiente:

En la tabla que figura en nuestro DataSet, hacemos 1 clic en Fill, GetData() para que quede seleccionado y luego
sobre el mismo, 1 clic con el botón derecho del mouse.
Nos mostrará el siguiente cuadro:

Profesor: Damián Vidoret. Página 7


Elegimos Agregar consulta…

Al cuadro que aparece presionamos Siguiente>

Elegimos la opción de Delete y presionamos Siguiente>

Profesor: Damián Vidoret. Página 8


Del cuadro que nos aparece, seleccionamos desde el primer AND hasta el final, como se muestra en la imagen.
Y completamos la función, agregándole un paréntesis de cierre más; quedando de esta forma:

Y pulsamos en Siguiente>

Nos pide que le creemos un nombre a nuestra función. En nuestro caso le colocaremos Eliminar y luego pulsamos en
Siguiente>
Nos aparecerá otro cuadro en donde solo nos queda la opción de Finalizar.

En nuestra tabla, nos aparecerá la función creada.

Bien… ahora regresamos al formulario y colocaremos un nuevo botón llamado: Eliminar.


Y en el código, escribimos:

Profesor: Damián Vidoret. Página 9


Obsérvese:

En d, se guarda el DNI que se encuentra seleccionado en la grilla.


El cero, es la posición de la columna donde se encuentra el DNI.
Y GridDatos.CurrentRow.Index es la posición actual en que está seleccionado.

En el mensaje, debemos colocar con comillas dobles, todo el texto fijo que queramos que muestre nuestro mensaje,
si se observa, está intercalado con más (+) las variables que contienen los valores del DNI, Apellido y Nombre y luego
de haber puesto todo lo que queremos mostrar, deberemos colocar una coma (,) y elegir YesNo y cerrar paréntesis.
Esto es muy importante, ya que, si no lo hacemos, nuestro cuadro de mensaje no tendrá los botones de Sí y No y
solo tendrá el botón de Aceptar.
Después del paréntesis, lo tendremos que igualar con Yes o con No, según prefiramos.

También… fíjese que después de haber hecho la eliminación, se hace un refresco.

Hacemos clic con el botón derecho del mouse en nuestra Base de Datos que está en el explorador de soluciones.
Y elegimos… Abrir con…
Nos saldrá un cuadro en el que tenemos que elegir “Microsoft Access” y presionamos Aceptar.
Se abrirá la base de datos con el programa Access
Luego hacemos clic en la ficha “Crear” y hacemos clic en “Diseño de Tabla”.

Rellenamos los nombres de los campos y colocamos los tipos de datos, como se muestra en la imagen de arriba.
Luego, en el campo de CodMateria hacemos clic con el botón derecho del mouse y establecemos la clave principal.

Profesor: Damián Vidoret. Página 10


El campo DNIProfesor es una clave foránea, por lo tanto, se la deja como está.
Por último, guardamos nuestra tabla como “Materias” y cerramos el Access.
Y cerramos el Access. Esto se hace para que no origine conflictos con el Visual Basic, ya que el mismo también debe
abrir la base de datos y si la encuentra abierta cuando se quiere insertar un registro; mostrará un error.

En nuestro proyecto de VB; si hacemos doble clic en nuestro DataSet, observamos que la nueva tabla no se
encuentra… entonces… ¿qué pasó?
Recordemos que la agregamos en la BD, no en el DataSet.
Entonces… para agregar la tabla al DataSet, se hace lo siguiente:
Hacemos doble clic en nuestra BD en el explorador de soluciones y nos mostrará a la izquierda, el explorador de base
de datos.

Expandimos el triangulito donde dice “Tablas” y nos mostrará lo siguiente.

Si por algún motivo, la tabla que creamos, no aparece, debemos hacer un clic con el botón derecho del mouse acá:
Y elegimos, Actualizar.

Ahora… arrastramos la tabla a nuestro DataSet, quedando de esta manera:

Luego, insertamos otro formulario, haciendo clic con el botón derecho del mouse en el Explorador de Soluciones y
elegimos la opción que se muestra en la imagen.

Profesor: Damián Vidoret. Página 11


Le damos el nombre de “Materias” y pulsamos Agregar.
En nuestro nuevo formulario, colocamos los controles que creamos que sean convenientes para el uso del usuario.

En el desplegable de Curso, hacemos clic en el triangulito y elegimos, “Editar elementos”.


Luego escribimos:
1ro.
2do.
3ro.
Y presionamos Aceptar.

Este texto permanecerá fijo en nuestro desplegable y a la hora de desplegarlo, mostrará dichos valores.

Le colocamos nombre a todos los controles que estén en el formulario.


Enlazamos la grilla con la tabla correspondiente.

Profesor: Damián Vidoret. Página 12


Recordar que se cliquea en los triangulitos hasta encontrar la tabla.
Y por último se elige la tabla.

Programamos el botón Guardar. Hacemos un Insert con la tabla de Materias y una actualización de la misma.

Como vemos… en nuestro ejemplo… la Materia está asociada a un Profesor; pero no tenemos ningún profesor
guardado; o más bien, no tenemos ninguna tabla de Profesores. Por lo tanto, deberíamos crear una tabla de
profesores. Así que crearemos dicha tabla de la misma manera que creamos la tabla de Materias, quedando de esta
manera:

Guardamos la tabla como “Profesores”.


Y hacemos lo mismo que hicimos para traer nuestra tabla al DataSet.
Luego en nuestro formulario de Materias, enlazaremos los desplegables de DNI Prof., Apellido Prof. y Nombre Prof.
Para enlazar un desplegable, se elige el mismo, y desde el triangulito, se tilda la casilla “Usar elementos enlazados a
datos”

Y nos aparece esto:

En “Origen de datos”, desplegamos y luego vamos cliqueando los triangulitos del árbol hasta que encontremos la
tabla con la que queremos enlazarlo.

Profesor: Damián Vidoret. Página 13


En nuestro caso, elegiremos “Profesores”.
Nos aparecerá debajo de la ventana donde se encuentra el formulario, un Tableadapter y un BindingSource
relacionados con la tabla de Profesores.

Luego, en Mostrar miembro, elegimos, lo que queremos mostrar; en nuestro caso, el DNI.
Y en Miembro Valor, siempre elegiremos la clave principal; o sea: DNI.
Quedando de la siguiente manera:

En el desplegable de Apellido Prof., hacemos lo mismo…


Lo elegimos, pulsamos el triangulito y tildamos la casilla.
Pero… ¡¡¡ATENCIÓN!!!... NUESTRO FORMULARIO YA ESTÁ ENLAZADO CON PROFESORES, POR LO CUAL SE ELIGE EL
BINDINGSOURCE DEL MISMO. (NUNCA SE DEBE VOLVER A ELEGIR LA TABLA COMO HICIMOS ANTES, DEBIDO A QUE
EL FORMULARIO YA ESTÁ ENLAZADO)

En mostrar miembro, elijo: “Apellido

Profesor: Damián Vidoret. Página 14


En miembro valor. Elijo: DNI.
Lo mismo, para el cuadro desplegable de Nombre Prof.

Como no tenemos ingresados profesores en nuestra BD, deberemos cargar algunos.


Para eso está el botón de “Agregar Prof.”
En la programación del mismo, deberemos llamar al formulario de Profesores que aún no hemos creado.
Creamos el formulario Profesores.

En la propiedad Name, le damos el nombre: FrmProfesores.


Bien…
Ahora volvemos al formulario de Materias y en el código del botón “Agregar Prof.”, colocamos lo siguiente:

Volvemos al formulario de Profesores.


Enlazamos la grilla.
Y en el botón de Guardar, hacemos un Insert.
Hacemos un refresco.
Y luego, hacemos un refresco en el formulario de Materias.
Hacemos esto, para que los datos que guardamos en el formulario de Profesores se actualicen también en el
formulario de Materias.

Los cuadros de texto y desplegables, deben contener algo, porque sino se genera un error.

Bien…
Ya hemos creado varios formularios.
Para una mejor organización, se creará un formulario MDI principal que contendrá los formularios que hemos
creado; el mismo tendrá menús desde los cuales se llamarán a los formularios.

Entonces… para crear un formulario MDI, se hace lo mismo que se hace para agregar formularios; nada más que se
elige “Formulario primario MDI”, como muestra la figura:

Profesor: Damián Vidoret. Página 15


Le escribimos “Principal” y presionamos “Agregar” y nos mostrará el siguiente formulario:

Cambiamos la propiedad WindowsState a Maximized

Eliminamos la barra de herramientas y también todos los menús hasta dejarlo así:

Hacemos doble clic en el formulario y eliminamos todo el código que se creó solo.
Solo dejamos el Public Class y el End Class
Así:

El Imports, también lo borramos.


Profesor: Damián Vidoret. Página 16
Luego, volvemos al diseño y en la barra de menús, escribimos lo siguiente:

Hacemos doble clic en el menú “Alumnos”.


Programamos lo siguiente:

Lo mismo hacemos con el menú Profesores y Materias.

Si ejecutamos nuestro programa, nos aparecerá el formulario de Alumnos. Por lo tanto, deberemos cambiar el
formulario que queremos que inicie cuando ejecutemos nuestro programa.
Para hacer esto, debemos hacer clic con el botón derecho en el nombre de nuestro proyecto en la ventana de
Explorador de soluciones y elegir “Propiedades”

Nos aparecerá lo siguiente:

Profesor: Damián Vidoret. Página 17


En el desplegable de “Formulario de inicio” elegimos el formulario “FrmPrincipal”.

Ejecutamos nuestro programa con play (o F5) y vemos que aparece nuestro formulario principal.
Lo cerramos y seguimos programando…

Modificaremos la tabla de Alumnos en nuestra BD.


Abrimos nuestra BD desde Visual Basic, como ya sabemos.
Luego abrimos la tabla de Alumnos de la siguiente forma:

Cambiamos la tabla de tal forma que nos quede como acá:

Si hacemos clic en nuestro DataSet, veremos que nuestra tabla no se actualizó.


Pero si hacemos un doble clic en nuestra BD y expandimos con el triangulito la tabla de Alumnos, veremos que están
los campos que creamos. Por lo tanto, para que se actualice en nuestro Dataset, debemos quitar la misma,
seleccionándola y presionando la tecla <SUPR>.
Luego volvemos a arrastrar la tabla a nuestro DataSet y volvemos a crear nuestra consulta de Eliminar.

PRECAUCIÓN!!: Si se elimina una tabla del DataSet, luego debe ser colocada, sino ocasiona un fallo en el formulario
que no se encuentre la tabla. Por lo tanto, si no se va a usar una tabla en un formulario, debe eliminarse primero en
el formulario y luego en el DataSet.

En el formulario, debemos eliminar estas tres cosas:

Profesor: Damián Vidoret. Página 18


En el código, debemos sacar las 2 líneas que crea el programa cuando hacemos un enlace.
Y luego, volvemos a enlazar nuestra grilla con la tabla que hemos modificado.

Continuamos y nos ponemos a rediseñar el formulario de Alumnos, de la siguiente forma:

Como vemos, se colocaron objetos que hacían falta y, además, se quitó la grilla y se colocó otra enlazada con la tabla
de alumnos. Además, se colocó un control OpenFileDialog para abrir la imagen o foto del alumno.
En el desplegable de piso, se cargarán los valores de 0 a 255; esto se realiza en el evento Load del formulario,
quedando de la siguiente manera:

En el desplegable de piso, se cargarán las letras de la ‘A’ a la ‘Z’.


En el evento Load colocamos:

En los desplegables de País, Provincia, Departamento y Ciudad, establecemos las siguientes propiedades:

En el botón Guardar, modificaremos nuestro código de la siguiente manera:

Profesor: Damián Vidoret. Página 19


Como vemos, la tabla de Alumno, posee una ciudad de nacimiento y una ciudad actual que proviene de los
desplegables correspondientes; por lo tanto, si no hay nada elegido en nuestros desplegables se generará un error
en la función Insert.
Entonces, pasaremos a ver como agregamos lugares (o sea: Países, Provincias, Departamentos y Ciudades)

Agregamos un nuevo formulario, llamado: Lugar.


Establecemos su nombre a FrmLugar.
Y lo diseñamos de la siguiente manera:

Volvemos al formulario de Alumnos y programamos el botón de “Agregar Lugar o Modificarlo”.

En nuestra base de datos agregamos las siguientes tablas:

Profesor: Damián Vidoret. Página 20


Después de agregar nuestras tablas, las relacionaremos.
Para eso, elegimos la ficha “Herramientas de base de datos” y luego relaciones.

Luego se elige la tabla que queramos agregar y pulsamos “Agregar” y cerramos el cuadro una vez agregadas todas
nuestras tablas.

Luego para relacionarlas, se arrastra la clave principal desde la tabla primaria a la clave foránea de la tabla
secundaria. Ej.: de País se arrastra CodPais, a la tabla de Provincia y se suelta en CodPais.

Nos aparecerá lo siguiente:

Profesor: Damián Vidoret. Página 21


Tildamos las casillas que se muestran en la imagen y luego pulsamos “Crear”.
Se mostrará lo siguiente:

Y así procedemos con las demás tablas.


Si queremos mostrar en una grilla nuestros datos, deberemos crear una consulta (o vista).
Esto se debe a que nuestros datos se encuentran almacenados en diferentes tablas, pero tienen dependencia (o
están relacionados) entre sí.
Entonces… para hacer una consulta, hacemos clic en Crear y luego en “Asistente para consultas”, como muestra la
imagen.

Nos aparece el siguiente cuadro:

Elegimos “Asistente para consultas sencillas” y luego pulsamos Aceptar.

Profesor: Damián Vidoret. Página 22


Luego deberemos elegir la tabla (1), elegimos el campo que queremos agregar en la consulta (2) y pulsamos la
flechita (3) para que pase dicho campo a la consulta.

Se repiten los pasos 1, 2 y 3 hasta que los campos seleccionados queden como se muestra en la imagen de abajo.

El orden de los campos seleccionados es el orden en que se mostrará en la grilla.


Cuando terminamos de colocar nuestros campos, pulsamos Siguiente.

Elegimos Detalle y pulsamos siguiente.


Escribimos el nombre de nuestra consulta (o vista) y pulsamos Finalizar.
Luego cerramos la tabla que nos aparece.

Cerramos el Access y regresamos al Visual Basic y en el DataSet, colocamos todas las tablas que hemos creado.

Como observamos, se encuentran enlazadas.

La consulta, no se encuentra dentro de la carpeta Tablas en nuestro explorador de bases de datos; aquella se
encuentra dentro la carpeta Vistas.

Profesor: Damián Vidoret. Página 23


Arrastramos la vista al DataSet.

En el formulario de Lugar, enlazamos nuestros desplegables con las tablas, los miembros a mostrar y los miembros
valores, correspondientes.
También enlazamos la grilla a la vista y en la grilla des tildamos todas las opciones para que solo se pueda elegir y no
modificar.

Nos ponemos a programar…


Hacemos doble clic en el desplegable de País.
Arriba, fuera del evento escribimos el siguiente código:

Estas serán banderas que se activarán (o se colocarán en verdadero) cuando se presione alguna tecla en el cuadro de
texto del despegable; esto indica que se está escribiendo en el mismo. En el caso de elegir un elemento de la lista, la
variable se colocará en falso.
En definitiva… sirven para ver si se escribió o no en el cuadro de texto del desplegable.

Y dentro, lo siguiente:

Nota: en el filtro se escribe (con comillas dobles) el campo que se quiere filtrar seguido de un igual y luego se le
agrega con más el valor por el que se lo quiere filtrar; en nuestro caso, el SelectedValue del País que se seleccionó en
el desplegable del País. Este filtro, filtrará todas las provincias que tengan como número de país lo que se haya
elegido en el desplegable de país.

Luego, elegimos el evento KeyPress del desplegable de país y en el código escribimos lo siguiente:

Lo mismo hacemos con Provincia y Departamento, quedando de esta manera:

Profesor: Damián Vidoret. Página 24


Y en el botón guardar, colocamos lo siguiente:

Explicación: lo que hacen los IF es preguntar si se escribió en el cuadro de texto del desplegable, si se escribió,
entonces agrega el texto a la tabla; sino, guarda en la variable el código del elemento elegido.
Luego de haber insertado o no los nuevos registros, se eliminan todos los filtros y se hace un refresco de todas las
tablas y vistas. Por último, se limpian todos los cuadros de texto de los desplegables.

Profesor: Damián Vidoret. Página 25


Aclaración: Este código puede almacenar valores vacíos, por lo que tendremos que controlar más adelante.
Al mismo tiempo, también falta que se actualice en el formulario de Alumnos.

Importante!!
Habría que enlazar los desplegables correspondientes a País, Provincia, Departamento y Localidad en el formulario
de Alumnos. Como pueden ser 2 lugares diferentes (el de nacimiento y el actual) se tendrá que elegir nuevamente el
origen de datos para los desplegables que queramos que tengan un origen diferente. Esto se realiza ya que si se elije
el mismo origen de datos tanto en el lugar de nacimiento como en el actual; al momento de elegir en uno, cambian
los datos en el otro. Por eso se elige un origen diferente. Quedando así los Bindingsource con un 1 al final.
Además, al código de arriba, habría que agregarle después el refresco de todas las tablas (en este formulario); el
refresco en el formulario de alumnos. Así de esta manera, ya veremos dichos datos agregados en ese formulario.
Quedaría así:

Ahora nos ponemos a escribir el código para modificar un valor de la grilla.


En el botón Modificar colocamos:

Cuando realizamos la inserción de datos en la tabla, se nos puede olvidar la clave principal (o primaria) que ya hemos
introducido previamente; si es así, nuestro programa se detendrá diciendo que ya hay una clave principal igual.
Para evitar esto, debemos preguntar antes de guardar los datos, si ya existe una clave igual a la que queremos
insertar en la tabla.
Entonces, realizamos lo siguiente:

Profesor: Damián Vidoret. Página 26


Muchas veces necesitamos datos de campos que dependen del número de registro.
Por ejemplo, si se desea saber el precio de un artículo a través de la descripción que se eligió en un desplegable.
Veámoslo más detalladamente.
Nuestra tabla en la base de datos, contiene lo siguiente.

Y en nuestro formulario, enlazamos al desplegable de esta manera:

Como se ve, no existe nada que traiga el precio unitario de nuestro producto, por lo tanto, debemos programar lo
siguiente:
En el evento SelectedIndexChanged del cuadro desplegable, escribimos lo siguiente:

Profesor: Damián Vidoret. Página 27


El método (o la función) GetData busca el número de la fila de la tabla (indicada en los paréntesis) y devuelve el valor
del campo que se quiere obtener. (O sea devuelve el precio unitario que coincida con el índice de lo que se haya
elegido en el desplegable).
Veamos un ejemplo para que quede más claro.
En nuestra tabla, ya tenemos ingresados los siguientes datos:

Nota: Las filas pintadas de celeste corresponden a el nombre de los campos y el número de fila (el cual no es
ingresado).

Nuestro desplegable tendrá los siguientes valores:

Los índices de nuestro desplegable, coinciden con los números de filas en nuestra tabla (Más allá de si se elimina
algún artículo, los índices y las filas serán los mismos).
En nuestro caso, en el desplegable, tenemos:

Como se ve, los índices del desplegable, son iguales que los números de fila de la tabla.
En el caso que se elimine alguno, los índices se reajustarán para coincidir en ambos casos.

Entonces…
Cuando se elige: Ciruela, se está eligiendo también el índice 2 del desplegable.
Y luego, para obtener el precio unitario que corresponda con la fila 2, se usa la función GetData.

Dicho de otra manera:


En el cuadro de texto guardo el precio unitario que coincide con el índice elegido en el desplegable.

A veces necesitamos hacer un filtro de nuestros datos y mostrar solamente los que cumplan determinados valores
que se encuentren entre tal y tal valor.
Por lo general se usa este filtro con las fechas y con valores numéricos.
Veamos un ejemplo de filtro entre fechas.
Nuestro formulario, tiene los siguientes controles:

Profesor: Damián Vidoret. Página 28


Para hacer el filtro, debemos…
1ro) Se enlaza la grilla a la tabla a la cual queremos realizar el filtro.
2do) Se hace clic en el triangulito de la esquina de la grilla y se elige “Agregar Consulta”

Nos aparecerá lo siguiente:

3ro) Presionamos el botón de “generador de consultas…”

Profesor: Damián Vidoret. Página 29


Nos aparecerá lo siguiente:

Acá debemos realizar el filtro en la columna de “Filtro”, de ésta manera:

4to) Escribimos en la fila correspondiente a FechaElaboración: >=? Y en la columna “O”: <=?; quedando de esta
manera:

La sentencia SQL debería quedar como se muestra en la imagen

5to) Hay que cambiar la sentencia SQL. Donde hay un OR, debe ser reemplazado por un AND.

Se presiona “Aceptar”

6to) Luego se escribe un nombre de consulta

Profesor: Damián Vidoret. Página 30


7mo) Se borra lo que se muestra en la imagen.

Y en el código del botón “Filtrar” colocamos lo que generó por sí solo el programa. (Lo cortamos de la subrutina y lo
pegamos en el botón).

Como se ve, hay 2 cuadros de texto que figuran con error…


Ahí va… por un lado la fecha inicial y por el otro la fecha final; las mismas las dan nuestros controles de Fecha (o
DateTimePicker). Por lo tanto, reemplazamos nuestros cuadros de texto por los DateTimePicker correspondientes.

Si deseamos saber el valor más alto de un campo de la tabla, debemos abrir nuestro Dataset y luego hacer una
consulta en la tabla.
Suponiendo que ya hemos cargado (o insertado) los valores en la tabla, procedemos a realizar el siguiente
formulario:

Profesor: Damián Vidoret. Página 31


Como se ve, la grilla ya está enlazada
Ahora procedemos a hacer una consulta en la tabla en el DataSet

Al cuadro que nos aparece, presionamos Siguiente.


Luego elegimos lo siguiente:

Pulsamos en el botón “Generador de consultas…”


En el cuadro que nos aparece, seleccionamos la fila que se muestra en la imagen y la eliminamos

Luego en la tabla tildamos la casilla en la que queremos obtener el valor máximo


En la grilla de abajo colocamos en alias “Máximo” y en la columna de “Agrupar por” elegimos “Max”.
Nuestra grilla y nuestra sentencia SQL tiene que quedar así:

Luego presionamos Aceptar.


Profesor: Damián Vidoret. Página 32
Luego Siguiente.
Y por último, escribimos el nombre de nuestra función.

Pulsamos en Siguiente y luego en Finalizar.

Ahora en nuestro formulario, programamos el botón “Ver valor Máximo”

Nota: si se quiere buscar el valor más pequeño, se realiza lo mismo, pero en vez de usar Max, se usa Min.

IMPORTANTE!!!
Además de las funciones MAX y MIN, podemos realizar la suma de todos los registros de un determinado campo,
eligiendo la función SUM; si se quiere saber el promedio, se elige AVG; si se quiere averiguar cuantos registros tiene
la tabla, se usa COUNT (que es el predeterminado).

Veamos un ejemplo…
Tenemos nuestra tabla llamada “Empleados” y dentro de ella, almacenamos:
 El DNI.
 El Apellido.
 El Nombre.
 La Dirección.
 La Fecha de Nacimiento.
 El Salario

Y supongamos que nos piden que filtremos todos los Apellidos y Nombres de empleados que tengan el salario mayor
al promedio de los salarios ingresados.

En nuestra tabla en el DataSet, deberemos agregar una consulta “SELECT que devuelve filas” (la primera opción del
asistente de consultas) y luego escribir manualmente toda nuestra consulta de la siguiente manera.

SELECT Apellido, Nombre FROM Empleados WHERE Salario > (SELECT AVG(Salario) FROM Empleados)

Y al finalizar el asistente, le damos un nombre a nuestra función.

Profesor: Damián Vidoret. Página 33

También podría gustarte