FoxPro/Visual FoxPro - SQL Y GRID

 
Vista:
sin imagen de perfil

SQL Y GRID

Publicado por DALSOM (612 intervenciones) el 02/10/2003 23:50:43
HOLA A TODOS , RECIENTEMENTE HE INCURSIONADO EN SQL SERVER 2000 .

BIEN, HAGO MIS CONSULTAS, QUE PUEDO PONER EN UN GRID, EN EL EVENTO LOAD, PUES SI MODIFICO LA CONSULTA DEL CURSOR, NO PUEDO PONERLA EN EL GRID, SE ME PONE EN BLANCO.

NO PUEDO ASIGNARLE LAS COLUMNAS LOS CAMPOS DEL CURSOR, NO PUEDO CAMBIAR NADA.

PUES NO ME RECONOCE EL CURSOR COMO ALIAS, COMO LE HAGO , PARA QUE CUANDO CAMBIE LOS VALORES DEL CURSOR QUE SERA EL RESULTADO DE CONSULTA SQL DE UNA BASE DE DATOS SQL 2K.

ESPERO PUEDAN AYUDARME, PUES TENGO OTRAS TANTAS PREGUNTAS MAS.

SALUDOS DALSOM.
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:SQL Y GRID

Publicado por Foxperto (894 intervenciones) el 03/10/2003 00:29:58
Hola Dalsom:

Prueba con el siquiete codigo:

Suponiendo que el Cursor se llame CursorSQL

ThisForm.Grid1.Visible = .F.
Select * From .... Into Cursor CursorSQL
ThisForm.Grid1.RecordSource = CursorSQL
ThisForm.Grid1.Visible = .T.

Lo que pasa es que al cambiar el Origen de Datos del Grid, el VFP se pierde, por eso te muestra el Grid en blanco.

Prueba y me cuentas.

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
sin imagen de perfil

NO EXACTAMENTE... TE DETALLO.

Publicado por DALSOM (612 intervenciones) el 03/10/2003 15:21:32
SI ESA PARTE SI FUNCIONA, PERO ME REFERIA A LA FORMA EN LA QUE MANEJO EL GRID CON LAS TABLAS DE FOX.

SUCEDE QUE EN FOX, PODIA DECIRLE A CADA COLUMNA DEL GRID CUAL ES SU COLUMNA EN LA TABLA, EN TIEMPO DE DISEÑO, Y ASI CUANDO HAGA LA BUSQUEDA SE QUEDARIA EL FORMATO DE PRESENTACION DE LOS DATOS QUE DESEO EN EL GRID, ES DECIR, SOLO LAS COLUMNAS QUE QUIERO DE LA TABLA, PERO EN ESTA FORMA, SOLO PUEDO PRESENTAR LA TABLA COMPLETA.

PROBLEMA :
PUEDO HACER UN SQL SOLO CON LAS COLUMNAS O CAMPOS DE LA TABLA QUE DESEO PRESENTAR, Y ASI SOLO PRESENTARE LAS QUE QUIERO, PERO HAY UN PROBLEMA,

NO SE QUEDARA EL ANCHO DE LA COLUMNA,

NO SE QUEDARAN LOS HEADERS DEL GRID,

SI QUIERO CALCULAR ALGO , DE LOS CAMPOS QUE NO PRESENTO EN LA TABLA QUE VA PARA EL GRID, NO PODRE HACERLO PUES EN ESTA FORMA NO HE SELECCIONADO TODAS LAS COLUMNAS, Y TENDRIA QUE HACER UNA NUEVA SELECCION CON UN NUEVO CURSOR PARA PONER LOS CAMPOS QUE USARIA PARA CALCULAR O TODOS LOS CAMPOS.

TAMBIEN PODIA ASIGNARLE UN ALIAS A MI TABLA TEMPORAL, NO IMPORTANDO EL NOMBRE QUE TUBIESE LA TABLA O ARCHIVO DE LA TABLA, ME RECONOCIA EL ALIAS EN EL GRID, CON ESTE CURSOR QUE ME GENERA LA INSTRUCCION SQL, ME DEJA UN NOMBRE QUE PARECE UN ALIAS, PERO NO FUNCIONA COMO UN ALIAS, NO PUEDO USARLO COMO REFERENCIA EN OTROS OBJETOS COMO EL GRID.

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:NO EXACTAMENTE... TE DETALLO.

