Anda di halaman 1dari 7

COMPUTACIÓN PRÁCTICA EN COMPUTACIÓN

Lenguaje de Consulta Estructurado –SQL-


Visual Basic / Base de Datos

PRACTICA No. 13 – SQL EN VISUAL BASIC V 6.0 EMPRESARIAL


(7 hojas)

Antes de iniciar con la practica deberás de convertir la base de datos “Listado de personal.mdb” que posee
formato Access XP, a formato anterior, ya que Visual Basic no reconoce el formato actual de Access 2000,
para ello solo tendrás que acceder a Access XP y emplear la opción “Convertir a una versión anterior de la
base de datos Access….” del menú “Herramientas/Utilidades de la base de datos/Convertir base de
datos”, cuando guardes o salves dicha base de datos te recomiendo llámala: Listado personal.mdb”

En primer lugar deberás de tener instalado en tu PC el lenguaje de programación: Visual Basic versión 6
Empresarial, así como el control DBGRID32.OCX. Iniciamos de inmediato: después de haber activado Visual
Basic e indicado en Archivo/Nuevo proyecto/EXE estándar, deberás activar la opción Componentes (o CTRL +
T) del menú Proyecto y habilitar la opción: “Microsoft Data Bound Grid Control 5.0 (SP3)” como lo indica la
siguiente imagen:

y enseguida al oprimir el botón Aplicar, deberá de aparecer el control DBgrid en el cuadro de Herramientas,
finalmente oprime el botón Aceptar:

Prof.Carlos Montiel Rentería Practica 13 Email: prof_montiel@hotmail.com página: 1


COMPUTACIÓN PRÁCTICA EN COMPUTACIÓN
Lenguaje de Consulta Estructurado –SQL-
Visual Basic / Base de Datos

El objetivo de la presente practica es la de construir una herramienta para poder evaluar los resultados de
nuestros primeros experimentos de SQL en Visual Basic.

 Colocaremos un DataControl dentro del Form1


empleando el icono Data que se halla
en el cuadro de Herramientas.

Ahora oprime la tecla F4 para modificar sus propiedades. Colocaremos su propiedad DatabaseName en
“Listado personal.mdb” (es obvio que ya conoces esta Base de datos) y su propiedad RecordSource en
“personal”. Para mostrar los datos provenientes del DataControl, colocaremos un DBGrid sobre la

Form1, para ello oprime el icono DBGrid que se encuentra en el cuadro de Herramientas, y colócalo dentro de
la Form1. Hasta este punto, la apariencia del formulario será parecida a ésta:

Enseguida establecemos su propiedad DataSource al valor Data1, que es el nombre por omisión del primer
DataControl que situamos sobre cualquier formulario (en este caso: Form1). Necesitamos un modo de
poder escribir cada sentencia SELECT que vamos a enviar hacia dicho DataControl. Para ello situaremos
una caja de texto (TextBox), haz clic en el botón arrástralo y colócalo en Form1, asegurando que su
propiedad MultiLine este en “True”, esto nos permitirá enviar sentencias SELECT que consten de
varias líneas y la propiedad Text que contenga espacios, es decir, eliminar la leyenda Text1 de la caja de texto.

Agregaremos dos botones de comando a Form1, uno de ellos permitirá ejecutar la sentencia SQL que se
haya introducido en la caja de texto “Text1” y el segundo limpiará el área de texto de la caja de texto “Text1”:

Haz clic en el botón “Command Button”, - botón de comando -, arrástralo y colócalo en la Form1, ya colocado,
coloca en su propiedad Caption la palabra “Ejecutar”, enseguida haz doble clic en él para introducir su código,
que deberá de ser: (es obvio que sólo el texto en negrillas es el que vas a introducir, abusado(a)!!!!)

Prof.Carlos Montiel Rentería Practica 13 Email: prof_montiel@hotmail.com página: 2


COMPUTACIÓN PRÁCTICA EN COMPUTACIÓN
Lenguaje de Consulta Estructurado –SQL-
Visual Basic / Base de Datos

Private Sub Command1_Click()


On Error GoTo Orale
Data1.RecordSource = Text1.Text
Data1.Refresh
Exit Sub
Orale:
MsgBox Err.Description
End Sub

La finalidad de haber agregado la instrucción On Error ...., simplemente es para evitar la molestia de que al
cometer un error al introducir una sentencia SQL terminase la ejecución del programa, de esta manera se tiene
la oportunidad de volver a teclear de nuevo la sentencia, obviamente después de hacer clic en “Aceptar” en el
cuadro del mensaje de error.

