FoxPro/Visual FoxPro - validar datos en inputbox()

 
Vista:
sin imagen de perfil

validar datos en inputbox()

Publicado por erik (8 intervenciones) el 25/09/2016 03:49:36
bueno esta es la duda tengo un formulario con 4 textbox y un command1

esto es lo que quiero hacer en el evento click del command esta un inputbox es cual pide datos basicos comenzando por el numero de identidad (este caso numero de cedula) el cual busca en una tabla su existencia para no pedir los demas datos bueno lo que quiero hacer es evitar que el inputbox me quede en blanco es decir que el boton aceptar del inputbox no me acepte si esta vacio el campo esto es lo que tengo en codigo

LOCAL i,p,eoficina,eimpre

erif=INPUTBOX("ingrese Rif","Nuevo")

IF !EMPTY(erif)
SELECT cliente
LOCATE FOR alltrim(UPPER(rif))=alltrim(UPPER(erif))
IF FOUND()
thisform.text9.Value=nombre
thisform.text10.Value=direccion
thisform.text11.Value=rif
thisform.text12.Value=telefono
ELSE

econtratante=INPUTBOX("Ingrese contratante ","Nuevo")
DO WHILE EMPTY(econtratante)
MESSAGEBOX("Ingrese contratante ",64)
econtratante=INPUTBOX("Ingrese contratante ","Nuevo")
ENDDO
edireccion=INPUTBOX("Ingrese dirección","Nuevo")

etelefono=INPUTBOX("Ingrese teléfono","Nuevo")


thisform.text9.Value=nombre
thisform.text10.Value=edireccion
thisform.text11.Value=erif
thisform.text12.Value=etelefono
ENDIF
ENDIF

agradesco pronta respuesta gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 1.011
Oro
Ha mantenido su posición en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

validar datos en inputbox()

Publicado por Fidel José (657 intervenciones) el 25/09/2016 17:04:26
Mejor agrega un textbox para el Rif y utilizas el evento valid para la búsqueda.
Ventajas:
Puedes restringir la cantidad de caracteres y el formato
Puedes utilizar un método de formulario o de clase, o un procedure para efectuar la búsqueda y devolver lo que sea.

Mira este ejemplo. El método buscar_datos te permite buscar cualquier dato tipo Charcter en cualquier tabla o cursor
Para el ejemplo, utilizo 6 textbox en un container y el método en el formulario (sería mejor en una clase o procedure para utilizarlo desde cualquier lugar del sistema).

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
* Method "BUSCAR_DATOS"
*----------------------
LPARAMETERS tcCursor_Search,;
		tcField_Search,;
		tcValue_Search
 
LOCAL lnTally,;
	lcSelect,;
	loResp as Object
 
LOCAL ARRAY laSearch(1)
loResp = null
tcValue_Search = UPPER(ALLTRIM(m.tcValue_Search))
 
TEXT TO lcSelect TEXTMERGE NOSHOW PRETEXT 15
SELECT <<tcField_Search>>,RECNO() as n_record
FROM <<tcCursor_Search>>
WHERE UPPER(ALLTRIM(<<tcField_search>>)) == "<<tcValue_Search>>"
INTO ARRAY laSearch
ENDTEXT
 
&lcSelect
 
lnTally = _tally
 
IF !EMPTY(m.lnTally)
	loResp = NEWOBJECT("Empty")
	SELECT (m.tcCursor_Search)
	GO laSearch[1,2]
	SCATTER NAME loResp
ENDIF
RETURN loResp
 
*-------------------------------------------------------------------
 
*Valid Event (txt_dato)
this.Value = UPPER(ALLTRIM(this.Value))
WITH this.Parent
	.txt_Nombre.Value = ""
	.txt_Cuit.Value = ""
	.txt_Calle.Value = ""
	.txt_Ciudad.Value = ""
	.txt_provincia.Value = ""
ENDWITH
IF EMPTY(this.Value)
	lnMess = MESSAGEBOX("Este campo no puede estar vacío"+CHR(13);
		+ "Desea abandonar el proceso?",4,PROPER(PROGRAM()))
	IF lnMess = 6
		thisform.Release
	ENDIF
	RETURN 0
ENDIF
IF !EMPTY(this.Value)
	loGet = thisform.Buscar_datos("clientes","idclien",this.Value)
	IF ISNULL(loGet)
		MESSAGEBOX("No se encontró el valor buscado",0,PROPER(PROGRAM()))
		this.Value = ""
		RETURN 0
	ENDIF
	WITH this.Parent
		.txt_Nombre.Value = loGet.Nombre
		.txt_Cuit.Value = loGet.Cuit
		.txt_Calle.Value = loget.Calle
		.txt_Ciudad.Value = loGet.Ciudad
		.txt_provincia.Value = loget.Provincia
	ENDWITH
	loGet = null
ENDIF
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

validar datos en inputbox()

Publicado por erik (8 intervenciones) el 25/09/2016 17:48:40
gracias creo que lo solucione de una manera mas sutil con un form del tamaño della ventana del inputbox
realmente no quería hacerlo así pero es mejor así puedo manejar cada objeto a gusto
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar