FoxPro/Visual FoxPro - Rellenar Grid con SQL en VFP

 
Vista:

Rellenar Grid con SQL en VFP

Publicado por Ivan (1 intervención) el 22/08/2007 14:17:59
Hola a todos, espero que alguien sepa ayudarme.
Mi duda es Rellenar un Grid con una sentencia SQL.
Encontre en la web un codigo que lo puse en practica y no me funciona, alguien podria decirme que estoy haciendo mal?
Me muestra el grid con sus nombres pero los datos de la tabla en si no me muestra.
Otra cosa donde dice "into cursor TB1" eso no se si es una tabla que tengo que crear vacia o que?
Porque los dados los saco de Clientes
Si alguien tiene una solucion sera bienvenida.
Gracias
Ivan

El codigo es el siguiente
---------------------
Botón ‘Crear Vista’ evento ‘Click’:
* - variable de tipo local.
local ssql1
* - Instrucción SQL.
ssql1="select codigo as CODIGO, name as NOMBRE, company as COMPAÑIA, address as DIREC-CION from CLIENTES into cursor TB1 order by CODIGO"

*****************************************************
* - MANEJO DEL GRID.
*****************************************************
* - Nro. de columnas de la cuadricula.
thisform.grid1.columncount=3
* - Modificar el encabezado de las columnas del grid.
thisform.grid1.column1.header1.caption="CODIGO"
thisform.grid1.column2.header1.caption="NOMBRE"
thisform.grid1.column3.header1.caption="COMPAÑIA"
* - Alineación de los títulos de las columnas.
thisform.grid1.column1.header1.alignment=2
thisform.grid1.column2.header1.alignment=2
thisform.grid1.column3.header1.alignment=2
* - Acceso de solo lectura a los datos del grid.
thisform.grid1.readonly=.t.
* - Asignación del origen de los datos del GRID.
thisform.grid1.recordsource=ssql1
* - mascara de entrada de los datos en la columna.
thisform.grid1.column2.inputmask = "@!"
thisform.grid1.column3.inputmask = "@!"
* - modificar tamaño de columnas.
thisform.grid1.column2.width=200
thisform.grid1.column3.width=200
* - Actualización del GRID.
thisform.grid1.refresh
* - Fin.

Objeto ‘Form’ evento ‘Load’:
* - Inicializar el ambiente.
clear macro
set talk off
set echo off
set notify off
set safety off
set delete on
set century on
close tables
* - Abrir tablas.
select 0
use publisher
* - fin.

--------------------
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:Rellenar Grid con SQL en VFP

Publicado por Plinio II (62 intervenciones) el 29/08/2007 16:51:17
Hola, en la cadena "ssql1" debes poner como última instrucción INTO CURSOR <nombre>, esto hará que se cree el cursor <nombre> automáticamente, por otro lado, debes definir la propiedad: Thisform.Grid1.RecordSourceType=3 (no estoy seguro, debe ser SQL, revisa el help) antes antes del Thisform.Grid1.RecordSource, entonces funcionará.
Suerte amigo.
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:Rellenar Grid con SQL en VFP

Publicado por Daniel Dominguez (1 intervención) el 07/09/2007 18:56:10
El RecordSourceType debe ser 4 (por lo menos en VFP 6)
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:Rellenar Grid con SQL en VFP

Publicado por Allan Monterroso (1 intervención) el 18/03/2008 07:59:24
Hola, por lo que me fije el codigo es correcto ahora resta revisar las propiedades del grid q estas utilizando y el ambiente de datos:

1-.Como estas usando el select, lo mas conveniente seria poner la propiedad del grid RECORDSOURCETYPE= 4 SQL statement

2-. Dale clic derecho al form, luego data enviroment, luego te va a aparecer una ventana, seleccionas la tabla q aparece dentro de la ventana, y en la ventana de propiedades de la ventana cambia la propiedad q dice EXCLUSIVE=.T.

3-. Cada columna del grid, tiene q estar ligada al campo de la tabla por ejemplo: columna codigo ligada al codigo de la tabla... Para esto selecciona el grid, luego en la ventana de propiedades dentro del grid selecciona donde dice column1, luego de seleccionarla busca la propiedad de esa columna q se llama CONTROLSOURCE y tiene q ser igual al campo de la tabla, por ejemplo en este caso el Controlsource de column1 seria= Controlsource=Clientes.codigo luego
Column2...Controlsource=clientes.Nombre...... Column3.....Controlsource=clientes.Compañia etc, etc.

Y acerca de tu pregunta de la tabla "TB1", no, no tenes q crearla, cuando se habla de "cursor" solo es para hacer referencia a una tabla temporal, es decir, una tabla q solo servira de reflejo o solo servira para mostrar los datos de la tabla clientes dentro del grid.por ejemplo: INTO CURSOR TBTEMPORAL ORDER BY CODIGO... algo asi.

espero halla sido de tu ayuda, cualquier duda estamos para ayudar! [email protected]
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:Rellenar Grid con SQL en VFP

Publicado por perro del mal (1 intervención) el 20/03/2010 01:03:20
chingas a tu putisima madre pendejo

jajajajajajajajajajajaja

mamame la verga peluda
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