Inicio > Microsoft Excel > asaroma > FORMULARIOS I

FORMULARIOS I

Experto:
Usuario:
Fecha: 02/10/2008
Valoración: (3,00 sobre 5) Categoría: Microsoft Excel
01/10/2008
monir, usuario preguntando en Microsoft Excel
Usuario
Hola a todos:
Tengo un formulario con 5 etiquetas, 5 caja de texto y 4 botones (grabar, buscar, modificar y salir).
Si busco un cliente a partir de unas  letras en la caja de texto1, me localiza por aproximación como si pusiera todo el nombre del cliente, y me muestra todos sus datos en las demás cajas de texto, el problema es que si busco al principio un cliente que no existe las demás cajas de texto quedan vacìas, pero si lo busco después de haber localizado un cliente, las cajas de texto quedan con la información del último cliente,¿cómo puedo hacer para que si busco un cliente que no existe después de haber encontrado a uno que si existe, las cajas de texto queden vacias?
Gracias de antemano y saludos:
Private Sub CommandButton2_Click()
Sheets("Clientes").Select
Range("B5").Select
On Error GoTo noencontro
Columns("B").Find(What:=TextBox1, After:=ActiveCell, LookIn:=xlFormulas, LookAt _
:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
False).Activate
TextBox1 = ActiveCell
ActiveCell.Offset(0, 1).Select
TextBox2 = ActiveCell
ActiveCell.Offset(0, 1).Select
TextBox3 = ActiveCell
ActiveCell.Offset(0, 1).Select
TextBox4 = ActiveCell
ActiveCell.Offset(0, 1).Select
TextBox5 = ActiveCell
ActiveCell.Offset(0, -4).Select
noencontro:
End Sub
01/10/2008
monir, experto respondiendo en Microsoft Excel
Experto
Lo que podrias hacer es limpiar las cajas de texto antes de buscar el siguiente cliente , como :
TextBox1.Text=""
TextBox2.Text=""
TextBox3.Text=""
TextBox4.Text=""
TextBox5.Text=""
para que no quede almacenado la información de tu ultimo cliente.
01/10/2008
monir, usuario preguntando en Microsoft Excel
Usuario
Esa es la forma en que lo he estado intentando, el problema es exactamente en dónde se debe escribir eso, porque ya intenté en varios lados y lo ùnico que he conseguido es que o no me lo tome en cuenta o no me busque información alguna, ¿me podrìas decir exactamente donde debo escribir eso?
Gracias
01/10/2008
monir, experto respondiendo en Microsoft Excel
Experto
Puedes optar despues de tu :
 
noencontro:
TextBox1.text=""
.....
o  despues de :
Private sub commmand_click()
TextBox1.tex=""
.....
01/10/2008
monir, usuario preguntando en Microsoft Excel
Usuario
Si lo pongo después del "no encontro:", si busca el cliente, pero ya no me despliega la información en los cuadros de texto, porque le estoy diciendo que todos los vacíe.
Si lo pongo despues de "Private..."  no encuentra nada porque la caja de busqueda es TextBox1, y le estoy dando el valor de "".
Esto me hace suponer que tal vez este mal estructurado mi formulario, ¿tendré otra opciòn?
La idea es buscar si existe un registro a partir del TextBox1, y si no existe, que no presente información alguna
01/10/2008
monir, experto respondiendo en Microsoft Excel
Experto
Estaria bueno verlo, pero en todo caso , no limpies el textbox1 y el resto si.
 
despues de tu noencontro:
pon esto:
MsgBox "El codigo que ingresastes:" & vbCrLf & _
" - no se encuentra" & vbCrLf & _
" - o esta mal digitado", vbExclamation + vbOKOnly, _
"Aviso"
 
bye.
02/10/2008
monir, usuario preguntando en Microsoft Excel
Usuario
Gracias
Enlaces patrocinados