Publicado por Uplift (8 intervenciones) el 03/10/2003 15:58:36
Hola!
alguien alguna vez dijo que poniendo la propiedad recordsourcetype (o algo similar) del grid en NINGUNO se soluciona tu problema.
no lo he intentado.
lo que suelo hacer es regenerar el grid completo cada vez que modifico la consulta:
grid1.recordsource="micursor"
grid1.column1.controlsource="campo1"
grid1.column2.controlsource="campo2"
grid1.header1.backcolor=rgb(0,0,128)
grid1.column1.width=200
.....
y asi con TODO, los colores, los anchos, los titulos, las fuentes, etc.
esto funciona aunque es un poco trabajoso.
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
sin imagen de perfil

NO... NO FUNCIONA.

Publicado por DALSOM (612 intervenciones) el 03/10/2003 20:38:52
ANTES LO HACIA CON ALIAS SOLAMENTE, PERO NO HABIA INTENTADO HACERLO CON TABLE EN EL RECORDSOURCE TYPE O TODAS LAS DEMAS, Y NO EXISTE UN TIPO " NINGUNO " QUE PUEDA SELECCIONAR.

PERO DE TODAS FORMAS, NO LO HACE, Y CUANDO CAMBIO A OTRO TIPO QUE NO SEA ALIAS, ME DA UN ERROR DE QUE NO RECONOCE EL EL ELEMENTO U OBJETO COLUMN1, CUANDO INTENTO REASIGNARLE EL CONTROL SOURCE , ASI :

GRID1.COLUMN1.CONTROLSOURCE=MYCURSOR.CAMPO1

Y SI LE DEJO EN ALIAS, QUE ES DONDE MENOS ME DA ERROR, NO LO HACE, CUANDO CAMBIO O HAGO UNA SEGUNDA BUSQUEDA O FILTRO EN UN CURSOR CREADO POR SQL SERVER 2K, ME PONE TODAS LAS COLUMNAS DEL CURSOR, Y ME BORRA EL FORMATO DEL GRID QUE TENIA PREDEFINIDO.

GRACIAS, DE TODOS MODOS. SEGUIRE INTENTANDO A VER QUE LOGRO. MIENTRAS, AGRADECERE CUALQUIER AYUDA QUE ME LLEVE A DAR CON LA SOLUCION. RECUERDEN, QUE USO UNA VERSION ANTIGUA DE VFP, LA 5.0.

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:SQL Y GRID

Publicado por Israel (60 intervenciones) el 03/10/2003 23:28:03
saludos

lo que te han indicado de redefinir nuevamente el grid es lo correcto para trabajar, pero tambien hay otra.

asumo que tienes el grid definodo en el form, entonces selecciona el grid y grabalo como una clase, y luego eliminalo de la forma.

de evento load ejecutas una consulta, y en el init creas el objeto grid que esta grabado como clase. hasta este momento todo correcto.

antes de que hagas otra consulta, remueves el objeto, haces la consulta y luego añades nuevamente el objeto, y asi susesivamente.
para evitar los pantallazos utiliza lockscreen.

espero te sirva

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:SQL Y GRID

Publicado por Foxperto (894 intervenciones) el 04/10/2003 00:01:28
Hola Dalsom:

Bueno para los que hemos trabajado con Grid en VFP, no es un secreto, lo incomodo que es trabajar con ellos, hay que valerce de trucos y otras cosas para que funcionen a medias. Por lo general, hay que darles todo el formato en programacion.

La opcion que da Israel, es muy interesante, de hecho, tan pronto pueda probare de esa manera con algunos Grid que tengo.

