Sunteți pe pagina 1din 52

Para ello necesitaremos:

1 cuadro de texto(TextBox), con nombre "txt_nuevo" y sin ningun texto. 1 cuadro de lista(ListBox), con nombre "lista_elementos" y sin texto, mas que nada porque no deja poner ninguno... 1 label con texto "Nuevo Elemento". 1 label (que indicar los elementos que hay en la lista), con nombre "lb_elementos" y con texto "Elementos: 0". 1 botn para agregar elementos, con nombre "cmd_agregar" y con texto "Aadir". 1 botn para eliminar elementos, con nombre "cmd_Eliminar" y con texto "Eliminar". 1 botn para terminar la aplicacin, con nombre "cmd_terminar" y con texto "Terminar".

Nos deber quedar ms o menos, algo as:

Agregar y Eliminar elementos de una lista con Visual Basic.NET y Windows Forms El cuadro que he puesto alrededor de los controles, es un GroupBox, simplemente para que quede mas "elegante", pero no es necesario. Por ltimo, para que todos los controles se ajusten a que se modifique el ancho-alto del formulario, cambiaremos la propiedad anchor, para que ahora si lo modificamos de ancho, o alto, no se nos distorsionen los controles.

Veamos por ejemplo si lo hacemos mas ancho:

Podis ponerlo como queris, tampoco es que sea necesario, pero es muy cmodo cuando tenemos aplicaciones muy grandes, o con muchos controles. Empezamos con la programacin Antes de nada, agregaremos un Modulo nuevo a nuestros archivos, para ayudarnos a declarar variables y para poder agregar nuestros elementos a la lista.

Le damos a insertar modulo, nos pondr de nombre Module1,y nos saldr esto:

Y ahora escribimos entre "Module Module1" y "End Module": Cdigo :


Public numero_elementos As Integer Public Sub Escribe_totales() Form1.lb_elementos.Text = Form1.lista_elementos.Items.Count.T oString End Sub

Y nos quedar as:

Nuestro Module1 ya est terminado. Ahora vamos con el resto de programacin: Damos doble click al botn "Terminar", y entre "Private Sub" y "End Sub" escribimos: Cdigo : End

Y asi haremos que nuestra aplicacin se termine. Damos doble click al botn "Agregar" y veris que la programacin se apila con la anterior:

Y entre el hueco que siempre nos deja VB, escribimos: Cdigo : If Me.txt_nuevo.Text <> "" Then inserta_elemento(Me.txt_nuevo.Text) numero_elementos += 1 Me.txt_nuevo.Text = "" Me.lb_elementos.Text = "Elementos: " & numero_ elementos End If Y quedar as:

Si os fijais, en la parte de abajo nos mostrara un error, porque aun no hemos declarado la variable "inserta_elementos".

Ahora la declaramos, y para ello, debajo de End Sub, escribimos:

Cdigo : Sub inserta_elemento(ByVal valor As String) Me.lista_elementos.Items.Add(valor) End Sub

Ahora el error que nos salia, ha desaparecido de la lista de errores! Si ahora probamos la aplicacin, podemos agregar elementos a la lista sin ningun problema, pero aun no podemos eliminarlos de ella. Ahora para determinar el numero de elementos que hay actualmente, y declarar la variable, hacemos doble click en el formulario y escribimos en el hueco dejado: Cdigo : numero_elementos = 0

Ahora hacemos doble click en el botn "Eliminar" y escribimos: Cdigo : If Me.lista_elementos.SelectedItem <> "" Then elimina_elemento(Me.lista_elementos.SelectedIt em) numero_elementos -= 1 Me.lb_elementos.Text = "Elementos: " & numero_ elementos End If Si os dais cuenta, es prcticamente lo mismo que el botn agregar...solo cambian ciertas partes...incluso nos vuelve a salir el mismo error, por lo mismo que antes...nos falta declarar otra variable.

La declaramos como antes, y escribimos: Cdigo : Sub elimina_elemento(ByVal elemento As Object) Me.lista_elementos.Items.Remove(elemento) End Sub

Y por ultimo hacemos doble click en el ListBox, pero sin escribir nada, y lo dejamos tal cual. Ya podemos iniciarla y agregar o eliminar elementos de la lista... Veamos como funciona: Para agregar elementos:

Y para eliminar un elemento(Cualquiera):

Espero que os haya gustado...

Introduccin:

Aunque como sabemos con .NET Framework no es necesario crear programas (o proyectos) de instalacin, dado que este nuevo entrono facilita la forma de distribuir las aplicaciones mediante lo que se llama instalacin XCOPY (o FTP), es decir, podemos copiar nuestras aplicaciones creadas con cualquier lenguaje .NET simplemente copiando el directorio con el ejecutable y las libreras de las que depende al equipo en el que queremos usarlo y ya funcionar. Pero funcionar si el equipo de destino ya tiene instalada el "runtime" de .NET Framework, y esto es as porque ese runtime ya incluye todo lo que necesitamos para que nuestra aplicacin funcione. Aunque en ocasiones, es posible que adems de esas libreras "bsicas" (incluidas en el runtime del .NET), necesitemos copiar nuevas libreras, en ese caso simplemente copiaremos las libreras extras dentro del propio directorio de nuestra aplicacin y... todo funcionar! Esto es as porque no necesitamos registrar ningn componente para poder usarlo con nuestra aplicacin, por tanto... realmente no necesitamos crear ningn proyecto de instalacin, pero... si es eso lo que quieres hacer, para facilitarte las cosas, no es lo mismo tener que copiar cosas en una carpeta que distribuir un instalador y que sea el propio usuario el que se encargue del proceso de instalacin, as como de eliminar dicha instalacin cuando le apetezca. Tambin habr ocasiones en las que tengamos que instalar una librera "compartida", en esos casos, la creacin de un proyecto de instalacin nos facilitar el registro (o copia) de esa librera en el GAC (Global Assembly Cache, cach de ensamblado global) que es una carpeta especial usada por el .NET Framework en la que estarn todas las libreras compartidas del .NET Framework.

Nota: Para que una librera se pueda usar de forma global, sta debe estar firmada con un Strong Name (nombre seguro). Si quieres saber ms cmo crear (o firmar) una librera con nombre seguro, puedes leer mi artculo sobre ese tema: Crear y registrar un ensamblado con nombre seguro Aviso importante: Una cosa que debes saber antes de seguir, es que creando un proyecto de instalacin, no se instala el runtime del .NET Framework. Cuando creamos el proyecto de instalacin, ste se encargar de instalar nuestra aplicacin y los dems ficheros (archivos) que le indiquemos, pero NO instalar el runtime. Lo repito para que quede claro y no haya dudas... El runtime (o redistribuible) de .NET Framework debemos instalarlo por nuestra cuenta ANTES de instalar nuestra aplicacin. Bien, sabiendo esto, sigamos con lo nuestro. Vamos a ver cmo crear un proyecto de instalacin. Para que quede la cosa clara, primero tendremos que tener abierto el proyecto con el ejecutable (o aplicacin) que queremos distribuir, (si quieres, puedes crear un nuevo proyecto, simplemente para probar). Supongamos que el proyecto que queremos distribuir se llama: ClienteSetup y lo tenemos abierto en el Visual Studio .NET (la versin usada para este artculo es la versin 2002, pero los pasos a seguir sern los mismos para versiones posteriores).

Proyecto de instalacin usando el Asistente: Del men Archivo, seleccionaremos la opcin Agregar proyecto>Nuevo proyecto..., se mostrar el cuadro de dilogo de aadir nuevo proyecto, del panel izquierdo selecciona Proyectos de instalacin e implementacin, en el panel derecho se mostrarn los posibles tipos de proyectos, seleccionaremos Asistente para proyectos de instalacin (despus veremos cmo crear un proyecto de instalacin sin usar el asistente). Este cuadro de dilogo podemos verlo en la siguiente figura (Figura 1):

Figura 1, cuadro de dilogo Agregar nuevo proyecto Se mostrar el Asistente para proyectos de instalacin (iremos viendo las distintas pantallas que se irn mostrando), en la figura 2, tenemos la primera de las 5 pantallas del asistente:

Figura 2, Primera pantalla del asistente En esta pantalla, simplemente pulsaremos en Siguiente, para que se muestre la siguiente pantalla del asistente:

Figura 3, seleccionar el tipo de proyecto Aqu dejaremos la opcin que hay seleccionada, ya que lo que queremos es crear un proyecto de instalacin para una aplicacin de Windows. Pulsamos en Siguiente En la cuarta pantalla del asistente, se nos preguntar qu es lo que queremos incluir en el proyecto de instalacin, tal como se muestra en la Figura 4:

Figura 4, indicar los resultados a incluir en el proyecto de instalacin Si slo queremos distribuir el ejecutable, seleccionaremos la primera de las opciones: Resultado principal del "Nombre del proyecto", en caso de que queramos incluir tambin el cdigo fuente, seleccionaremos la ltima de las opciones que se indican, pero por ahora slo seleccionaremos la primera de ellas. Una vez realizada la seleccin, pulsaremos en Siguiente. Se nos mostrar la siguiente pantalla (ver la Figura 5), desde aqu podemos aadir ms archivos, como por ejemplo imgenes y otros ejecutables, bases de datos, etc., que nuestro programa necesite; en caso de que as sea, pulsaremos en el botn Agregar... y seleccionaremos el o los ficheros extras que queramos. Si no tenemos que aadir nada ms, (o cuando hayamos

terminado de agregar los ficheros que queramos), pulsaremos en Siguiente para finalizar el asistente.

Figura 5 Una vez terminado, el asistente nos mostrar informacin sobre las cosas que hemos indicado, tal como se muestra en la Figura 6:

Figura 6 Una vez que hemos terminado con el asistente, (despus de pulsar en el botn Finalizar), tendremos un nuevo proyecto en la solucin del proyecto que queremos distribuir. Esto lo podemos comprobar en el Explorador de soluciones, tal como podemos ver en la figura 7:

Figura 7, el explorador de soluciones Lo nico que nos queda es generar el proyecto Setup1 y ya tendremos creado el proyecto de instalacin, el cual se encontrar en la carpeta indicada para almacenar ese proyecto de instalacin y dependiendo que estemos en modo Debug o Release, tendremos que navegar hasta la carpeta correspondiente. Dentro de esa carpeta se incluirn estos ficheros:

Figura 8, los ficheros generados con el instalador Realmente slo necesitaremos el fichero con la extensin .msi, ya que el resto es para los casos de que el equipo de destino no disponga del Windows Installer 2.0, si estamos seguro de que es as, slo necesitaremos usar el fichero Setup1.msi, si no estamos seguro de que tenga el Windows Installer 2.0, usaremos los 5 ficheros incluidos en el directorio.

Nota: Si seleccionamos Propiedades del proyecto de instalacin (el ltimo icono mostrado al seleccionar el proyecto de instalacin del Explorador de soluciones, ver figura 7), podemos cambiar esta generacin de tantos ficheros "de soporte", es decir, podemos cambiar la configuracin para que slo se genere el fichero con extensin .msi

Proyecto de instalacin sin usar el asistente: Si te decides por seleccionar un proyecto de instalacin sin usar el asistente, sigue estos pasos para crearlo: 1- Del cuadro de dilogo de Agregar nuevo proyecto (ver figura 1), selecciona Proyecto de instalacin. 2- Se agregar un nuevo proyecto de instalacin. 3- Selecciona el proyecto del Explorador de soluciones, pulsa con el botn secundario del ratn y del men desplegable selecciona la opcin Agregar>Resultados del proyecto. 4- Se mostrar una ventana como la de la figura 9:

Figura 9, agregar grupo de resultados del proyecto 5- Seleccionaremos de la lista desplegable el proyecto que queremos usar y pulsaremos en Aceptar. A partir de este momento, el resto ser como si hubisemos

Bueno, y esto es todo... espero que, aunque slo haya sido de forma genrica, te haya quedado claro cmo crear un proyecto de instalacin para Windows. En otra ocasin veremos cmo crear otros tipos de proyectos de instalacin y/o cmo configurar o adaptar las imgenes que se mostrarn... aunque esto es lo mismo para un proyecto de Visual Studio .NET como para uno de Visual Studio (o Visual Basic), siempre que usemos el Visual Studio Installer.

Quiero mostrarles en esta oportunidad cmo crear un reporte en visual basic .net utilizando reporting services y el control reportView. Lo primero que necesitamos es crear una conexin a una base de datos, y lo haremos de la siguiente manera: Desde el explorador de servidores (si no lo ves podes activarlo desde el men Ver/Explorador de Servidores [Crtl+Alt+S]), creamos una nueva conexin. Seleccionamos SQL Server como se ve ne la imagen:

Luego debemos proporcionar los datos de conexin a nuestro servidor (Puedes presionar el botn [Probar Conexin] para asegurarte de que los datos son correctos). Puedes usar cualquier base de datos para el ejemplo:

Cuando finalices la conexin se ver como en la siguiente imagen:

Ahora debemos agregar un nuevo origen de datos a nuestra aplicacin:

Los origenes de datos pueden ser desde una base de datos, un servicio web o un objeto. Para este ejemplo usamos una base de datos.

Seleccionamos la conexin que creamos anteriormente.

Damos nombre a la conexin y seleccionamos siguiente:

Puede que nuestra base de datos tenga varias tables, seleccionamos la tabla que utilizaremos:

Al finalizar se ver como en la imagen siguiente, si no lo ves, selecciona el men Datos/Mostrar Origenes de Datos [Shift+Alt+D]:

Ya tenemos nuestro Origen de DAtos listo para ser utilizado. Ahora agregaremos un informe (report) a nuestro proyecto:

Seleccionamos Informe:

Se mostrar el diseador de informes. Agrega una tabla al informe.

Se ver mas o menos as:

Podemos agregar o quitar columnas haciendo clic con el botn derecho del mouse sobre alguna columna. Desde el panel Origenes de Datos arrastramos los campos sobre fila

del medio de la tabla. Como se ve en la imagen:

Luego en el Formulario Windows agregamos un control ReportView.

Desde la etiqueta inteligente del control seleccionamos nuestro reporte (report1.rdlc):

Luego, desde la misma etiqueta, seleccionamos Acoplar en el contenedor principal:

Notaremos que al seleccionar el informe, como el informe ya tena una tabla con datos de un origen de datos, se han creado en forma

automtica los componentes Dataset, TableAdapter y Binding Sources correspondientes.

Bueno, solo nos queda ejecutar la aplicacin. El resultado debera parecerse al de la siguiente imagen:

Los reportes afrecen varias funcionalidades mas que no he comentado por falta de tiempo. Lo har en futuros post. Espero que les sirva este ejemplo. hasta la prxima entrega.

