Formularios i

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 vacías?
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

1 respuesta

Respuesta
1
Lo que podrías 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.
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
Puedes optar después de tu :
Noencontro:
TextBox1.text=""
...
O después de :
Private sub commmand_click()
TextBox1.tex=""
...
Si lo pongo después del "no encontró:", 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 después de "Private..." no encuentra nada porque la caja de búsqueda 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
Estaría bueno verlo, pero en todo caso, no limpies el textbox1 y el resto si.
Después de tu noencontro:
Pon esto:
MsgBox "El codigo que ingresastes:" & vbCrLf & _
" - no se encuentra" & vbCrLf & _
" - o esta mal digitado", vbExclamation + vbOKOnly, _
"Aviso"
Bye.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas