FoxPro/Visual FoxPro - Validar si el Set filter no encuentra ningun valor

 
Vista:
sin imagen de perfil

Validar si el Set filter no encuentra ningun valor

Publicado por neo (1604 intervenciones) el 06/08/2007 17:08:18
buen dia comunidad...

Como puedo validar si el "Set Filter to" no encuentra ningun valor....enviar un messagebox
"No existe datos en ese intervalo de fechas"

algo asi..


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

RE:Validar si el Set filter no encuentra ningun va

Publicado por Ernesto Hernandez (4623 intervenciones) el 06/08/2007 17:16:55
por que no usar un SELECT ?
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

RE:Validar si el Set filter no encuentra ningun va

Publicado por Ernesto Hernandez (4623 intervenciones) el 06/08/2007 17:21:11
se corto mi mensaje perdon

y ya despues que tengas tu informacion en un cursor puedes hacer

IF !NomCursor
MessageBox('No hay información disponible',64,'NeoSystems')
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

RE:Validar si el Set filter no encuentra ningun va

Publicado por enrique (1041 intervenciones) el 06/08/2007 18:17:52
es correcto lo que dice Ernesto, pero yo reemplazaria el IF por _TALLY=0

DESPUES DEL SELECT
IF _TALLY=0
MESSAGEBOX('No hay información disponible',64,'NeoSystems')
ENDIF

ya que el cursor se genera si o si
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

RE:Validar si el Set filter no encuentra ningun va

Publicado por neo (1604 intervenciones) el 06/08/2007 18:39:40
bueno NeoSystem no sino "VisualFx Programmer" ....y pues no acostumbro trabajar con cursores ni sentencias SQL

Ahora bien, el codigo lo tengo para un reporte:

LOCAL fech1,fech2
fech1=Thisform.text1.value
fech2=Thisform.text2.Value
SELECT registros
SET FILTER TO UPPER(alltrim(Thisform.combo1.value)) = UPPER(ALLTRIM(solicitud2)) AND fecha2>fech1 AND fecha2<fech2
GO top
aqui: "un mensaje si no hay datos"

imprime=MESSAGEBOX("Desea Imprimir una lista con este tipo de Solicitud?",4+48,"Imprimir")
IF imprime=6
_screen.windowState=2
REPORT FORM "Impresion_sol1.frx" preview
Thisform.Release
SELECT registros
SET FILTER TO
ELSE
Thisform.combo1.Value=""
Thisform.cmd1.click()
Thisform.Refresh
SELECT registros
SET FILTER TO
ENDIF

Thisform.Refresh
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

RE:Validar si el Set filter no encuentra ningun va

Publicado por Plinio (7841 intervenciones) el 06/08/2007 18:57:17
Count to cantidad_registros
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

RE:Validar si el Set filter no encuentra ningun va

Publicado por neo (1604 intervenciones) el 06/08/2007 19:06:14
pero si no encuentra nada, como le digo que me mande un mensaje si no encuentra nada; ya que como uds saben si no encuentra nada el "Set Filter To" y al momento de generar el reporte entra y cierra, ya que no existen datos a mostrar...es solo eso...

Gracias►
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

RE:Validar si el Set filter no encuentra ningun va

Publicado por Plinio (7841 intervenciones) el 06/08/2007 19:10:19
LOCAL fech1,fech2
fech1=Thisform.text1.value
fech2=Thisform.text2.Value
SELECT registros
SET FILTER TO UPPER(alltrim(Thisform.combo1.value)) = UPPER(ALLTRIM(solicitud2)) AND fecha2>fech1 AND fecha2<fech2
GO top
LOCAL cantidad_registros
COUNT TO cantidad_registros
IF cantidad_registros =0
=messagebox("no hay registros",16,"Aviso")
RETURN .F.
ENDIF

*aqui: "un mensaje si no hay datos"

imprime=MESSAGEBOX("Desea Imprimir una lista con este tipo de Solicitud?",4+48,"Imprimir")
IF imprime=6
_screen.windowState=2
REPORT FORM "Impresion_sol1.frx" preview
Thisform.Release
SELECT registros
SET FILTER TO
ELSE
Thisform.combo1.Value=""
Thisform.cmd1.click()
Thisform.Refresh
SELECT registros
SET FILTER TO
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

RE:Validar si el Set filter no encuentra ningun va

Publicado por neo (1604 intervenciones) el 06/08/2007 19:38:56
Si...tan sencillo una variable y la funcion "Count"...Gracias Plinio otra vez...

Un Saludo►

Note;
Te debo un tequila....je,je
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

RE:Validar si el Set filter no encuentra ningun va

Publicado por Plinio (7841 intervenciones) el 06/08/2007 19:49:15
- Count es un comando
- Toma en cuenta el uso del SQL. No puedo creer que te pierdas de tan buena herramientas (Cursores, Vistas, vistas parametrizadas, etc)
- Bueno, lo del Tequila, tengo planes de ir a Mexico, asi que te aviso.
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

RE:Validar si el Set filter no encuentra ningun va

Publicado por Saul (728 intervenciones) el 06/08/2007 20:12:39
Yo cambiaria tu codigo por esto y ademas comiensas a ver la utilidad que dicen los colegas el SELECT SQL

Suerte

LOCAL fech1,fech2
fech1=Thisform.text1.value
fech2=Thisform.text2.Value

** Para empesar a hacer tus cursores
SELECT * FROM registros;
WHERE UPPER(alltrim(Thisform.combo1.value)) = UPPER(ALLTRIM(solicitud2));
AND BETWEEN(fecha2,fech1,fech2);
INTO CURSOR MiCursor

SELECT MiCursor
IF RECCOUN() = 0
=messagebox("no hay registros",16,"Aviso")
RETURN .F.
ELSE

imprime=MESSAGEBOX("Desea Imprimir una lista con este tipo de Solicitud?",4+48,"Imprimir")
IF imprime=6
_screen.windowState=2
REPORT FORM "Impresion_sol1.frx" preview
Thisform.Release
ELSE
Thisform.combo1.Value=""
Thisform.cmd1.click()
Thisform.Refresh
ENDIF
SELECT MiCursor
USE
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

RE:Validar si el Set filter no encuentra ningun va

Publicado por Ernesto Hernandez (4623 intervenciones) el 06/08/2007 19:20:52
CONSEJO
compañero deberias de darle una revisada al uso de cursores y sentencias SQL te ahorran mucho trabajo y tu aplicacion sera mucho mas rapida al realizar busquedas
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

RE:lo tomare en cuenta, Gracias Neto

Publicado por neo (1604 intervenciones) el 06/08/2007 19:36:18
Gracias Compañero....aunque necesitaría ver un ejemplo, tu sabes de alguno....

Buen dia►
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