3.2. Creando Base de Datos con MySQL A continuacin les paso el script para crear la base y la tabla que vamos a usar en el ejemplo --- Creando la base de datos -CREATE DATABASE IF NOT EXISTS bdblog; --- Usando la base de datos -USE bdblog; --- Creando la tabla -DROP TABLE IF EXISTS `visitante`; CREATE TABLE `visitante` ( `codigo` int(11) NOT NULL AUTO_INCREMENT, `nombre` varchar(50) NOT NULL, `fechaNacimiento` datetime NOT NULL, `peso` decimal(18,2) NOT NULL, PRIMARY KEY (`codigo`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1;

3.3. Creando los procedimiento El script de los procedimientos almacenados que vamos a usar -- Insertar Visitante DELIMITER $$ DROP PROCEDURE IF EXISTS `spI_visitante` $$

CREATE DEFINER=`root`@`localhost` PROCEDURE `spI_visitante`( _codigo int , _nombre varchar(50) , _fechaNacimiento datetime , _peso decimal(18, 2) ) BEGIN SELECT IFNULL(MAX(codigo),0)+1 into _codigo FROM `visitante`; INSERT INTO `visitante`( `codigo`, `nombre`, `fechaNacimiento`, `peso` ) VALUES ( _codigo, _nombre, _fechaNacimiento, _peso ); END $$ DELIMITER ; -- Actualizar Visitante DELIMITER $$ DROP PROCEDURE IF EXISTS `spU_visitante` $$ CREATE DEFINER=`root`@`localhost` PROCEDURE `spU_visitante`( _codigo int ,

_nombre varchar(50) , _fechaNacimiento datetime , _peso decimal(18, 2) ) BEGIN UPDATE visitante SET `nombre` = _nombre, `fechaNacimiento` = _fechaNacimiento, `peso` = _peso WHERE `codigo` = _codigo ; END $$ DELIMITER ; -- Mostrar todos los Visitante DELIMITER $$ DROP PROCEDURE IF EXISTS `spF_visitante_all` $$ CREATE DEFINER=`root`@`localhost` PROCEDURE `spF_visitante_all`( ) BEGIN select codigo, nombre, fechaNacimiento, peso from visitante order by nombre; END $$ DELIMITER ;

3.4. Creando el proyecto en Visual Basic 6.0. Debemos de crear un proyecto en Visual Basic 6.0 y luego diseamos el siguiente formulario

Y las referencias del proyecto deberian ser las siguientes:

3.4.1. Mtodos de soporte Dentro del formulario vamos a crear unos mtodos que den soporte a nuestro formulario. Como el evento limpiar, que limpia todos los textbox o el mtodo habilitar que habilita los controles.
Option Explicit 'Para saber si es un nuevo registro Dim nuevo As Boolean 'Para saber si vamos a modificar Dim modificar As Boolean 'Habilita los controles que son textbox, combobox, dtpicker Private Sub habilitar(ByVal blnEstado As Boolean) Dim crl As Control For Each crl In Me.Controls If TypeOf crl Is TextBox Or TypeOf crl Is ComboBox Or TypeOf crl Is DTPicker Then crl.Enabled = blnEstado End If Next End Sub 'Limpia las cajas de texto Private Sub limpiar() Dim crl As Control For Each crl In Me.Controls If TypeOf crl Is TextBox Then crl.Text = "" End If Next End Sub 'Habilita o deshabilita los botones Private Sub botones()

If nuevo = True Or modificar = True Then habilitar True btnNuevo.Enabled = False btnGuardar.Enabled = True btnModificar.Enabled = False btnCancelar.Enabled = True Else habilitar False btnNuevo.Enabled = True btnGuardar.Enabled = False btnModificar.Enabled = True btnCancelar.Enabled = False End If End Sub 'Cargamos los metodos en el load Private Sub Form_Load() nuevo = False modificar = False habilitar False botones 'Este metodo lo implementamos despues llenarListView End Sub

3.4.2. Mtodo Conectar


El siguiente mtodo nos permite conectarnos a la base de datos que esta en MySQL desde Visual Basic 6.0. Public Function Conectar() As ADODB.Connection Dim con As ADODB.Connection Set con = New ADODB.Connection con.CursorLocation = adUseClient con.Open "DRIVER={MySQL ODBC 3.51 Driver};" _ & "SERVER=localhost;" _ & "DATABASE=bdblog;" _ & "UID=root;PWD=clave;PORT=3306;OPTION=131072" Set Conectar = con End Function

3.4.3. Mtodo llenar listView Private Sub llenarListView() With lvwVisitante .Refresh .ListItems.Clear End With Dim sqlcon As ADODB.Connection Set sqlcon = Me.Conectar Dim sqlrec As New ADODB.Recordset sqlrec.Open "call spF_visitante_all()", sqlcon, adOpenStatic, adLockOptimistic Dim Item As ListItem While Not sqlrec.EOF Set Item = lvwVisitante.ListItems.Add(, , sqlrec!nombre) Item.Tag = sqlrec!nombre Item.SubItems(1) = VBA.Format$(sqlrec!fechaNacimiento, "dd-MM-yyyy") Item.SubItems(2) = "" & sqlrec!peso Item.SubItems(3) = "" & sqlrec!Codigo sqlrec.MoveNext Wend lvwVisitante.Refresh sqlrec.Close sqlcon.Close Set sqlrec = Nothing Set sqlcon = Nothing End Sub 3.4.4. Mtodo para insertar un visitante Este mtodo sirve para insertar un visitante a nuestra base de datos y llama al procedimiento almacenado "spI_Visitante" Public Function insertarvisitante() As Boolean On Error GoTo Problemas Dim rpta As Boolean ' Variables que nos indicar si se inserto el Registro

rpta = False Dim sqlcon As ADODB.Connection ' Variable que sirve para establecer la conexion con MySQL Set sqlcon = Me.Conectar Dim sqlcmd As New ADODB.Command ' El comando que vamos a ejecutar --> Insertar un registro a la tabla visitante With sqlcmd .CommandText = "call spI_visitante(" & _ "?," & _ "?," & _ "?," & _ "?" & _ ")" .ActiveConnection = sqlcon ' Establecemos la conexion al comando .CommandType = adCmdText ' Va a ejecutar un Store Procedure .Prepared = True ' La sentencia esta prepara para ejecutarse End With 'Parametros que tendra el procedimiento almacenado spI_visitante Dim paramcodigo As New ADODB.Parameter Dim paramnombre As New ADODB.Parameter Dim paramfechaNacimiento As New ADODB.Parameter Dim parampeso As New ADODB.Parameter 'Establecemos los valores para los parametros del procedimiento almacenado spI_visitante With paramcodigo .Name = "_codigo" .Size = 0 .Direction = adParamInput .Type = adInteger .Value = 0 End With With paramnombre .Name = "_nombre" .Size = 50 .Direction = adParamInput .Type = adVarChar

.Value = UCase(Me.txtNombre.Text) End With With paramfechaNacimiento .Name = "_fechaNacimiento" .Size = 0 .Direction = adParamInput .Type = adDate .Value = Me.dtpFechaNacimiento.Value End With With parampeso .Name = "_peso" .Size = 0 .Direction = adParamInput .Type = adDecimal .Precision = 18 .NumericScale = 2 .Value = Me.txtPeso.Text End With 'Agregamos los parametros al comando sqlcmd.Parameters.Append paramcodigo sqlcmd.Parameters.Append paramnombre sqlcmd.Parameters.Append paramfechaNacimiento sqlcmd.Parameters.Append parampeso 'Ejecutamos el procedimiento sqlcmd.Execute 'Limpiamos los recursos Set sqlcmd = Nothing sqlcon.Close Set sqlcon = Nothing insertarvisitante = True Exit Function Problemas: insertarvisitante = False Exit Function End Function 3.4.5. Mtodo para actualizar un visitante Este mtodo sirve para actualizar un visitante a nuestra base de datos y llama al procedimiento almacenado "spU_Visitante"

Public Function actualizarvisitante() As Boolean On Error GoTo Problemas Dim rpta As Boolean ' Variables que nos indicar si se actualizo el Registro rpta = False Dim sqlcon As ADODB.Connection ' Variable que sirve para establecer la conexion con MySQL Set sqlcon = Me.Conectar Dim sqlcmd As New ADODB.Command ' El comando que vamos a ejecutar --> Actualizar un registro a la tabla visitante With sqlcmd .CommandText = "call spU_visitante(" & _ "?," & _ "?," & _ "?," & _ "?" & _ ")" .ActiveConnection = sqlcon ' Establecemos la conexion al comando .CommandType = adCmdText ' Va a ejecutar un Store Procedure .Prepared = True ' La sentencia esta prepara para ejecutarse End With 'Parametros que tendra el procedimiento almacenado spI_visitante Dim paramcodigo As New ADODB.Parameter Dim paramnombre As New ADODB.Parameter Dim paramfechaNacimiento As New ADODB.Parameter Dim parampeso As New ADODB.Parameter 'Establecemos los valores para los parametros del procedimiento almacenado spI_visitante With paramcodigo .Name = "_codigo" .Size = 0 .Direction = adParamInput .Type = adInteger .Value = Me.lblCodigo.Caption End With With paramnombre

.Name = "_nombre" .Size = 50 .Direction = adParamInput .Type = adVarChar .Value = UCase(Me.txtNombre.Text) End With With paramfechaNacimiento .Name = "_fechaNacimiento" .Size = 0 .Direction = adParamInput .Type = adDate .Value = Me.dtpFechaNacimiento.Value End With With parampeso .Name = "_peso" .Size = 0 .Direction = adParamInput .Type = adDecimal .Precision = 18 .NumericScale = 2 .Value = Me.txtPeso.Text End With 'Agregamos los parametros al comando sqlcmd.Parameters.Append paramcodigo sqlcmd.Parameters.Append paramnombre sqlcmd.Parameters.Append paramfechaNacimiento sqlcmd.Parameters.Append parampeso 'Ejecutamos el procedimiento sqlcmd.Execute 'Limpiamos los recursos Set sqlcmd = Nothing sqlcon.Close Set sqlcon = Nothing actualizarvisitante = True Exit Function Problemas: actualizarvisitante = False Exit Function End Function

3.4.6. Eventos de los controles del formulario A continuacin les mostraremos los eventos de los botones del formulario y del evento double clic del listview 'Evento clic del boton cancelar Private Sub btnCancelar_Click() nuevo = False modificar = False botones limpiar Me.lblCodigo.Caption = "" End Sub 'Evento clic del boton guardar Private Sub btnGuardar_Click() Dim respuesta As Integer Dim rpta As Boolean rpta = False If nuevo = True Then rpta = Me.insertarvisitante Else respuesta = MsgBox("Desea guardar los cambios realizados", 52, "MENSAJE") If respuesta = vbYes Then rpta = Me.actualizarvisitante End If End If If rpta = True Then Dim men As String men = "Se " If nuevo = True Then men = men + "registro " Else men = men + "actualizo " End If men = men + "de forma correcta al Visitante" MsgBox men, vbDefaultButton1, "MENSAJE" Else

MsgBox "No se realizo el proceso correctamente", vbCritical, "ERROR" End If nuevo = False modificar = False botones limpiar llenarListView Me.lblCodigo.Caption = "" End Sub 'Evento clic del boton modificar Private Sub btnModificar_Click() If lblCodigo.Caption <> "" Then modificar = True botones Else MsgBox "Debe de buscar un dato para modificar", vbCritical, "ERROR" End If End Sub Private Sub btnNuevo_Click() nuevo = True modificar = False botones limpiar Me.txtNombre.SetFocus Me.lblCodigo.Caption = "" End Sub 'Evento double clic del lisview Private Sub lvwVisitante_DblClick() On Error GoTo Problemas If lvwVisitante.ListItems.Count = 0 Then Exit Sub If lvwVisitante.SelectedItem Is Nothing Then Exit Sub Me.txtNombre.Text = lvwVisitante.SelectedItem.Tag

Me.dtpFechaNacimiento.Value = lvwVisitante.SelectedItem.SubItems(1) Me.txtPeso.Text = lvwVisitante.SelectedItem.SubItems(2) Me.lblCodigo.Caption = lvwVisitante.SelectedItem.SubItems(3) Exit Sub Problemas: MsgBox "Debe de seleccionar un Visitante", vbCritical, "ERROR" Exit Sub End Sub

S-ar putea să vă placă și