Informe en foxpro

Hola Sr. Experto:
Mi pregunta es la siguiente, tengo un formulario en el cual ingreso o el numero de documento(ID) o la fecha o ambas y el me filtra según yo escoja, el problema es que cuando en el rango de fecha no encuentra el numero de documento, no me imprime nada, me gustaría saber como hacer para que me imprima ese mismo informe pero en blanco, o que me diga algo así como "no hay movimientos para este documento(ID)"
Quedo atento a la respuesta y muchas gracias de antemano

2 respuestas

Respuesta
1
¿Para mostrar el informe utilizas una tabla temporarl?...
No, yo trabajo sobre las tablas base, solamente filtro lo que necesito
Quedo atento a la respuesta y muchas gracias de antemano
Haber, me explico mejor, ya que creo que no m entendiste, tengo unas tablas "datos", un formluario "form", y un informe o reporte "repo" y un informe o reporte en blanco "blan", al abrir el "form", selecciono que datos necesito de "datos", y el me muestra los resultados en "repo", pero cuando no encuentra nada, no m muestra el "repo", como hago para que m muestre el "blan" cuando no encuentre resultados
Espero haber sido + claro, quedo atento a la respuesta y muchas gracias de antemano
Bueno me imagino que utilizas un cursor o algo por el estilo, lo único que se me ocurre es que utilices Reccount() para obtener el numero de registros en el cursor...
Según lo que yo conozco de VFP, no manejo ningún tipo de cursor, aunque podría estar equivocado, en el caso que utilice un cursor (sin saberlo), como podría hacer para utilizarlo como me comentas
Prueba con DBF()&& Te devuelve en nombre de la tabla que estás utilizando en este caso sería en cursor...
***Suerte****
Utilice "DBF()&&" y no me da ningún resultado, tal vez lo este usando mal, ademas, me dijeron que podía utilizar el locate, y después escribir un if found, para que busque un registro, es decir, que si el valor encontrado es mayor que 0(cero) me haga el filtro ya establecido, en caso que no encuentre registro osea 0(cero), me muestre un informe en blanco ya establecido, ¿cómo m recomiendas hacer esto?
Podrias utilizar If Found() si es un registro espécifico el que vas a buscar... Y que si encuentra dicho registro sea mostrado en un reporte o de lo contrario te muestre un Messagebox()
Yo utilizo de esa manera:
Select Nombredelatabla
set exact ON&&Búsquedas exactas
Locate for Nombredecampo=alltrim(Thisform.Text1.Value)&&Text1 es el textbox en que ingresas el Id a Buscar
If not Found()
Messagebox('El Registro no se encontro, Intente de nuevo',0+64,'Registro no encontrado')
Return
endif
****De aquí para abajo puedes utilizar para poner el código que filtrará la tabla****
***Suerte***
Respuesta
La idea seria validar el dato id antes de mandarlo a imprimir mostrando el mensaje que pides por ejemplo: esto estaría en el keypress del texbox Id
if nkeycode=13
selec * from tabla where id=this.value into cursor consul
if reccount('consul')<1
     messagebox('no hay ese ID')
 else
   *sevaimprimir
Endif
Endif

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas