You are on page 1of 5

Tutorial Consulta con Campos de Texto

Continuando con el mismo proyecto del tutorial anterior, en la siguiente Tab, vamos a renombrarla Consulta de Varios Registros con TextBox.

1.

Agregaremos desde el cuadro de herramientas el objeto ToolStrip, el cual nos permite crear un men al estilo Windows, en el podemos agregar botones, combobox, etiquetas y otros objetos. Para nuestro fin agregaremos 6 Botones, igualmente como he dicho en ocasiones pasadas, pueden personalizar los controles como ustedes quieran. En el Blog hay una publicacin para que puedan descargar un pack de iconos (bsquenlo en las primeras entradas creadas, si no lo han descargado aun), ya que utilizaremos estos iconos para los botones que agreguemos.

2. Para agregarle los iconos a los botones, tenemos que, con el botn seleccionado vamos a las propiedades y buscamos una llamada image y hacemos click en ella.

Al hacer Click all, nos despliega una ventana donde escogemos el archivo del icono que vamos a utilizar, si ya tenemos los recursos importados al proyecto, podemos seleccionarlo de la lista tal como se en la imagen, sino, podemos agregarlo como un recurso local. [Recomendacin importar siempre los recursos como archivo de recurso del proyecto, esto para garantizar que funcione en cualquier ubicacin en que se ejecute el programa, esto se logra al hacer click en el botn importar que aparece debajo de la lista] 3. Una vez importados los iconos a los botones tendrn una apariencia como esta

Tip: hay una propiedad llamada ToolTipText, esta propiedad despliega una etiqueta de ayuda sobre el botn que nos dice que hace, por ejemplo en el botn de salir podemos poner en esta propiedad Salir o cerrar. 4. Una vez hecho esto, procedemos a agregar 5 objetos Text Box con sus respectivas etiquetas. En estos Textbox es que cargaremos los registros de la consulta y a su vez con las flechas podremos navegar por los diferentes registros. Al insertar los campos de texto nuestro formulario debera de verse as:

5. Como nuestro formulario es para consulta debemos inhabilitar los campos para que el usuario no pueda escribir o modificar la data que se muestra en ellos, esto lo logramos con una propiedad que tienen los textbox llamada ReadOnly , esta propiedad la colocamos en estatus True. 6. Al hacer este cambio notaran que los textbox cambiaran su color a un tono gris, solo tenemos que ir a la propiedad backColor y colocarla nuevamente en Blanco. Bien, una vez que terminamos de construir la interface del usuario comenzaremos a crear el cdigo que har funcional esta parte del formulario. 7. Comenzaremos por el botn consultar. Primero que nada a los botones de navegacin de registro por defecto le vamos a colocar la propiedad visible en estado false, para que cuando el formulario cargue el usuario no pueda visualizarlos, y una vez que haga la consulta le cambiamos el estatus a True.

Antes de codificar el botn debemos declara como objeto publico el Binding, esto se hace en la parte superior del cdigo[donde empieza el programa] con el siguiente cdigo: Public enlace As New BindingSource Ahora si hacemos doble Click en el botos de consulta para programarlo. El cdigo que llevara este botn es el siguiente:

' Lo primero que vamos hacer es declarar una variable de tipo String, donde almacenaremos la cadena del

' sql de la consulta, en el tutorial anterior veiamos como podemos traernos el nombre de la ciudad usando ' el selector multiple case, pero como no podemos saber cuantas ciudades pueden estar cargadas en la base de ' datos, o si tenemos agregadas todas las ciudades del mundo seria contra producente hacer cientos de ' condiciones, en este caso vamos a trabajar con lo que se llama una consulta anidada, dentro de la sentencia ' select entre parentesis hacemos la subconsulta[ojo el resultado que traiga esta sub consulta no puede ser ' mayor a un registro, sino genera un error]. Expliquemos que es lo que hace esto: esta subconsulta ' se convertira en una columna mas de la consulta, trayendo como resultado el nombre de la ciudad[el cual ' se encuentra almacenado en la tabla ciudad, cuando el id_ciudad en la tabla ciudad sea el mismo id que ' esta en el campo direccion de la tabla clientes, es decir que si en la tabala clientes aparece en direccion ' 1 eso se transforma en 'Maracay' Dim consulta As String consulta = " SELECT " + _ " NOMBRE, " + _ " CEDULA, " + _ " (SELECT CIUDAD FROM CIUDAD WHERE ID_CIUDAD = DIRECCION) DIRECCION, " + _ " TELEFONO, " + _ " CASE " + _ " WHEN ESTATUS = '1' THEN " + _ " 'ACTIVO' " + _ " WHEN ESTAUS = '0' THEN " + _ " 'INACTIVO' " + _ " END ESTATUS " + _ " FROM " + _ " CLIENTES " ' Aqui empezamos a ver lo util de usar funciones, como ya declaramos una funcin de busqueda ' de varios registros en el modulo funciones, solo hacemos el llamado sin tener que volver a codificar Dim tabla As New DataTable tabla = BuscarDatosDatatable(consulta) ' Vamos a revisar en la parte superior del cdigo, donde se hacen la declaraciones publicas ' y veremos que hay un objeto de tipo Binding llamado enlace, ' le indicamos cual va a ser su origen de datos, en este caso es el datatable llamado ' tabla, que es donde se almaceno el resultado de la consulta que devolvio la funcin enlace.DataSource = tabla ' Ahora lo que haremos ser enlazar los campos de texto a este Binding llamado enlace ' A la funcin Add se le pasan 3`parametros los cuales son: el tipo de datos que trabajara[como son textbox, ' este siempre sera TEXT, el segundo en el nombre del Binding y el tercero es el nombre de la columna, ' si se fijan en el sql la primera columna es NOMBRE

Me.nombre.DataBindings.Add("TEXT", enlace, "NOMBRE") Me.cedula.DataBindings.Add("TEXT", enlace, "CEDULA") ' Un punto importante cuando se trata de una subconsulta o de un selector case por defecto la ' columna no trae en vez de un nombre un nmero se resulve colocandole un alias, si se fijan luego ' que cierro los parantesis en la subconsulta coloco la palabra direccion, ese es el alias de la ' columna, ahora el programa reconoce a esa columna con el nombre direccion, de igual forma en el ' caso del case al final al lado del end fijense que dice estatus, ese es el alias para esa columna Me.direccion.DataBindings.Add("TEXT", enlace, "DIRECCION") Me.telefono.DataBindings.Add("TEXT", enlace, "TELEFONO") Me.estatus.DataBindings.Add("TEXT", enlace, "ESTATUS") ' Y listo ya tenemos enlazados los campos de texto a los datos de la consulta ' Ahora colocaremos de manera visible los botones de navegacin[las flechas] primero.Visible = True anterior.Visible = True siguiente.Visible = True ultimo.Visible = True

8. Ya con esto tenemos hecha la consulta y lo campos enlazados, ahora solo tenemos que codificar los botones de navegacin para que los registros cambien a medida que hagamos click: Para el botn primero: enlace.MoveFirst() Para el botn anterior: enlace.MovePrevious() Para el botn siguiente: enlace.MoveNext() Para el botn ltimo: enlace.MoveLast()

Ya con esto finalizamos son dos ejercicios uno para cada semana, llegando nuevamente yo, tenemos evaluacin y pasamos a la parte de insercin de registros.

You might also like