FoxPro/Visual FoxPro - SQL y grid......DESESPERADO!!!

 
Vista:

SQL y grid......DESESPERADO!!!

Publicado por Pedro Canizales A. (70 intervenciones) el 28/09/2009 22:27:56
Hola buenas tardes

Gracias a todos por estarme ayudando en mi proceso de aprendizaje en el desarrollo de esta bonito lenguaje.

espero me puedan ayudar con esto.

tengo una aplicacion ya desarrollada en VFP6.0 y realizo una conexion a una tabla en SQL2000 a si

STORE SQLCONNECT("BDMTY","admin","123MTY") TO gnConnHandle
IF gnConnHandle <=0
IF AERROR(laError) > 0
MESSAGEBOX('No fue posible establecer conexión:'+laError[2], 16, 'SQL Connect Error')
ENDIF
ELSE
= MESSAGEBOX('Conexión realizada', 48, 'SQL Connect Message')
= SQLEXEC(gnConnHandle, "SELECT control, generador, nca, transporte, embarque, contenedor, unico, operador, estatus, destinada, recepcion, hora, tratamient, hora_op, fechaet;
FROM EMBARQUE WHERE con_peso= 'N'AND generador NOT LIKE ''%SE REGRESO%;
ORDER BY recepcion, fecha_re","CONSEMBARQUEFOX")
ENDIF

le doy un brow a la tabla CONSEMBARQUEFOX y efectivamente si puedo ver mi tabla de SQL, pero aqui viene mi problema.
NO PUEDO VER MI QUERY REFLEJADO EN MI GRID
que mas me falta por hacer?...estoy desesperado

espero haberme dado a entender
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
Val: 29
Ha aumentado su posición en 2 puestos en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

RE:SQL y grid......DESESPERADO!!!

Publicado por richard marriaga lascarro (197 intervenciones) el 28/09/2009 22:55:38
Pedro
lo que tines que hacer es crear un cursor de la tabla QUE QUIERES MOSTRAR EN EL GRID de Sql2000

= SQLEXEC(gnConnHandle, "SELECT * mi_ tabla" ,"mi_cursor")

este cursor se lo asignas al recordSource del grid

thisform.Grid1.Recorsource = "Mi_cursor"

eso es todo

espero puedas solucionar el problema

Atte.

RICHARD MARRIAGA
iNG. DE siSTEMAS
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......DESESPERADO!!!

Publicado por pedro canizales a. (70 intervenciones) el 29/09/2009 00:09:48
Hola richard

eso si lo hago pero resulta que me manda todos los campos de la tabla,

tengo un grid que ya tengo establecido con los campos que quiero, solo les puse el nombre de las columnas.
pero si le doy un
=SQLEXEC(gnconnHandle, "select * from mitablasql, "micrusordbf)
me muestra todos los campos, pero lo que yo quiero hacer es poner
la columna 1,2,3,4,6 de mi tabla sql al grid que tiene los campos 1,2,3,4,5
hay campos intermedios de mi tabla de sql que no ocupo
y no he podido hacer que me aparcezcan solo esos campos
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......DESESPERADO!!!

Publicado por jose camilo (805 intervenciones) el 01/10/2009 15:01:18
hola pedro,
esto de los grid
yo lo manejo de la siguiente manera

1.- creo un cursor temporal para el grid en el inid de esta

2.- manda tus datos del select a un cursor temporal
3.- te haces un pequeno bucle

select cursor del select
do while !eof()
scatter memvar
select cursor del grid
appen blank
gather memvar
select cursor del select
Skip
EndDo
select cursor del grid
go top
thisform.tu grid.refrescale

funciona creelo asi lo hago siempre
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
Val: 29
Ha aumentado su posición en 2 puestos en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

RE:SQL y grid......DESESPERADO!!!

Publicado por richard antonio marriaga lasca (197 intervenciones) el 02/10/2009 17:53:17
=SQLEXEC(gnconnHandle, "select * from mitablasql, "micrusordbf)

Con esta intrucción tines los datos de la tabla de la BASE DE DATOS EXTERNA
Lo siguiente es hacer otro cursor asi

Select micrusordbf.campo1,micrusordbf.campo2;
FROM micrusordbf;
WHERE (LA CONDICION ) INTO CURSO MI_CURSOR

Y SE LO ASIGNAS AL GRID QUE TU QUIERES MOSTRAR

Thisform.sqlgrid2.RecordSource = "mI_CURSOR"

Y esto es para modificar el ancho de las columnas y el encabezado

thisform.sqlgrid2.column1.header1.Caption = "No.SV"
thisform.sqlgrid2.column1.Width = 47
thisform.sqlgrid2.column2.header1.Caption = "Valor"
thisform.sqlgrid2.column2.Width = 94
thisform.sqlgrid2.column3.header1.Caption = "Fecha"
thisform.sqlgrid2.column3.Width = 75

De esta forma pudes solucinar eso

Atte. Richard
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......DESESPERADO!!!

Publicado por pedro canizales a. (70 intervenciones) el 05/10/2009 19:48:04
Gracias si funciono lo probe de las 2 maneras y salio perfecto...

ahora tengo otro detalle tengo 3 campos que estan como DATETIME
pero solo quiero que me aparezca en mi grid en su columna correspondiente la hora
ya he probado con varios pero no me sale
en alguna ocasion hice esto con otro programa

IF LTRIM(STR(MINUTE(hora_re))) = '0'
dhora_ent = ALLTRIM(STR(HOUR(hora_re)))+' : ' + LTRIM(STR(MINUTE(hora_re))) + ' 0 '

pero esto no se donde ponerlo...

o alguna otra funcion que donde pueda recuperar la hora de un campo datetime?
este es mi select

SELECT CEF.control, CEF.generador,CEF.nca, CEF.transporte, CEF.embarque, CEF.contenedor, CEF.unico, CEF.operador, CEF.estatus,;
CEF.destinada, SUBSTR(DTOC(CEF.recepcion),1,10), CEF.hora_re, CEF.tratamient, CEF.hora_op, CEF.fechaet;
FROM consembarquefox CEF;
WHERE CEF.con_peso = 'N';
AND CEF.generador NOT LIKE '%SE REGRESO%';
ORDER BY CEF.recepcion, CEF.hora_re;
INTO CURSOR DETCONS

THISFORM.Grid1.Recordsource = "DETCONS"
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......DESESPERADO!!!

Publicado por pedro canizales a (70 intervenciones) el 05/10/2009 19:48:33
Gracias si funciono lo probe de las 2 maneras y salio perfecto...

ahora tengo otro detalle tengo 3 campos que estan como DATETIME
pero solo quiero que me aparezca en mi grid en su columna correspondiente la hora
ya he probado con varios pero no me sale
en alguna ocasion hice esto con otro programa

IF LTRIM(STR(MINUTE(hora_re))) = '0'
dhora_ent = ALLTRIM(STR(HOUR(hora_re)))+' : ' + LTRIM(STR(MINUTE(hora_re))) + ' 0 '

pero esto no se donde ponerlo...

o alguna otra funcion que donde pueda recuperar la hora de un campo datetime?
este es mi select

SELECT CEF.control, CEF.generador,CEF.nca, CEF.transporte, CEF.embarque, CEF.contenedor, CEF.unico, CEF.operador, CEF.estatus,;
CEF.destinada, SUBSTR(DTOC(CEF.recepcion),1,10), CEF.hora_re, CEF.tratamient, CEF.hora_op, CEF.fechaet;
FROM consembarquefox CEF;
WHERE CEF.con_peso = 'N';
AND CEF.generador NOT LIKE '%SE REGRESO%';
ORDER BY CEF.recepcion, CEF.hora_re;
INTO CURSOR DETCONS

THISFORM.Grid1.Recordsource = "DETCONS"
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