De igual manera para el segundo botón de comando, coloca en su propiedad Caption las palabras: “Limpiar
caja de texto”, y deberá de tener el código siguiente:

Private Sub Command2_Click()


Text1.Text = ""
End Sub

Hasta este momento, nuestro Form1 deberá ser semejante a la siguiente imagen:

Ya sólo nos queda oprimir la tecla F5 o seleccionar la opción Iniciar del menú Ejecutar para ver cómo aparecen
inicialmente los registros o filas de la tabla de personal de nuestra base de datos “Listado personal.mdb”, tal
como lo muestra la siguiente imagen:

Prof.Carlos Montiel Rentería Practica 13 Email: prof_montiel@hotmail.com página: 3


COMPUTACIÓN PRÁCTICA EN COMPUTACIÓN
Lenguaje de Consulta Estructurado –SQL-
Visual Basic / Base de Datos

Haz clic en la caja de texto “Text1”, y escribe:

SELECT nombre, apellidos, [fecha de ingreso], [salario base]


FROM personal
WHERE ( [fecha de ingreso] > #01/01/99# ) AND ( [salario base] > 8000 )
ORDER BY apellidos;

Por lo que al oprimir el botón Ejecutar, Visual Basic responderá:

Prof.Carlos Montiel Rentería Practica 13 Email: prof_montiel@hotmail.com página: 4


COMPUTACIÓN PRÁCTICA EN COMPUTACIÓN
Lenguaje de Consulta Estructurado –SQL-
Visual Basic / Base de Datos

Como podrás comprobar, efectivamente sólo muestra aquellos registros cuya fecha de ingreso es mayor de
“01/01/99” y el salario base es mayor de $8,000.00.

USO DE MULTIPLES TABLAS

Para efectuar consultas a varias tablas simultáneamente, bastará con indicar los nombres en la cláusula FROM,
para ello oprime el botón “Limpiar caja de texto” y teclea:

SELECT nombre, apellidos, telefono, despacho, planta


FROM personal, despachos
WHERE personal.[numero personal] = despachos.[numero personal];

Al ejecutar la sentencia SQL, Visual Basic responde:

 Ahora haremos otra consulta, supongamos que deseamos consultar a aquellos empleados que pertenezcan
a la planta 1 o 2, mostrando solamente. nombre, apellidos, fecha de ingreso y la planta, ordenados por
planta (ASCendente), entonces teclee:

SELECT nombre, apellidos, [fecha de ingreso], planta


FROM personal INNER JOIN despachos on personal.[numero personal] = despachos.[numero personal]
WHERE planta = "1" OR planta = "2"
ORDER BY planta;

Visual Basic responde:


Prof.Carlos Montiel Rentería Practica 13 Email: prof_montiel@hotmail.com página: 5
COMPUTACIÓN PRÁCTICA EN COMPUTACIÓN
Lenguaje de Consulta Estructurado –SQL-
Visual Basic / Base de Datos

En esta consulta se tuvo que emplear la cláusula INNER JOIN, de lo contrario Visual Basic nos hubiera
respondido erróneamente, este mecanismo es más adecuado para enlazar tablas a través de sus claves
externas.

 Finalmente, para terminar el presente documento haremos la siguiente consulta:

SELECT personal.[numero personal], nombre, apellidos, [salario base]*1.05 AS [Nuevo Salario], planta
FROM personal INNER JOIN despachos ON personal.[numero personal] = despachos.[numero personal]
WHERE planta = "2"
ORDER BY apellidos;

Es decir, deseamos agregar un 5% al salario de los empleados que pertenezcan a la planta 2, mostrando solo
los campos numero del personal (deberá ser calificado), nombre, apellidos, nuevo salario (campo nuevo,
donde se reflejará el aumento del salario) y planta, clasificados por apellidos (ASCendente).

Prof.Carlos Montiel Rentería Practica 13 Email: prof_montiel@hotmail.com página: 6


COMPUTACIÓN PRÁCTICA EN COMPUTACIÓN
Lenguaje de Consulta Estructurado –SQL-
Visual Basic / Base de Datos

Visual Basic responde:

Bueno, esto es todo por el momento; nos vemos en la siguiente practica, bye... :- )

Prof.Carlos Montiel Rentería Practica 13 Email: prof_montiel@hotmail.com página: 7

Anda mungkin juga menyukai