ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Un registro de información debe tener por lo general las opciones de Consulta, Eliminar e Insertar


Enviado por   •  14 de Abril de 2015  •  Trabajos  •  1.378 Palabras (6 Páginas)  •  239 Visitas

Página 1 de 6

6.7 Elaborando una consulta

Un registro de información debe tener por lo general las opciones de Consulta, Eliminar e Insertar.

A modo de ejercicio crearemos un formulario el cual tendrá tres cuadros de texto (Nombre, dirección y teléfono) y tres botones que servirán para lo siguiente: Consultar, consultará la información que hayamos insertado. Eliminar, podrá eliminar algún dato que deseamos borrar. Insertar, tendrá la función de insertar los registros indicados.

A los cuadros de texto asociados a las etiquetas Nombre, Dirección y Teléfono, no les agregaremos ningún código, ya que no haremos ningún cambio en escribir en ellos. El cambio lo haremos al presionar los botones Consulta, Eliminar o Insertar.

Cuadro de Texto, Dirección:

Private Sub TxtDirec_Change()

End Sub

Cuadro de Texto, Nombre:

Private Sub TxtNomb_Change()

End Sub

Cuadro de Texto, Teléfono:

Private Sub TxtTelef_Change()

End Sub

En los botones Consulta, Eliminar e Insertar si escribiremos código.

Botón Consulta: El botón consulta nos permite conocer la dirección y teléfono de una persona. Debemos escribir correctamente el nombre, para poder encontrarlo. Además, al consultar el nombre de la persona se selecciona en el registro en Excel la celda que contiene el nombre la persona, lo que nos permite después de consultarlo, eliminarlo si es que lo deseamos.

En caso de que no se encuentre el nombre de la persona consultada, se enviará un mensaje al usuario que indique que no se pudo hallar a la persona buscada.

El código del botón utiliza el método Cells.Find. Recordemos que Find significa Encontrar.

Private Sub BtnConsulta_Click()

Dim x As Integer

x = 3

Set Cell = Cells.Find(What:=TxtNomb, After:=ActiveCell, LookIn:=xlFormulas, LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False)

If Cell Is Nothing Then MsgBox "No se pudo hallar el dato buscado": x = 2: TxtNomb = Empty: TxtDirec = Empty: TxtTelef = Empty

If x = 3 Then

Cell.Activate

ActiveCell.Offset(0, 1).Select

TxtDirec = ActiveCell

ActiveCell.Offset(0, 1).Select

TxtTelef = ActiveCell

End If

End Sub

La instrucción:

Dim x As Integer

x = 3

será utilizada como "bandera" es decir, usaremos el valor de x como indicador para saber si la celda fue encontrada o no y en base a eso, ejecutar distintas acciones. El valor que toma x inicialmente es 3, sin embargo, si la celda no es encontrada con el método .find, x tomará el valor 2.

Lo siguiente que haremos es definir un celda. Set Cell = Cells.Find nos indica que la variable Cell tomará el valor de la celda encontrada (Cells.Find). En caso de que el resultado de Cells.Find sea nulo (no se halló la celda buscada), entonces Cell tomará un valor nulo

.

What:= TxtNomb : (What? = ¿Qué?) Indica que se buscará el valor que se encuentre en el cuadro de texto TxtNomb (nombre).

LookAt:=xlWhole : (LookAt = Mirar a - Whole = Todo) Indica que se buscará la palabra completa (Whole). Por ejemplo si se busca Carlo y el nombre es Carlos, no será encontrado. Si en vez de usar xlWhole, se utilizara xlPart (Part = Parte), al escribir la palabra Car, se podrí¬a encontrar el nombre Carlos o el nombre Carolina(se indicaría el primer valor que encuentre).

Recordemos que Cell es igual al resultado de Cells. Find Si no se encuentra nada, Cell será nulo. En el siguiente código indicamos: Si Cell is Nothing (nada) then (entonces) se enviará un mensaje al usuario "No se pudo hallar el dato buscado", además x = 2.

Los cuadros de texto serán vaciados (Empty) para poder realizar otra búsqueda.

If Cell Is Nothing Then MsgBox "No se pudo hallar el dato buscado": x = 2: TxtNomb = Empty: TxtDirec = Empty: TxtTelef = Empty

Como vimos en la instrucción anterior, si Cell es nulo (no se encontró nada con Cells.Find), entonces x = 2. Si x es igual a 2, no se ejecutará el siguiente código, porque el siguiente código se ejecuta solo si x es igual a 3. En otras palabras, se ejecutará el siguiente código solo si Cells.Find encontró un resultado y por lo tanto x no tomó el valor 2.

Si x es igual a 3, entonces vamos a activar la celda encontrada (Cell.Activate).

If x = 3 Then

Cell.Activate

La lí¬nea que contiene el ActiveCell.Offset(0, 1).Select permite moverse una columna a la derecha, por lo tanto después de activar la celda encontrada, se activará la celda que se encuentra a la derecha. Como la celda activa inicialmente era el nombre de la persona, la nueva celda que se activará será la dirección ya que esta se encuentra a la derecha del nombre. La lìnea TxtDirec = ActiveCell asignar el valor de la celda activa al

...

Descargar como (para miembros actualizados)  txt (8.2 Kb)  
Leer 5 páginas más »
Disponible sólo en Clubensayos.com