Pero me gustaria consultarte algo, si estas trabajando con SQL Y2K, ¿porque utilizas Cursores?, has probado utilizando VistasRemotas?, las vistas remotas se comportan como si fueran tablas de Fox y ademas puedes filtrar los datos, para que solamente te muestren los que necesitas.

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
sin imagen de perfil

GRID Y SQL

Publicado por DALSOM (612 intervenciones) el 06/10/2003 19:45:51
GRACIAS, INVESTIGARE SOBRE LAS VISTAS.
SI TIENES UN MANUAL DE SQL, QUE NO SOLO ME HABLE DE SELECT-INSERT-DELETE Y UPDATE, ME LO MANDAS POR FAVOR.

TAMBIEN QUISIERA ENCONTRAR ALGO DE INFORMACION SOBRE COMO SE MANEJA VFP CON SQL, COMO CONECTO UNA BASE DE DATOS EN RED, COMO EJECUTO PROCEDIMIENTOS Y COSAS COMO ESAS. CREO QUE YA ME HE APRENDIDO A MODIFICAR.

TAMBIEN ALGO DE COMO MANEJAR ERRORES, Y TODAS LAS COSAS QUE ESTABA ACOSTUMBRADO A HACER EN VFP, QUE AHORA NO PUEDO.

PERO LES AGRADEZCO QUE ME HAYAN DADO LAS IDEAS.

GRACIAS A TODOS.
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:GRID Y SQL

Publicado por Foxperto (894 intervenciones) el 06/10/2003 23:33:59
Hola Dalsom:

Si estas utilizando VFP y SQL Server, puedes hacer lo mismo que hacias con VFP y sus tablas nativas.

La diferencia es que estas utilizando una DB de un Tercero y por eso tienes que utilizar las Vistas Remotas. Cuando aprendas a utilizar las Vistas Remotas, te daras cuenta que puedes utilizar el poder del SQL Server en el Servidor y el practico manejo de Datos del VFP en el cliente.

No tengo un manual de SQL Server y VFP, pero en la ayuda del VFP puedes escribir SQL y veras todos los comandos que puedes utilizar para invocar funciones y procedimientos almacenados en el SQL Server.

Prueba y me cuentas.

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
sin imagen de perfil

RE:GRID Y SQL

Publicado por DALSOM (612 intervenciones) el 08/10/2003 18:03:31
NO HE PODIDO LOGRAR MUCHO CON LAS VISTAS, POR LO MENOS YA LAS SE CREAR, PERO NO LAS HE PODIDO MODIFICAR CON EL ALTER VIEW.

PERO GRACIAS A USTEDES Y UN POCO DE PACIENCIA YA HE RESUELTO EN UNA GRAN PARTE EL PROBLEMA.

LO LOGRE CON LO DE REASIGNAR TODO EL GRID POR CODIGO, SOLO QUE CON EL DETALLE DE TAMBIEN TENGO QUE HACER UN ADDOBJECT PARA PARA QUE NO ME DE EL ERROR DEL GRID EN BLANCO. ES TEDIOSO PERO FUNCIONA HASTA EL SCROLLBAR.

SUCEDE QUE SE ME DESACTIVA EL SCROLLBAR CUANDO LE CAMBIO EL RECORDSOURCE AL NUEVO GRID.

PERO TODO LO DEMAS ESTA BIEN.

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
sin imagen de perfil

RE:GRID Y SQL > SOLUCION

Publicado por DALSOM (612 intervenciones) el 31/07/2011 13:29:16
HOLA, SOLO PARA QUE QUEDE REGISTRADO .

THISFORM.GRID1.RECORDSOURCE = []
* VACIAS PRIMERO EL RECORDSOURCE DEL GRID ANTES DE GENERAR EL CURSOR.

SQLEXEC(CMD,[MYQUERY])
*CREAS EL QUERY

THISFORM.GRID1.RECORSOURCE = [MYQUERY]
THISFORM.GRID1.COLUMN1.CONTROLSOURCE = [COLUMNAQUERY1]
THISFORM.GRID1.COLUMNn.CONTROLSOURCE = [COLUMNAQUERYn]

Y YA ESTA!!!

SALUDOS,
DALSOM.
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