revista base de datos y visual studio
TRANSCRIPT
0
3-8-2015
BASE DE DATOS Y VISUAL STUDIO 2010 REVISTA CON CONOCIEMINETOS BASICOS Y
EJEMPLOS
LENGUAJE DE PROGRAMACION JHOSELYN ZAPATA
1
CONTENIDO
INTRODUCCION ............................................................................................................................................... 1
USO DE CONTROLES ....................................................................................................................................... 1
EVENTOS ............................................................................................................................................................ 2
CUADRO DE HERRAMIENTAS ........................................................................................................................ 2
COMO ACTIVAR UN PDF EN VISUAL STUDIO ............................................................................................ 3
ACCESS. .............................................................................................................................................................. 4
CREAR UNA BASE DE DATOS ......................................................................................................................... 4
CREAR UNA BASE DE DATOS EN BLANCO ............................................................................................ 4
Agregar una tabla .................................................................................................................................. 5
CREAR BASE DE DATOS EN SQL SERVER 2005/2008 ............................................................................... 6
PROGRAMA 1 ................................................................................................................................................. 13
PROGRAMA 3 ................................................................................................................................................. 26
PROGRAMA 4 ................................................................................................................................................. 32
PROGRAMA 5 ................................................................................................................................................. 39
PROGRAMA 6 ................................................................................................................................................. 49
PROGRAMA 7 ................................................................................................................................................. 56
BIBLIOGRAFIA. ................................................................................................................................................ 65
1
INTRODUCCION
La combinación de Microsoft Access y Microsoft Visual Basic nos proporciona una excelente
herramienta para la creación 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.
Explica cómo crear una base de datos de escritorio mediante una plantilla y cómo crear una
base de datos desde SQLSERVER desde cero creando sus propias tablas, formularios, informes
y otros objetos de base de datos.
USO DE CONTROLES
PROPIEDADES
• Todos los controles disponen de una serie de propiedades las cuales podemos cambiar al incluirlos en nuestras aplicaciones. Ejemplos de propiedades son el color, el tipo de letra, el nombre, el texto, etc...
METODOS
• Son procedimientos asociados a los controles, es decir, rutinas ya establecidas que podemos invocar desde nuestras aplicaciones para que se realice alguna operación sobre el control.
EVENTOS
• Son acciones que pueden ser motivadas por el propio usuario o por mismo sistema operactivo. Ejemplos pueden ser el movimiento del raton o hacer click sobre su botón.
• En Visual Basic digamos que se utiliza la programación orientada a eventos, lo cual es una de las diferencias más importantes respecto a la programación lineal de MS DOS.
2
EVENTOS
MouseMove Al mover el ratón por encima del control.
Mousedown Al pulsar cualquier botón del ratón.
Change Al cambiar el contenido del control.
Click Al hacer clic con el botón izquierdo del ratón sobre el control.
Doubleclick Al hacer doble clic con él con el botón izquierdo del ratón sobre el control.
Getfocus Este evento se activa cuando el control recibe el enfoque, es decir, cuando se activa el control en tiempo de ejecución para introducir datos en él o realizar alguna operación.
Lostfocus Es el contrario del anterior evento, se activa cuando el control pierde el enfoque, es decir, se pasa a otro control para seguir introduciendo datos.
CUADRO DE HERRAMIENTAS
Este control es también uno de los más utilizados, aunque su utilidad queda restringida a la visualización de datos en el mismo, no permitiendo la introducción de datos por parte del usuario.
Mediante este control podremos realizar tanto la entrada como la salida de datos en nuestras aplicaciones.
Permite al usuario hacer clic en él para ejecutar una acción.
Nos permiten seleccionar varias opciones marcando el cuadrito que aparece a su izquierda. El cuadrito pulsado equivale a un "sí" y sin pulsar a un "no" o, lo que es lo mismo, a "true" o "false".
Permite a los usuarios seleccionar uno o varios elementos de una lista predefinida.
Se utiliza para mostrar datos en un cuadro combinado desplegable. De forma predeterminada, el control ComboBox aparece en dos partes.
Se utiliza para mostrar y cargar archivos de imagen
Permite al usuario seleccionar una única opción de un grupo de opciones cuando está emparejado con otros controles de RadioButton.
El control TabControl de Windows Forms muestra múltiples fichas, similares a los divisores de un cuaderno o a las etiquetas de un conjunto de carpetas de un archivador. Las fichas pueden contener imágenes y otros controles. Use TabControl para crear páginas de propiedades.
Me permite mostrar vistas de solo lectura de una pequeña cantidad de datos, o puede ampliarlo para mostrar vistas editables de conjuntos de datos muy grandes.
Puede almacenar el informe en una aplicación Web o para Windows, con uno de los controles de visores de Crystal Reports para Visual Studio. La presentación de informes, tanto en clientes
3
Windows como en HTML 3.2 ó 4.0, es muy interactiva y proporciona funciones como la profundización en gráficos, la exploración de informes y la búsqueda de texto.
Con esta opción puedo ingresar documentos PDF en un formulario de Visual Studio
Es un control real que se ubica en un formulario en tiempo de diseño; sin embargo, no se ve en tiempo de ejecución.
COMO ACTIVAR UN PDF EN VISUAL STUDIO
Damos click derecho en el cuadro de herramientas y escogemos la opción elegir
elementos.
Ingresamos a la opción de componentes COM y escogemos la opción Adobe PDF
Reader.
En el cuadro de herramientas se aparece el siguiente icono.
4
ACCESS.
Al iniciarse Access por primera vez o al cerrarse una base de datos sin que se cierre Access, se
muestra la vista Backstage de Microsoft Office.
CREAR UNA BASE DE DATOS
Una base de datos en blanco Puede comenzar desde cero si lo desea. Es una buena opción si
tiene requisitos de diseño muy específicos o si dispone de datos que necesita adaptar o
incorporar.
CREAR UNA BASE DE DATOS EN BLANCO
1. En la ficha Archivo, haga clic en Nuevo y después en Base de datos en blanco.
2. En el panel derecho, en Base de datos en blanco, escriba un nombre de archivo en el
cuadro Nombre de archivo. Para cambiar la ubicación predeterminada del archivo, haga clic
en Buscar una ubicación donde colocar la base de datos (situado junto al cuadro Nombre
de archivo), busque la nueva ubicación y, a continuación, haga clic en Aceptar.
3. Haga clic en Crear.
Access crea la base de datos con una tabla vacía denominada Tabla1 y, a continuación, abre
Tabla1 en la vista Hoja de datos. El cursor se sitúa en la primera celda vacía de la columna Haga
clic para agregar.
4. Comience a escribir para agregar datos o pegue datos desde otro origen, tal y como se
describe en la secciónCopiar los datos de otro origen en una tabla de Access.
Escribir datos en la vista Hoja de datos es muy similar a trabajar en una hoja de cálculo de
Excel. La estructura de la tabla se crea conforme se escriben los datos. Cuando se agrega una
nueva columna a la hoja de datos, se define un nuevo campo en la tabla. Access define
automáticamente el tipo de datos de cada campo en función de los datos que escribe.
Si, de momento, no desea escribir datos en Tabla1, haga clic en Cerrar . Si realizó cambios
en la tabla, Access le pedirá que guarde los cambios. Haga clic en Sí para guardar los cambios,
en No para descartarlos o en Cancelarpara dejar la tabla abierta.
Si cierra Tabla1 sin guardar los cambios al menos una vez, Access elimina toda la tabla,
aunque haya escrito datos en ella.
5
Agregar una tabla
Puede agregar nuevas tablas a una base de datos existente mediante los comandos del
grupo Tablas en la pestañaCrear.
Crear una tabla empezando en la vista Hoja de datos En la vista Hoja de datos, puede escribir
datos inmediatamente y dejar que Access cree la estructura de la tabla en segundo plano. Los
nombres de los campos se asignan mediante números (Campo1, Campo2, etc.) y Access define
automáticamente el tipo de datos de cada campo en función de los datos que escribe.
1. En el grupo Tablas de la ficha Crear, haga clic en Tabla.
Access crea la tabla y selecciona la primera celda vacía de la columna Haga clic para agregar.
2. En la ficha Campos, en el grupo Agregar y eliminar, haga clic en el tipo de campo que desee
agregar. Si no ve el tipo que desea, haga clic en Más campos .
Access muestra una lista de tipos de campo usados regularmente. Haga clic en el tipo de
campo que desee y Access agrega el nuevo campo a la hoja de datos en el punto de inserción.
Puede mover el campo arrastrándolo. Al arrastrar un campo a una hoja de datos, aparece una
barra de inserción vertical, que le indica dónde se colocará el campo.
3. Para agregar datos, comience a escribir en la primera celda vacía o pegue datos de otro origen,
tal y como se describe en la sección Copiar los datos de otro origen en una tabla de Access.
4. Para cambiar el nombre de una columna (campo), haga doble clic en el encabezado de
columna y escriba el nuevo nombre.
Debería asignar un nombre significativo a cada campo que le permita saber qué contiene
cuando lo examine en el panel Lista de campos.
5. Para mover una columna, haga clic en su encabezado para seleccionar la columna y, a
continuación, arrastre la columna a la ubicación que desee.
Puede seleccionar también varias columnas contiguas y arrastrarlas todas de una vez a una
nueva ubicación. Para seleccionar varias columnas contiguas, haga clic en el título de la
primera columna y, a continuación, con la tecla MAYÚS presionada, haga clic en el título de la
última columna.
Propiedad Descripción
Tamaño del Para los campos de texto, esta propiedad define el número máximo de caracteres que se
6
campo puede almacenar en el campo. El valor máximo es 255. Para los campos numéricos, esta
propiedad define el tipo de número que se va a almacenar (Entero largo, Doble, etc.). Para
permitir un almacenamiento de los datos más eficaz, es aconsejable asignar la menor
cantidad de espacio prevista para los datos. Puede aumentar ese valor posteriormente si
cambian sus necesidades.
Formato
Esta propiedad define el modo en que se muestran los datos. No afecta a los datos reales
cuando se almacenan en el campo. Puede seleccionar un formato predefinido o especificar
un formato personalizado.
Máscara de
entrada
Utilice esta propiedad para especificar un modelo para todos los datos que se incluyan en
este campo. De este modo, se asegurará de que todos los datos se escriben correctamente y
contienen el número de caracteres necesario. Para obtener ayuda en la creación de una
máscara de entrada, haga clic en situado en el margen derecho del cuadro de
propiedades.
Valor
predeterminado
Utilice esta propiedad para especificar el valor predeterminado que aparecerá en este
campo cada vez que se agregue un nuevo registro. Por ejemplo, si hay un campo de
fecha/hora en el que siempre desea registrar la fecha en la que se agregó el registro, puede
escribir "Fecha()" (sin las comillas dobles) como valor predeterminado.
Requerido
Esta propiedad indica si un valor es necesario en este campo. Si establece esta propiedad
enSí, Access no permite que se agregue un nuevo registro a menos que se especifique un
valor para este campo.
CREAR BASE DE DATOS EN SQL SERVER 2005/2008
Para el ejemplo vamos a crear una base de datos llamada “bd2010” la cual contendrá 3 tablas
(estudiantes, cursos y matriculas).
Abrimos SQL Managment Studio (Inicio – Todos los programas – Microsoft SQL Server 2005 –
SQL Server Management Studio Express) como se muestra en la siguiente imagen:
Al momento de conectar al servidor, cambiemos el nombre del servidor
a (local)\SQLEXPRESScomo se muestra en la imagen:
7
Luego creamos la base de datos con sus respectivas tablas:
Ingresamos el nombre de la base de datos en este ejemplo “bd2010” y presionamos el botón
aceptar, como se muestra en la imagen:
Creación de la tabla estudiantes
Luego en el explorador de objetos buscamos la nueva base de datos que acabamos de crear,
desplegamos el arbol y en la carpeta tablas hacemos clic derecho “Nueva tabla…”
8
Creamos la tabla estudiantes con los siguientes campos: identificacion, pri_nom, seg_nom,
pri_ape, seg_ape, genero, telefono, direccion, los tipos de datos son como se muestra en la
siguiente imagen:
Establecemos como identificación principal la cedula:
Presionamos el botón guardar y digitamos el nombre de la tabla en este caso “estudiantes”
Creación de la tabla cursos:
Nuevamente hacemos clic derecho sobre la carpeta tablas y seleccionamos la opción “Nueva
tabla…” como se ilustra a continuación:
La tabla contara con dos campos id y nombre, los tipos de datos son como se muestra en la
siguiente imagen:
Establecemos la cedula como clave principal ¸
9
Presionamos guardar y escribimos el nombre de la tabla “cursos”
Creación de la tabla matriculas
La tabla matriculas tendra 4 campos id, id_estudiante, id_curso y fecha_matricula,
nuevamente hacemos clic derecho sobre la carpeta tablas y seleccionamos la opción “Nueva
tabla…” como se ilustra a continuación:
Luego de crear la tabla hacemos clic derecho sobre el campo id y seleccionamos la opción
establecer clave principal:
Por ultimo hacemos clic en la opción guardar y escribimos el nombre de la tabla “matriculas”
Creación del diagrama de la base de datos
10
Hacemos clic derecho sobre la carpeta “Diagramas de bases de datos”, nos aparecerá una
ventana haciendo una pregunta a la cual responderemos “yes”
Nuevamente hacemos clic derecho sobre la carpeta “Diagramas de bases de datos” y
seleccionamos la opción “Nuevo diagrama de bases de datos”
Seleccionamos las tres tablas, pulsamos el botón agregar y luego cerrar:
Luego organizamos las 3 tablas de esta manera:
Seleccionamos la llave principal (llave primaria) de la tabla estudiantes (identificación) y
presionando el botón izquierdo del Mouse arrastramos la llave (identificación) hasta la tabla
matriculas
11
Presionamos el botón aceptar, y repetimos los mismos pasos con la tabla cursos, el resultado
final se muestra en la siguiente imagen:
Damos clic en cambiar correspondiente al campo origen de datos y se no mostrará unaventana
como la de abajo, ahí verificamos que este seleccionado Microsoft SQL Server y damos en
aceptar.Una vez de haber seleccionado el origen de dato, continuamos con la ventana
de propiedades de conexión
Seleccionamos el nombre del servidor con que deseamos trabajar para nuestro
caso el nombre de nuestro servidor tiene el nombre de: (local).Una forma de darnos cuenta
cual es el nombre de nuestro servidor es iniciando SQLServer 2008 y la primer ventana que se
nos muestra podemos visualizar el nombre del servidor, como en el ejemplo que se muestra
12
Otra forma de conocer el nombre de nuestro servidor es, situándonos en nuestrainterfaz de
sql, seleccionamos la opción conectar y luego seleccionamos la opciónMotor de Bases de
datos..
13
PROGRAMA 1
ENUNCIADO
Diseñe una base de datos para solicitar los datos básicos del usuario, concatenarla con Visual
Studio mediante formularios y agregue los botones eliminar, actualizar, buscar y editar.
ANÁLISIS
Creamos una base de datos en Acces, en la cual vamos incluir 6 campos de datos personales en
donde ingresaremos la información requerida de una empresa, información que enlazaremos a
nuestro aplicativo de visual Studio.
Una vez creada nuestra base de datos en Access, creamos los formularios necesarios en Visual
Studio 2010, en los que programaremos nuestra aplicación, además de esto utilizaremos
labels, textboxes, botones, pictures boxes e imágenes para desarrollar el diseño.
DOCUMENTACIÓN EN ACCESS
En Access, crearemos una base de datos llamada datospersonales.
En nuestra tabla por defecto agregamos los campos que vamos a necesitar:
En cada campo escogemos el tipo de dato que vamos a utilizar en este caso utilizaremos tipos
de dato de texto y numero.
Guardamos todos los cambios realizados en nuestra tabla bajo esta condición:
La base de datos debe guardarse como Microsoft Access Database (.mdb) o base de datos
2000-2003, de esta manera podrá ser compatible con nuestro aplicativo de VS10.
DOCUMENTACIÓN EN VISUAL STUDIO 2010
Creamos un nuevo proyecto para empezar, guardándolo donde sea de nuestro agrado, en este
caso lo nombraremos “3.datos”.
Una vez realizado esto debemos irnos a las propiedades de nuestro aplicativo: A la opción de
compilación/opciones de compilación avanzadas
14
Nos aparecerá una ventana en la que debemos cambiar la opción de .NET Framework Cliente
Profile únicamente por .NET Framework:
De esta forma:
Una vez realizado eso podremos unir nuestra base de datos de la siguiente manera:
En el menú Datos, escogemos la opción: agregar nuevo origen de datos:
Especificamos el tipo de dato de origen, en este caso una base de datos:
En nueva conexión escogemos la opción de “Nueva Conexión” y aceptamos
En esta ventana escogemos las tablas y las vistas para presentar en nuestro aplicativo y
finalizamos.
Seguido a ello llamamos los datos de nuestra base a nuestro aplicativo. Mediante la misma
opción de Datos, en la opción Mostrar orígenes de datos.
Ahora proseguiremos a documentar la codificación de cada uno de los formularios y objetos.
15
CODIFICACIÓN
Public Class Form1
Private Sub DatosBindingNavigatorSaveItem_Click(ByVal sender
As System.Object, ByVal e As System.EventArgs) Handles DatosBindingNavigatorSaveItem.Click
Me.Validate()
Me.DatosBindingSource.EndEdit()
Me.TableAdapterManager.UpdateAll(Me.DatospersonalesDataSet)
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles MyBase.Load
'TODO: esta línea de código carga datos en la tabla 'Datospersonales
DataSet.datos' Puede moverla o quitarla según sea necesario.
Me.DatosTableAdapter.Fill(Me.DatospersonalesDataSet.datos)
End Sub
End Class
Public Class Form2
Private Sub DatosBindingNavigatorSaveItem_Click(ByVal sender As
System.Object, ByVal e As System.EventArgs) Handles DatosBindingNavigatorSaveItem.Click
Me.Validate()
Me.DatosBindingSource.EndEdit()
Me.TableAdapterManager.UpdateAll(Me.DatospersonalesDataSet)
End Sub
Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
'TODO: esta línea de código carga datos en la tabla 'Datospersonales
DataSet.datos' Puede moverla o quitarla según sea necesario.
Me.DatosTableAdapter.Fill(Me.DatospersonalesDataSet.datos)
End Sub
Private Sub editar_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles editar.Click
Me.DatosTableAdapter.editar(CedulaTextBox.Text, NombreTextBox.
Text, ApellidoTextBox.Text, EdadTextBox.Text, DireccionTextBox.Text,
TelefonoTextBox.Text, CedulaTextBox.Text)
Me.DatosTableAdapter.Fill(Me.DatospersonalesDataSet.datos)
Este código carga
datos en la tabla
'DatospersonalesData
Set.datos' se puede
moverla o quitar
según sea necesario
Este código carga
datos en la tabla
'DatospersonalesData
Set.datos' se puede
moverla o quitar
según sea necesario
Este código nos va a
permitir editar los
datos guardados en
la base de datos
16
End Sub
Private Sub eliminar_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles eliminar.Click
MsgBox("Seguro Desea eliminar", MsgBoxStyle.OkCancel)
If MsgBoxStyle.OkCancel = 0 Then
Me.DatosTableAdapter.eliminar(CedulaTextBox.Text)
'Para actualizar la tabla'
Me.DatosTableAdapter.Fill(Me.DatospersonalesDataSet.datos)
End If
End Sub
Private Sub buscar_Click(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles buscar.Click
Me.DatosTableAdapter.FillBy(Me.DatospersonalesDataSet.datos,
CedulaTextBox.Text)
End Sub
Private Sub actualizar_Click(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles actualizar.Click
Me.DatosTableAdapter.Fill(Me.DatospersonalesDataSet.datos)
End Sub
Private Sub CedulaTextBox_KeyPress(ByVal sender As Object,
ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles
CedulaTextBox.KeyPress
If Char.IsDigit(e.KeyChar) Then
e.Handled = False
ElseIf Char.IsControl(e.KeyChar) Then
e.Handled = False
Else
e.Handled = True
End If
End Sub
Private Sub NombreTextBox_KeyPress(ByVal sender As Object,
ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles
Este código nos va a
permitir eliminar los
datos que ya no nos
sirve en la base de
datos
Este código nos va a
permitir buscar los
datos que de la
persona que
necesitemos
Este código nos va a
permitir bloquear el
ingreso de letras en el
TexBox
Este código nos va a
permitir bloquear el
ingreso de letras en el
TexBox
Esta línea de código
es para actualizar la
tabal
17
NombreTextBox.
KeyPress
If Char.IsLetter(e.KeyChar) Then
e.Handled = False
ElseIf Char.IsControl(e.KeyChar) Then
e.Handled = False
Else
e.Handled = True
End If
End Sub
End Class
CORRIDO DEL PROGRAMA
Fin de la clse
18
PROGRAMA 2
ENUNCIADO:
Diseñe una base de datos para solicitar información básica del usuario y concatenarla con
visual studio mediante formularios.
ANÁLISIS
Para realizar esta aplicación primero debemos crear una base de datos en acces, en la cual
vamos incluir 7 campos de datos personales en donde ingresaremos la información requerida
de una empesa, información que enlazaremos a nuestro aplicativo de visual studio.
Una vez creada nuestra base de datos en Access, creamos los formularios necesarios en Visual
Studio 2010, en los que programaremos nuestra aplicación, además de esto utilizaremos
labels, textboxes, botones, pictures boxes e imágenes para desarrollar el diseño.
DOCUMENTACIÓN EN ACCESS
En Access, crearemos una base de datos llamada Base de datos1
En nuestra tabla por defecto agrareamos los campos que vamos a necesitar:
En cada campo escogemos el tipo de dato que vamos a utilizar en este caso utilzaremos tipos
de dato de texto “corto”
De igual forma en las propiedades generales de cada campo establecemos el tamaño de dato
que vamos a utilizar
19
Una vez listos nuestros campos, guardamos la tabla creada, dando clic derecho en la opción
“Vista Diseño”. La llamaremos “datos generales”
Llenamos los datos de cada campo.
Guardamos todos los cambios realizados en nuestra tabla bajo esta condición:
La base de datos debe guardarse como Microsoft Access Database (.mdb) o base de datos
2000-2003, de esta manera podrá ser compatible con nuestro aplicativo de VS10.
Documentación en Visual Studio 2010:
Creamos un nuevo proyecto para empezar, guardándolo donde sea de nuestro agrado, en este
caso lo nombraremos “3.datos”.
Una vez realizado esto debemos irnos a las propiedades de nuestro aplicativo: A la opción de
compilación/opciones de compilación avanzadas
20
Nos aparecerá una ventana en la que debemos cambiar la opción de .NET Framework Cliente
Profile únicamente por .NET Framework:
De esta forma:
Una vez realizado eso podremos unir nuestra base de datos de la siguiente manera:
En el menú Datos, escogemos la opción: agregar nuevo origen de datos:
Especificamos el tipo de dato de origen, en este caso una base de datos:
En nueva conexión escogemos la opción de “Nueva Conexión” y aceptamos
21
En esta ventana escogemos las tablas y las vistas para presentar en nuestro aplicativo y
finalizamos.
Seguido a ello llamamos los datos de nuestra base a nuestro aplicativo. Mediante la misma
opción de Datos, en la opción Mostrar orígenes de datos.
Ahora proseguiremos a documentar la codificación de cada uno de los formularios y objetos.
CODIFICACIÓN
Private Sub IngresosToolStripMenuItem_Click(ByVal sender As
System.Object, ByVal e As System.EventArgs)
Handles IngresosToolStripMenuItem.Click
Form1.Show()
End Sub
Private Sub EditorToolStripMenuItem_Click(ByVal sender As
System.Object, ByVal e As System.EventArgs)
Handles EditorToolStripMenuItem.Click
Form4.Show()
End Sub
Private Sub GeneralToolStripMenuItem_Click(ByVal sender As
System.Object, ByVal e As System.EventArgs)
Handles GeneralToolStripMenuItem.Click
Form2.Show()
End Sub
Private Sub CiudadToolStripMenuItem_Click(ByVal sender As
System.Object, ByVal e As System.EventArgs)
Handles CiudadToolStripMenuItem.Click
Form5.Show() End Sub
Private Sub NOMBRETextBox_KeyPress(ByVal sender As
A través del
menú strip
llamamos en
cada opción
a cada
formulario
que usemos
en el
aplicativo.
22
Object, ByVal e As System.Windows.Forms.KeyPress
EventArgs) Handles NOMBRETextBox.KeyPress
If Char.IsLetter(e.KeyChar) Then
e.Handled = False
ElseIf Char.IsControl(e.KeyChar) Then
e.Handled = False
Else
e.Handled = True
End If
End Sub
Private Sub APELLIDOTextBox_KeyPress(ByVal sender As
Object, ByVal e As System.Windows.Forms.KeyPress
EventArgs) Handles APELLIDOTextBox.KeyPress
If Char.IsLetter(e.KeyChar) Then
e.Handled = False
ElseIf Char.IsControl(e.KeyChar) Then
e.Handled = False
Else
e.Handled = True
End If
End Sub
Private Sub CIUDADTextBox_KeyPress(ByVal sender As
Object, ByVal e As System.Windows.Forms.KeyPress
EventArgs) Handles CIUDADTextBox.KeyPress
If Char.IsLetter(e.KeyChar) Then
e.Handled = False
ElseIf Char.IsControl(e.KeyChar) Then
e.Handled = False
Else
e.Handled = True
End If
End Sub
Private Sub DIRECCIONTextBox_KeyPress(ByVal sender As
Object, ByVal e As System.Windows.Forms.KeyPress
Validamos el
textbox
nombre del
primer
formulario
para que
permite solo
ingreso de
texto
Validamos
textbox
apellido del
primer
formulario
para que
permite solo
ingreso de
texto
Validamos
textbox
ciudad del
primer
formulario
para que
permite solo
ingreso de
texto
23
EventArgs) Handles DIRECCIONTextBox.KeyPress
If Char.IsLetter(e.KeyChar) Then
e.Handled = False
ElseIf Char.IsControl(e.KeyChar) Then
e.Handled = False
Else
e.Handled = True
End If End Sub
Private Sub CEDULATextBox_KeyPress(ByVal sender As
Object, ByVal e As System.Windows.Forms.KeyPress
EventArgs) Handles CEDULATextBox.KeyPress
If Char.IsDigit(e.KeyChar) Then
e.Handled = False
ElseIf Char.IsControl(e.KeyChar) Then
e.Handled = False
Else
e.Handled = True
End If
End Sub
Private Sub TELEFONOTextBox_KeyPress(ByVal sender As
Object, ByVal e As System.Windows.Forms.KeyPress
EventArgs) Handles TELEFONOTextBox.KeyPress
If Char.IsDigit(e.KeyChar) Then
e.Handled = False
ElseIf Char.IsControl(e.KeyChar) Then
e.Handled = False
Else
e.Handled = True End If End Sub
Private Sub Button1_Click(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles Button1.Click
Me.Datos_generalesTableAdapter.EDITAR(CEDULA
TextBox.Text, NOMBRETextBox.Text, APELLIDOTextBox.Text,
TELEFONOTextBox.Text, CIUDADTextBox.Text, DIRECCION
TextBox.Text, CORREOTextBox.Text, CEDULATextBox.Text)
Validamos
textbox
direccion del
primer
formulario
para que
permite solo
ingreso de
texto
Validamos
textbox
cedula del
primer
formulario
para que
permite solo
ingreso de
numeros
Validamos
textbox
teléfono para
que permite
solo ingreso
de numeros
Programamos
nuestro botón
de modificar,
que editara
de igual
forma los
datos de
nuestra BD
24
Me.Datos_generalesTableAdapter.Fill(Me.Base_de_datos1
DataSet.datos_generales)
End Sub
Private Sub Button2_Click(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles Button2.Click
Me.Datos_generalesTableAdapter.FillBy(Me.Base_de_
datos1DataSet.datos_generales, CEDULATextBox.Text)
End Sub
Private Sub Button3_Click(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles Button3.Click
MsgBox("El registro sera borrado")
Me.Datos_generalesTableAdapter.BORRAR(CEDULA
TextBox.Text)
Me.Datos_generalesTableAdapter.Fill(Me.Base_de_datos1
DataSet.datos_generales)
End Sub
Private Sub Button4_Click(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles Button4.Click
Me.Datos_generalesTableAdapter.Fill(Me.Base_de_datos1
DataSet.datos_generales)
End Sub
CORRIDO DEL PROGRAMA
Programamos
nuestro botón
de buscar
Programamos
nuestro botón
eliminar, que
borrara de
igual forma
los datos de
nuestra BD
Programamos
nuestro botón
actualizar
25
26
PROGRAMA 3
ENUNCIADO:
Diseñe una guía telefónica
ANÁLISIS:
Para realizar esta aplicación primero debemos crear una base de datos en access, en la cual vamos incluir 8 campos de datos personales en donde ingresaremos la información de cada usuario de un teléfono esta información enlazaremos a nuestro aplicativo de visual studio.
Una vez creada nuestra base de datos en Access, creamos los formularios necesarios en Visual Studio 2010 el cual tendrá 4 formularios.
El primer formulario consta de un menú Strip.
El segundo formulario consta de un TabControl, 8 label y 8 textbox.
El tercer formulario consta de 8 label, 8 textbox, un DataGridView y 4 button
BASE DE DATOS EN ACCES
En Access, crearemos una base de datos llamada Base de datos1
En nuestra tabla por defecto agregamos los campos que vamos a necesitar:
En cada campo escogemos el tipo de dato que vamos a utilizar en este caso los dato serán de
texto “corto”
27
De igual forma en las propiedades generales de cada campo establecemos el tamaño de dato
que vamos a utilizar
Una vez listos nuestros campos, guardamos la tabla creada, dando clic derecho en la opción
“Vista Diseño”. La llamaremos “guia”
Guardamos todos los cambios realizados en nuestra tabla bajo esta condición:
La base de datos debe guardarse como Microsoft Access Database (.mdb) o base de datos
2000-2003, de esta manera podrá ser compatible con nuestro aplicativo de VS10.
DOCUMENTACIÓN EN VISUAL STUDIO 2010:
Creamos un nuevo proyecto para empezar, guardándolo el disco c, en este caso lo
nombraremos “guía telefónica”.
Una vez realizado eso podremos unir nuestra base de datos de la siguiente manera:
En el menú Datos, escogemos la opción: agregar nuevo origen de datos:
28
Especificamos el tipo de dato de origen, en este caso una base de datos:
En nueva conexión escogemos la opción de “Nueva Conexión” y aceptamos
En esta ventana escogemos las tablas y las vistas para presentar en nuestro aplicativo y
finalizamos.
Seguido a ello llamamos los datos de nuestra base a nuestro aplicativo. Mediante la misma
opción de Datos, en la opción Mostrar orígenes de datos.
En vista diseño realizamos la programación para los cuatro botones de eliminar, editar,
buscar, actualizar
Elegimos el tipo de consulta que deseamos realizar
29
Select
Delete
Update
Insert
Codificación de cada uno de los formularios y objetos.
Public Class Form1 Private Sub DatosToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DatosToolStripMenuItem .Click Form2.Show() End Sub Private Sub SalirToolStripMenuItem_Click(ByVal
Esta línea de código realiza el
proceso para ingresar al
formulario 2
Esta línea de código realiza el
proceso para salir del programa
30
sender As System.Object, ByVal e As System.EventArgs) Handles SalirToolStripMenuItem.Click End End Sub Private Sub EdicionToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles EdicionToolStripMenuItem.Click Form3.Show() End Sub End Class Public Class Form2 Private Sub GuiaBindingNavigatorSaveItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles GuiaBindingNavigatorSaveItem.Click Me.Validate() Me.GuiaBindingSource.EndEdit()
Me.TableAdapterManager.UpdateAll (Me.Base_de_datos1DataSet) End Sub Private Sub Form2_Load(ByVal sender As System. Object, ByVal e As System.EventArgs) Handles MyBase.Load Me.GuiaTableAdapter.Fill(Me.Base_de_datos1DataSet.guia) End Sub Private Sub TabPage1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TabPage1.Click End Sub End Class Public Class Form3 Private Sub Form3_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Me.GuiaTableAdapter.Fill(Me.Base_de_datos1DataSet .guia) End Sub Private Sub refrescar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles refrescar.Click Me.GuiaTableAdapter.Fill(Me.Base_de_datos1DataSet.guia) End Sub Private Sub buscar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles buscar.Click Me.GuiaTableAdapter.FillBy(Me.Base_de_datos1DataSet.guia, CodigoTextBox.Text) End Sub
Esta línea de código carga
datos en la tabla
'Base_de_datos1DataSet.gui
a' Puede moverla o quitarla
según sea necesario.
Esta línea de código
carga datos en la tabla
'Base_de_datos1DataSet.
guia' Puede moverla o
quitarla según sea
necesario.
Esta línea de código realiza el
proceso para ingresar al
formulario 3
Esta línea de código realiza el
proceso para ingresar al
formulario 2
Estas líneas de
código mediante un
button me permite
buscar mediante el
código.
31
Private Sub eliminar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles eliminar.Click MsgBox("Este registro sera elliminado") Me.GuiaTableAdapter.borrar(CodigoTextBox.Text) Me.GuiaTableAdapter.Fill(Me.Base_de_datos1DataSet.guia) End Sub Private Sub actualizar_Click(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles editar.Click Me.GuiaTableAdapter.editar(CodigoTextBox.Text, NombreTextBox .Text, ApellidoTextBox.Text, TelefonoTextBox.Text, CiudadTextBox.Text, DireccionTextBox.Text, CelularTextBox.Text, CorreoTextBox.Text, CodigoTextBox.Text) Me.GuiaTableAdapter.Fill(Me.Base_de_datos1DataSet.guia) End Sub End Class
CORRIDO DEL PROGRAMA
Estas líneas de
código mediante un
button me permite
actualizar las líneas
de texto
Estas líneas de
código mediante un
button me permite
eliminar mediante el
código.
32
PROGRAMA 4
ENUNCIADO
En un consultorio médico se necesita llenar el control de las citas de los pacientes según los
distintos médicos que atienden allí, se necesita obtener reportes que visualicen las citas por
fechas con el total acumulado. Arme las relaciones entre tablas y el diseño de la aplicación.
ANÁLISIS
Para realizar esta aplicación lo primero que hicimos fue crear una base de datos en access, la
cual contienes tres tablas los cuales son médicos, citas, pacientes con sus respectivos campos.
Posteriormente vamos a enlazar nuestra base de datos con nuestro proyecto en visual studio.
Debemos recordar que debemos guardar nuestra base de datos en de tipo “2002 – 2003” para
que funcione con visual studio.
DOCUMENTACIÓN EN ACCESS.
Creamos una base de datos y le damos un nombre.
Damos un nombre a nuestra tabla y llenamos los campos con los cuales vamos a trabajar.
33
Por ejemplo voy a crear una tabla con el nombre médico y con los siguientes campos, y en tipo
de datos le damos a todos “Texto corto”.
Y en las propiedades de campo le damos un tamaño en este caso de 25.
La base de datos debe guardarse como Microsoft Access Database (.mdb) o base de datos
2000-2003, de esta manera podrá ser compatible con nuestro aplicativo de VS10.
Documentación en Visual Studio 2010.
Abrimos visual studio y creamos un nuevo proyecto y lo guardamos en una carpeta en el disco
c donde también debemos tener nuestra base de datos. Al crear nuestro nuevo proyecto
debemos ingresar a la pestaña proyecto y escoger la opción propiedades del proyecto, y en la
opción versión de .NET framework escoger la opción .NET framework 4
34
Para enlazar nuestra base de datos al proyecto hacemos lo siguiente clic Datos escogemos
mostrar origen de datos
Escogemos la opción base de datos:
En nueva conexión escogemos la opción de “Nueva Conexión” y aceptamos
En la siguiente ventana escogemos las tablas y las vistas para que aparezcan en nuestro
proyecto y damos en finalizar.
CODIFICACIÓN
Public Class Form1
Private Sub MEDICOSToolStripMenuItem2_Click(ByVal sender As
System.Object, ByVal e As System.EventArgs) Handles MEDICOSToolStripMenuItem2.Click
Form2.Show()
End Sub
Private Sub PACIENTESToolStripMenuItem1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles PACIENTESToolStripMenuItem1.Click
Form3.Show()
End Sub
Private Sub CITASToolStripMenuItem1_Click(ByVal sender As
35
System.Object, ByVal e As System.EventArgs) Handles CITASToolStripMenuItem1.Click
Form4.Show()
End Sub
Private Sub MEDICOSToolStripMenuItem1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MEDICOSToolStripMenuItem1.Click
Form5.Show()
End Sub
Private Sub PACIENTESToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles PACIENTESToolStripMenuItem.Click
Form6.Show()
End Sub
Private Sub CITASToolStripMenuItem_Click(ByVal sender As
System.Object, ByVal e As System.EventArgs) Handles CITASToolStripMenuItem.Click
Form7.Show()
End Sub
End Class
Public Class Form2
Private Sub MEDICOSBindingNavigatorSaveItem_Click(ByVal
sender As System.Object, ByVal e As System.EventArgs) Handles
MEDICOSBindingNavigatorSaveItem.Click
Me.Validate()
Me.MEDICOSBindingSource.EndEdit()
Me.TableAdapterManager.UpdateAll
(Me.Base_de_datos1DataSet)
End Sub
Private Sub Form2_Load(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles MyBase.Load
'TODO: esta línea de código carga datos en la tabla 'Base_de_datos1DataSet.MEDICOS'
Puede moverla
o quitarla según sea necesario.
Me.MEDICOSTableAdapter.Fill
(Me.Base_de_datos1DataSet.MEDICOS)
End Sub
A través del
menú strip
llamamos en
cada opción
a cada
formulario
que usemos
en el
aplicativo.
En el siguiente
FORM2,
ingresamos los
datos del doctor
con respectiva
conexión a
nuestra de base
de datos.
36
End Class
Public Class Form3
Private Sub PACIENTEBindingNavigatorSaveItem_
Click(ByVal sender As System.Object, ByVal e As
System.EventArgs)
Handles PACIENTEBindingNavigatorSaveItem.Click
Me.Validate()
Me.PACIENTEBindingSource.EndEdit()
Me.TableAdapterManager.UpdateAll
(Me.Base_de_datos1DataSet)
End Sub
Private Sub Form3_Load(ByVal sender As
System.Object, ByVal e As System.EventArgs) Handles
MyBase.Load
'TODO: esta línea de código carga datos en la tabla 'Base_de_datos1DataSet.CITAS' Puede
moverla o quitarla
según sea necesario.
Me.CITASTableAdapter.Fill
(Me.Base_de_datos1DataSet.CITAS)
'TODO: esta línea de código carga datos en la tabla 'Base_de_datos1DataSet.PACIENTE'
Puede moverla
o quitarla según sea necesario.
Me.PACIENTETableAdapter.Fill
(Me.Base_de_datos1DataSet.PACIENTE)
End Sub
End Class
Public Class Form4
Private Sub CITASBindingNavigatorSaveItem_Click(ByVal sender As
System.Object, ByVal e As System.EventArgs) Handles
CITASBindingNavigatorSaveItem.Click
Me.Validate()
Me.CITASBindingSource.EndEdit()
En el siguiente FORM3,
ingresamos los datos del
paciente con respectiva
conexión a nuestra de
base de datos.
Hacemos un evento al clic
para poder validar los
datos que hemos ingresado
en nuestra base de datos.
37
Me.TableAdapterManager.UpdateAll(Me.Base_de_datos1DataSet)
End Sub
Private Sub Form4_Load(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles MyBase.Load
'TODO: esta línea de código carga datos en la tabla
'Base_de_datos1DataSet.PACIENTE' Puede moverla o quitarla según sea necesario.
Me.PACIENTETableAdapter.Fill(Me.Base_de_datos1DataSet.PACIENTE)
'TODO: esta línea de código carga datos en la tabla
'Base_de_datos1DataSet.MEDICOS' Puede moverla o quitarla según sea necesario.
Me.MEDICOSTableAdapter.Fill(Me.Base_de_datos1DataSet.MEDICOS)
'TODO: esta línea de código carga datos en la tabla
'Base_de_datos1DataSet.CITAS' Puede moverla o quitarla según sea necesario.
Me.CITASTableAdapter.Fill(Me.Base_de_datos1DataSet.CITAS)
End Sub
Private Sub DataGridView1_CellClick(ByVal sender As
Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs)
Handles DataGridView1.CellClick
Dim fila, columna As Integer
fila = DataGridView1.CurrentRow.Index
Codigo_medicoTextBox.Text = DataGridView1.Item(columna, fila).Value
MsgBox(DataGridView1.Item(columna, fila).Value)
End Sub
Private Sub DataGridView2_CellContentClick(ByVal sender As
System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs)
Handles DataGridView2.CellContentClick
Dim fila, columna As Integer
fila = DataGridView2.CurrentRow.Index
Codigo_pacienteTextBox.Text = DataGridView2.Item(columna, fila).Value
MsgBox(DataGridView2.Item(columna, fila).Value)
End Sub
Esta parte de la
codificación está
orientada en
donde está
gravada o
direccionada la
base de datos.
En nuestro primer data
gridView , ingresamos
la siguiente línea de
código para que se
pueda visualizar
nuestros códigos en la
tabla de las citas.
En nuestro segundo
data gridView ,
ingresamos la siguiente
línea de código para
que se pueda visualizar
nuestros códigos en la
tabla de las citas.
38
End Class
CORRIDO DEL PROGRAMA
39
PROGRAMA 5
ENUNCIADO
La EMPRESA TABAVELA se necesita conocer y saber un listado de todos sus empleados por
departamentos con sus respectivos valores totales que perciben considerando que la empresa
paga un sueldo fijo acorde a su departamento y se genera un descuento del 11,25% de este
salario por concepto de ISE, y un bono de movilización que representa el 2% de su salario.
• Se necesita listar los empleados por departamento
• Se necesita conocer los costos totales agrupados por departamentos
ANÁLISIS
Todo lo que necesitamos para crear este programa es primero elaborar una base de datos en
Access, en la cual vamos incluir 3 tablas cada una con sus campos necesarios en donde
ingresaremos la información requerida de una empresa, información que enlazaremos a
nuestro aplicativo de visual studio.
Una vez creada nuestra base de datos en Access, creamos las pantallas necesarias en Visual
Studio 2010, en los que programaremos nuestra aplicación, además de esto utilizaremos
labels, textboxs, botones, pictures boxs e imágenes para desarrollar un diseño adecuado para
el usuario.
DOCUMENTACIÓN EN ACCESS:
En Access, crearemos una base de datos llamada “empleados”
En nuestra tabla agregaremos los campos que vamos a necesitar:
En cada campo escogemos el tipo de dato que vamos a utilizar en este caso utilizaremos tipos
de dato de texto “corto”
40
De igual forma en las propiedades generales de cada campo establecemos el tamaño de dato
que vamos a utilizar
Una vez listos nuestros campos, guardamos la tabla creada, dando clic derecho en la opción
“Vista Diseño”. La llamaremos “datos generales”
Guardamos todos los cambios realizados en nuestra tabla bajo esta condición:
La base de datos debe guardarse como Microsoft Access Database (.mdb) o base de datos
2000-2003, de esta manera podrá ser compatible con nuestro aplicativo de VS10.
DOCUMENTACIÓN EN VISUAL STUDIO 2010:
Creamos un nuevo proyecto para empezar, guardándolo en una carpeta llamada “empresa”
localizada en el disco C: /. Una vez realizado esto debemos irnos a las propiedades de nuestro
aplicativo: A la opción de compilación/opciones de compilación avanzadas
41
Nos aparecerá una ventana en la que debemos cambiar la opción de .NET Framework Cliente
Profile únicamente por .NET Framework:
De esta forma:
Una vez realizado esto, podemos continuar con la unión de nuestra base de datos de la
siguiente manera: En el menú Datos, escogemos la opción: agregar nuevo origen de datos:
Especificamos el tipo de dato de origen, en este caso una base de datos:
En nueva conexión escogemos la opción de “Nueva Conexión” y aceptamos
En esta ventana escogemos las tablas y las vistas para presentar en nuestro aplicativo y
finalizamos.
42
Seguido a ello llamamos los datos de nuestra base a nuestro aplicativo. Mediante la misma
opción de Datos, en la opción Mostrar orígenes de datos.
CODIFICACIÓN
Private Sub EMPLEADOSToolStripMenuItem1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles EMPLEADOSToolStripMenuItem1.Click
Form2.Show()
End Sub
Private Sub DEPARTAMENTOSToolStripMenuItem_Click(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles DEPARTAMENTOSToolStripMenuItem.Click
Form3.Show()
End Sub
Private Sub PAGOSToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles PAGOSToolStripMenuItem.Click
Form4.Show()
End Sub
Private Sub EMPLEDOSToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles EMPLEDOSToolStripMenuItem.Click
Form5.Show()
End Sub
Private Sub GENERALToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles GENERALToolStripMenuItem.Click
Form6.Show()
End Sub
Private Sub EMPLEADOSToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles EMPLEADOSToolStripMenuItem.Click
End Sub
End Class
Dentro de la
herramienta
menú strip
llamamos a
cada de los
formularios
que forman
parte de
nuestro
programa.
43
Public Class Form2
Private Sub EMPLEADOSBindingNavigatorSaveItem_Click(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles EMPLEADOSBindingNavigatorSaveItem.Click
Me.Validate()
Me.EMPLEADOSBindingSource.EndEdit()
Me.TableAdapterManager.UpdateAll(Me.EmpleadosDataSet)
End Sub
Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles MyBase.Load
Me.EMPLEADOSTableAdapter.Fill(Me.EmpleadosDataSet.EMPLEADOS)
End Sub
Private Sub Ci_EmpledoTextBox_KeyPress(ByVal sender As Object,
ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles Ci_EmpledoTextBox.KeyPress
If Char.IsDigit(e.KeyChar) Then
e.Handled = False
ElseIf Char.IsControl(e.KeyChar) Then
e.Handled = False
Else
e.Handled = True
End If
End Sub
Private Sub Nombre_EmpleadoTextBox_KeyPress(ByVal sender As Object, ByVal e As
System.Windows.Forms.KeyPressEventArgs) Handles Nombre_EmpleadoTextBox.KeyPress
If Char.IsLetter(e.KeyChar) Then
e.Handled = False
ElseIf Char.IsControl(e.KeyChar) Then
e.Handled = False
Else
e.Handled = True
End If
End Sub
Permite
obtener
todos los
datos
ingresados
con
anterioridad
en nuestra
base de
datos.
Permite
cargar los
datos en la
tabla, los
cuales
pueden
moverlos o
quitarlos
según sea
necesario Validamos el
ci_empleado
para que
permita solo
ingreso de
números
Validamos el
nombre_empl
eado para
que permita
solo ingreso
de letras
44
Private Sub Apellido_EmpleadoTextBox_KeyPress(ByVal sender As Object, ByVal e As
System.Windows.Forms.KeyPressEventArgs) Handles Apellido_EmpleadoTextBox.KeyPress
If Char.IsLetter(e.KeyChar) Then
e.Handled = False
ElseIf Char.IsControl(e.KeyChar) Then
e.Handled = False
Else
e.Handled = True
End If
End Sub
Private Sub Titulo_EmpleadoTextBox_KeyPress(ByVal sender As Object, ByVal e As
System.Windows.Forms.KeyPressEventArgs) Handles Titulo_EmpleadoTextBox.KeyPress
If Char.IsLetter(e.KeyChar) Then
e.Handled = False
ElseIf Char.IsControl(e.KeyChar) Then
e.Handled = False
Else
e.Handled = True
End If
End Sub
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles Button3.Click
Me.EMPLEADOSTableAdapter.FillBy(Me.EmpleadosDataSet.EMPLEADOS,
Ci_EmpledoTextBox.Text)
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles Button1.Click
Me.EMPLEADOSTableAdapter.editar(Ci_EmpledoTextBox.Text,
Nombre_EmpleadoTextBox.Text, Apellido_EmpleadoTextBox.Text,
Titulo_EmpleadoTextBox.Text, Ci_EmpledoTextBox.Text)
Me.EMPLEADOSTableAdapter.Fill(Me.EmpleadosDataSet.EMPLEADOS)
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles Button2.Click
Validamos el
apellido_emp
leado para
que permita
solo ingreso
de letras
Validamos el
titulo_emplea
do para que
permita solo
ingreso de
letras
Este botón
permite
buscar los
registros que
se encuentran
en nuestra
base de
datos
Mediante
este botón
podemos
editar los
registros que
se encuentran
en nuestra
base de
datos
Mediante
este botón
podemos
eliminar los
registros que
se encuentran
en nuestra
base de
45
MsgBox("EL REGISTRO SE HA ELIMINADO")
Me.EMPLEADOSTableAdapter.Fill(Me.EmpleadosDataSet.EMPLEADOS)
Me.EMPLEADOSTableAdapter.eliminar(Ci_EmpledoTextBox.Text)
End Sub
Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles Button4.Click
Me.EMPLEADOSTableAdapter.Fill(Me.EmpleadosDataSet.EMPLEADOS)
End Sub
End Class
Public Class Form3
Private Sub DEPARTAMENTOBindingNavigatorSaveItem_Click(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles DEPARTAMENTOBindingNavigatorSaveItem.Click
Me.Validate()
Me.DEPARTAMENTOBindingSource.EndEdit()
Me.TableAdapterManager.UpdateAll(Me.EmpleadosDataSet)
End Sub
Private Sub Form3_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles MyBase.Load
Me.DEPARTAMENTOTableAdapter.Fill(Me.EmpleadosDataSet.
DEPARTAMENTO)
End Sub
Private Sub Nombre_DepartamentoTextBox_KeyPress(ByVal sender As Object, ByVal e As
System.Windows.Forms.KeyPressEventArgs) Handles
Nombre_DepartamentoTextBox.KeyPress
If Char.IsLetter(e.KeyChar) Then
e.Handled = False
ElseIf Char.IsControl(e.KeyChar) Then
e.Handled = False
Else
e.Handled = True
End If
End Sub
Mediante
este botón
podemos
refrescar los
registros que
se encuentran
en nuestra
base de
datos
Permite
obtener
todos los
datos
ingresados
con
anterioridad
en nuestra
base de
datos.
Permite
cargar los
datos en la
tabla, los
cuales
pueden
moverlos o
quitarlos
según sea
necesario
Validamos el
nombre_dep
artamento
para que
permita solo
ingreso de
letras
46
Private Sub Cod_departamentoTextBox_KeyPress(ByVal sender As Object, ByVal e As
System.Windows.Forms.KeyPressEventArgs) Handles Cod_departamentoTextBox.KeyPress
If Char.IsDigit(e.KeyChar) Then
e.Handled = False
ElseIf Char.IsControl(e.KeyChar) Then
e.Handled = False
Else
e.Handled = True
End If
End Sub
Private Sub Sueldo_DepartamentoTextBox_KeyPress(ByVal senderAs
Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles
Sueldo_DepartamentoTextBox.KeyPress
If Char.IsDigit(e.KeyChar) Then
e.Handled = False
ElseIf Char.IsControl(e.KeyChar) Then
e.Handled = False
Else
e.Handled = True
End If
End Sub
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles Button3.Click
Me.EMPLEADOSTableAdapter.FillBy(Me.EmpleadosDataSet.EMPLEADOS,
Ci_EmpledoTextBox.Text)
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles Button1.Click
Me.EMPLEADOSTableAdapter.editar(Ci_EmpledoTextBox.Text,
Nombre_EmpleadoTextBox.Text, Apellido_EmpleadoTextBox.Text,
Titulo_EmpleadoTextBox.Text, Ci_EmpledoTextBox.Text)
Me.EMPLEADOSTableAdapter.Fill(Me.EmpleadosDataSet.EMPLEADOS)
End Sub
Validamos el
cod_departa
mento para
que permita
solo ingreso
de numeros
Validamos el
sueldo_depar
tamento para
que permita
solo ingreso
de números
Este botón
permite
buscar los
registros que
se encuentran
en nuestra
base de
datos
Mediante
este botón
podemos
editar los
registros que
se encuentran
en nuestra
base de
datos
47
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles Button2.Click
MsgBox("EL REGISTRO SE HA ELIMINADO")
Me.EMPLEADOSTableAdapter.Fill(Me.EmpleadosDataSet.EMPLEADOS)
Me.EMPLEADOSTableAdapter.eliminar(Ci_EmpledoTextBox.Text)
End Sub
Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles Button4.Click
Me.EMPLEADOSTableAdapter.Fill(Me.EmpleadosDataSet.EMPLEADOS)
End Sub
End Class
CORRIDO DEL PROGRAMA
Mediante
este botón
podemos
eliminar los
registros que
se encuentran
en nuestra
base de
datos
Mediante
este botón
podemos
refrescar los
registros que
se encuentran
en nuestra
base de
datos
48
49
PROGRAMA 6
ENUNCIADO
Una empresa distribuidora de productos de informáticos necesita diseñar una aplicación que
le permita controlar:
• Los distintos proveedores de sus productos
• Los distintos productos con sus respectivos países de orígenes
• Las importaciones que realiza de cada producto, con su fecha y valores respectivos
Necesita obtener los siguientes reportes
• Listado de productos agrupados pos países de procedencia
• Listado de proveedores
• Listado de importaciones realizadas agrupadas por fechas y proveedor en la que se liste
todos los productos importados y sus valores respectivos
Determine el modelo entidad relación correspondiente
Aplique un diseño que permita el ingreso de los datos en forma adecuada, valide el ingreso de
los mismos
Presente los resultados con datos ingresados
Verifique la asertividad de la información
ANÁLISIS
En este programa podemos controlar los productos de una empresa donde vamos a enlistar
los proveedores los productos con sus respectivos países de origen las importaciones que
realiza cada producto además en este programa vamos a obtener los reportes de los
productos agrupados por su país un listado de los proveedores y también las importaciones
agrupados por fecha y proveedor con sus valores respectivos
CODIGO
Public Class Form1
Private Sub SalirToolStripMenuItem_Click(sender
As System.Object, e As System.EventArgs) Handles
SalirToolStripMenuItem.Click
End
End Sub
Private Sub ProveedoresToolStripMenuItem_Click(sender
As System.Object, e As System.EventArgs) Handles
ProveedoresToolStripMenuItem.Click
Enlazar el menú de inicio con
los formularios
50
Form2.Show()
End Sub
Private Sub ProductoToolStripMenuItem_Click(sender
As System.Object, e As System.EventArgs) Handles
ProductoToolStripMenuItem.Click
Form3.Show()
End Sub
Private Sub ImportacionesToolStripMenuItem_Click(sender
As System.Object, e As System.EventArgs) Handles ImportacionesToolStripMenuItem.Click
Form4.Show()
End Sub
Private Sub RepProveedorToolStripMenuItem_Click(sender
As System.Object, e As System.EventArgs) Handles
RepProveedorToolStripMenuItem.Click
Form7.Show()
End Sub
Private Sub RepProductosToolStripMenuItem_Click(sender
As System.Object, e As System.EventArgs) Handles RepProductosToolStripMenuItem.Click
Form6.Show()
End Sub
Private Sub RepImportacionesToolStripMenuItem_Click(sender
As System.Object, e As System.EventArgs) Handles RepImportacionesToolStripMenuItem.Click
Form8.Show()
End Sub
End Class
Public Class Form2
Private Sub Cod_proveTextBox_KeyPress(sender
As Object, e As System.Windows.Forms.KeyPressEventArgs)
Handles Cod_proveTextBox.KeyPress
If Char.IsDigit(e.KeyChar) Then
e.Handled = False
ElseIf Char.IsControl(e.KeyChar) Then
e.Handled = False
Else
Con este
código
solo
puede
ingresar
números y
letras
51
e.Handled = True
End If
End Sub
Private Sub Cod_proveTextBox_TextChanged(sender
As System.Object, e As System.EventArgs) Handles
Cod_proveTextBox.TextChanged
End Sub
Private Sub Nom_proveTextBox_KeyPress(sender
As Object, e As System.Windows.Forms.KeyPressEventArgs)
Handles Nom_proveTextBox.KeyPress
If Char.IsLetter(e.KeyChar) Then
e.Handled = False
ElseIf Char.IsControl(e.KeyChar) Then
e.Handled = False
Else
e.Handled = True
End If
End Sub
Private Sub Nom_proveTextBox_TextChanged(sender
As System.Object, e As System.EventArgs) Handles
Nom_proveTextBox.TextChanged
End Sub
Private Sub Ape_proveTextBox_KeyPress(sender
As Object, e As System.Windows.Forms.KeyPressEventArgs)
Handles Ape_proveTextBox.KeyPress
If Char.IsLetter(e.KeyChar) Then
e.Handled = False
ElseIf Char.IsControl(e.KeyChar) Then
e.Handled = False
Else
e.Handled = True
End If
End Sub
Private Sub Ape_proveTextBox_TextChanged(sender
52
As System.Object, e As System.EventArgs) Handles
Ape_proveTextBox.TextChanged
End Sub
Private Sub Prod_proveTextBox_KeyPress(sender
As Object, e As System.Windows.Forms.KeyPressEventArgs)
Handles Prod_proveTextBox.KeyPress
If Char.IsLetter(e.KeyChar) Then
e.Handled = False
ElseIf Char.IsControl(e.KeyChar) Then
e.Handled = False
Else
e.Handled = True
End If
End Sub
Private Sub Cod_producTextBox_KeyPress(sender
As Object, e As System.Windows.Forms.KeyPressEventArgs)
Handles Cod_producTextBox.KeyPress
If Char.IsDigit(e.KeyChar) Then
e.Handled = False
ElseIf Char.IsControl(e.KeyChar) Then
e.Handled = False
Else
e.Handled = True
End If
End Sub
Private Sub Cod_producTextBox_TextChanged(sender As System.Object, e As
System.EventArgs) Handles Cod_producTextBox.TextChanged
End Sub
Private Sub Cantidad_producTextBox_KeyPress(sender As
Object, e As System.Windows.Forms.KeyPressEventArgs) Handles
Cantidad_producTextBox.KeyPress
If Char.IsDigit(e.KeyChar) Then
e.Handled = False
En esta codificación no
permite el ingreso de
letras a nuestra caja de
texto
En esta codificación no
permite el ingreso de
números a nuestra caja
de texto
En esta codificación no
permite el ingreso de
letras a nuestra caja de
texto
53
ElseIf Char.IsControl(e.KeyChar) Then
e.Handled = False
Else
e.Handled = True
End If
End Sub
Private Sub Cantidad_producTextBox_TextChanged(sender As System.Object, e As
System.EventArgs) Handles Cantidad_producTextBox.TextChanged
End Sub
Private Sub Costo_producTextBox_KeyPress(sender As Object, e As
System.Windows.Forms.KeyPressEventArgs) Handles Costo_producTextBox.KeyPress
If Char.IsDigit(e.KeyChar) Then
e.Handled = False
ElseIf Char.IsControl(e.KeyChar) Then
e.Handled = False
Else
e.Handled = True
End If End Sub
Public Class Form4
Private Sub DataGridView1_CellClick(sender As Object, e
As System.Windows.Forms.DataGridViewCellEventArgs) Handles
DataGridView1.CellClick
Dim fila, columna As Integer
fila = DataGridView1.CurrentRow.Index
Cod_proveTextBox.Text = DataGridView1.Item(columna,
fila).Value
MsgBox(DataGridView1.Item(columna, fila).Value)
End Sub
Private Sub DataGridView1_CellContentClick(sender As
System.Object, e As System.Windows.Forms.
DataGridViewCellEventArgs) Handles DataGridView1.
CellContentClick
End Sub
Private Sub DataGridView2_CellClick(sender As Object,
En esta codificación no
permite el ingreso de
números a nuestra caja
de texto
En esta parte declaramos
variables Inter y luego
iguales nuestras variables
a datagridview1
En esta parte declaramos
variables Inter y luego
iguales nuestras variables
a datagridview2
54
e As System.Windows.Forms.DataGridViewCellEventArgs) Handles
DataGridView2.CellClick
Dim fila, columna As Integer
fila = DataGridView2.CurrentRow.Index
Cod_producTextBox.Text = DataGridView2.Item(columna,
fila).Value
Costo_tot_importTextBox.Text = Val
(Cantidad_producTextBox.Text) * (Val(Costo_producTextBox.Text))
MsgBox(DataGridView2.Item(columna, fila).Value)
End Sub
Private Sub DataGridView2_CellContentClick(sender As
System.Object, e As System.Windows.Forms.DataGridViewCellEventArgs)
Handles DataGridView2.CellContentClick
End Sub
Private Sub DataGridView3_CellClick(sender As Object, e As
System.Windows.Forms.DataGridViewCellEventArgs) Handles
DataGridView3.CellClick
Dim fila, columna As Integer
fila = DataGridView3.CurrentRow.Index
Cod_producTextBox.Text = DataGridView3.Item
(columna, fila).Value
Costo_tot_importTextBox.Text = Val
(Cantidad_producTextBox.Text) * (Val(Costo_producTextBox.Text))
MsgBox(DataGridView3.Item(columna, fila).
Value)
End Sub
Private Sub DataGridView3_CellContentClick(sender As
System.Object, e As System.Windows.Forms.DataGridViewCellEventArgs)
Handles DataGridView3.CellContentClick
End Sub
En esta parte realizamos
cálculos para obtener el
costo total de la
importación
55
CORRIDO DEL PROGRAMA
56
PROGRAMA 7
ENUNCIADO
Diseñe un programa en el cual podamos buscar, mostrar, modificar y añadir un nuevo
estudiante para un carnet estudiantil utilizando una base de datos en sql server.
ANÁLISIS
En el siguiente programa podremos ya tener una base de datos en la cual seguiremos
almacenando todo los datos de los estudiantes de cualquier institución para un mejor archivo
de los mismo con esto lograremos reducir el tiempo de ingreso de datos manuales al tener ya
una base de datos con la cual la complementaremos con un previo diseño en visual studio
2010 la cual será la parte principal de nuestro trabajo.
CREACIÓN DE LA BASE DE DATOS
57
Creación de vista
58
Creación de procedimientos almacenados
USE [prueba]
GO
/****** Object: StoredProcedure [dbo].[buscarfin]
Script Date: 07/27/2015 10:27:49 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[buscarfin]
@carnet int
AS
BEGIN
SET NOCOUNT ON;
SELECT * from dbo.datos where carnet = @carnet
END
En estas líneas de
código nos ayudan
para poder saber en
base a que llamamos a
la BD.
59
USE [prueba]
GO
/****** Object: StoredProcedure [dbo].[listar]
Script Date: 07/27/2015 10:28:22 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[listar]
AS
BEGIN
select * from dbo.datos
END
Public Class Form3
Private Sub SALIRToolStripMenuItem_Click(ByVal sender As
System.Object, ByVal e As System.EventArgs)
Handles SALIRToolStripMenuItem.Click
Usamos un código
sencillo para llamar a
todos los datos de
nuestra tabla
60
End
End Sub
Private Sub REPORTEToolStripMenuItem_Click(ByVal sender
As System.Object, ByVal e As System.EventArgs) Handles REPORTEToolStripMenuItem.Click
End Sub
Private Sub DATOSToolStripMenuItem_Click(ByVal sender
As System.Object, ByVal e As System.EventArgs)
Handles DATOSToolStripMenuItem.Click
Form1.Show()
End Sub
Private Sub REPORTEGENERALToolStripMenuItem_Click(ByVal
sender As System.Object, ByVal e As System.EventArgs) Handles
REPORTEGENERALToolStripMenuItem.Click
Form2.Show()
End Sub
Private Sub REPORTEFILTRADOToolStripMenuItem_Click(ByVal
sender As System.Object, ByVal e As System.EventArgs) Handles
REPORTEFILTRADOToolStripMenuItem.Click
Form4.Show()
End Sub
End Class
Imports System.Data.SqlClient
Public Class Form1
Private odbadapter As SqlDataAdapter
Private odataset As DataSet
Private cc As SqlConnection
Private iposicionfilacolumnaactual As Integer
Empezamos la
programación
haciendo un
menú de
opciones y en el
cual enlazamos
las siguientes
ventanas
En esta parte de la
programación lo
vamos a realizar en
un botón en el cual
llamaremos o
enlazaremos ya
nuestra base de
datos con nuestro
programa
61
Private Sub habilitar()
txtnombre.Enabled = True
txtapellido.Enabled = True
txtcorreo.Enabled = True
txttelefono.Enabled = True
txtdireccion.Enabled = True
txtnombre.Clear()
txtapellido.Clear()
txtcorreo.Clear()
txttelefono.Clear()
txtdireccion.Clear()
txtcarnet.Clear()
End Sub
Private Sub Button1_Click(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles Button1.Click
cc = New SqlConnection
cc.ConnectionString = My.MySettings.Default.cadenaconeccion
Dim ocommand As New SqlCommand("exec Buscarfin'" +
Trim(txtcarnet.Text) + "'", cc)
Dim odatareader As SqlDataReader
cc.Open()
odatareader = ocommand.ExecuteReader
While odatareader.Read
Me.txtnombre.AppendText(Trim(odatareader("nombre")))
Me.txtapellido.AppendText(Trim(odatareader("apellido")))
Me.txtcorreo.AppendText(Trim(odatareader("amail")))
Me.txttelefono.AppendText(Trim(odatareader("telefono")))
Me.txtdireccion.AppendText(Trim(odatareader("direccion")))
End While
odatareader.Close()
cc.Close()
End Sub
Private Sub Button2_Click(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles Button2.Click
En este botón
realizaremos la
codificación para que
cuando pulsemos se nos
visualice la información
requerida
En el botón nuevo solo
necesitaremos esta
codificación
62
Call habilitar()
txtcarnet.Focus()
End Sub
Private Sub Button4_Click(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles Button4.Click
cc = New SqlConnection
If Trim(txtnombre.Text) = "" Or Trim(txtcarnet.Text) =
"" Then MsgBox("falta datos") : Exit Sub
cc.ConnectionString = My.MySettings.Default.cadenaconeccion
odbadapter = New SqlDataAdapter("insert into dbo.datos
values ('" + Trim(txtcarnet.Text) + "','" + txtnombre.Text
+ "','" + txtapellido.Text + "','" + txtcorreo.Text + "','"
+ txttelefono.Text + "','" + txtdireccion.Text + "')", cc)
Dim acmd As SqlCommandBuilder = New SqlCommandBuilder(odbadapter)
odataset = New DataSet
odbadapter.Fill(odataset, "datos")
MsgBox("datos guardados con exito")
End Sub
Private Sub Button3_Click(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles Button3.Click
habilitar()
cc = New SqlConnection
cc.ConnectionString = My.MySettings.Default.cadenaconeccion
odbadapter = New SqlDataAdapter("select * from dbo.datos
where carnet='" + Trim(Txtbuscar.Text) + "'", cc)
Dim ocmd As SqlCommandBuilder = New
SqlCommandBuilder(odbadapter)
odataset = New DataSet
cc.Open()
odbadapter.Fill(odataset, "datos")
cc.Close()
tabla.DataSource = odataset
tabla.DataMember = "datos"
End Sub
En este botón
editaremos los datos
ya existentes en
nuestra base de datos
Este es para
guardar datos
nuevos en la BD
63
End Class
64
CORRIDO DEL PROGRAMA
65
BIBLIOGRAFIA.
https://webtelematica.wordpress.com/2010/02/16/tutorial-desde-0-crear-base-de-datos-en-
sql-server-20052008-usando-sql-server-management-studio-express/
https://support.office.com/es-es/article/Crear-una-nueva-base-de-datos-de-escritorio-
9458c8ab-e8e4-40ad-bb03-7b5ebda9dd26