FoxPro/Visual FoxPro - PORQUE NO FUNCIONA LA VISTA Y EL GRID ?

 
Vista:

PORQUE NO FUNCIONA LA VISTA Y EL GRID ?

Publicado por Ernesto Rodríguez (61 intervenciones) el 25/03/2003 20:34:20
Hola que tal como están ? Tengo un problema.
En el evento INIT de un form intento crear una vista
con ésta sentencia:

OPEN DATABASE inventario
CREATE SQL VIEW vproductos AS SELECT codbode,codprod,linea,existencias FROM inventario!productos ;
WHERE codbode <> 0

IF NOT USED("vproductos")
USE vproductos IN 0
ENDIF

SELECT vproductos &&& Aquí señala VFP el ERROR.
=REQUERY()
THISFORM.grid1.REFRESH()

*** En la Grid
WITH THISFORM
.grid1.ROWSOURCETYPE=1
.grid1.ROWSOURCE="vproductos"
.grid1.REFRESH()
ENDWITH

En la grid he definido las 4 columnas que necesito para la consulta.
Y he definido los mismosa valores para ROWSOURCETYPE y ROWSOURCE.
Además no tengo ninguna tabla en el ENTORNO DE DATOS.

Pero VFP lanza el mensaje : " Que no existe vproductos "

Que estoy haciendo mal ? Muchas gracias de antemano.

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

RE:PORQUE NO FUNCIONA LA VISTA Y EL GRID ?

Publicado por Roman Suazo (2723 intervenciones) el 25/03/2003 21:18:45
El problema es que el evento init del grid se ejecuta antes que el de la
forma, por eso no encuentra la vista (ya que esta se crea despues).
El codigo de la vista ponelo en el evento LOAD de la forma. Asi no
deberian haber problemas. Aunque lo que te recomiendo es que
creas la vista en el diseñador de bases de datos, es decir, que la
vista quede permanentemente en el dbc (no tenes que crearla cada
vez que abras una forma). Despues en el evento del Load de la forma
usas el USE como si fuera una tabla normal.

Saludos
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:PORQUE NO FUNCIONA LA VISTA Y EL GRID ?

Publicado por Roman Suazo (2723 intervenciones) el 25/03/2003 21:34:11
Ahora que leo mejor tu pregunta veo que el error, no se ejecuta en el
codigo del grid sino en el init de la forma. Solo tengo una duda, Como
sabes que ahi es donde se ejecuta el error? si es ahi, trata con algo
como esto:

select "vproductos" o select (vproductos). Aun asi no descartes lo que
te mencione en mi primera respuesta (lo cual me parece mas logico
que suceda).


Saludos
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