Postgres con VFP9, 3 preguntas, listbox en orden, reporte y como sustituir el do while .not....por

276 views
Skip to first unread message

eap pupo

unread,
Jan 21, 2013, 10:03:46 AM1/21/13
to publice...@googlegroups.com
Bueno días a todos los colegas del sitio y del mundo del Fox!!!!

Necesito una vez mas de su ayuda a todos los que puedan colaborar a buscarle solución a mi interrogante pues recien inicio VFP9 con Postgres, les estaría eternamente agradecido por la solución para estos tres casos.

¿Como hago los reportes de VFP9 con Postgres? o si hay otro tipo de reporte para mezclar con el Postgres, pero me interesaría el de VFP9.

¿ Como hago para que salga en orden ascendente un listado en un listbox  si tiene un campo código (si ya está el primary key), pues me sale sin orden y sin embargo tiene llave
 primary key, pues cuando hago consulta dentro del Postgres sale en orden y no así en el listbox, que necesito, que falta ahí que no sé?

 ¿Como hago un prg donde intervengan mas de dos tablas, como cuando se
 usaba los  Do while .not.EOF()?

Saludos a todos!

Pupo

Miguel Canchas

unread,
Jan 21, 2013, 10:15:50 AM1/21/13
to publice...@googlegroups.com

Veamos :

 

Todos los reportes se hacen de la misma(casi) manera. Tomas un select ordenado ,…llamas a tu report y wala… listo…No tiene que ver con que BD uses…

 

El orden depende de cómo hagas tu select…

 

MK

--
 
 

eap pupo

unread,
Jan 21, 2013, 10:47:49 AM1/21/13
to publice...@googlegroups.com, mcan...@ximesa.com
Miguel:

con esta instrucción esta en el Postgres "CONSTRAINT bdp2key PRIMARY KEY (tarje)" por qué no lo coge así.

Saludos

Pupo

Miguel Canchas

unread,
Jan 21, 2013, 11:08:19 AM1/21/13
to eap pupo, publice...@googlegroups.com

Veamos, no se que quieres hacer…

 

 

Cuando tu haces un select ya sea en postgres, mysql o donde sea, el orden se va a regir por el order by….  Select * from mitabla order by campo…………

 

 

 

MK

ZeRoberto

unread,
Jan 21, 2013, 11:42:31 AM1/21/13
to publice...@googlegroups.com

SELECT * FROM miTabla ORDER BY nombrecampo
 
 
Saludos

 
--
 
 

eap pupo

unread,
Jan 21, 2013, 11:56:21 AM1/21/13
to publice...@googlegroups.com
Gracias!

Pero cuando hago la consulta es verdad que sale bien pero cuando lo envio para un listbox no lo hace? que tu crees?

Saludos

Pupo

eap pupo

unread,
Jan 21, 2013, 11:58:19 AM1/21/13
to publice...@googlegroups.com, eap pupo, mcan...@ximesa.com
Mira Miguel, sale bien en una consulta normal pero cuando lo envio para un listbox no sale en orden, dime lago.


SQLEXEC(cHandle, "select * from bdp2 ORDER BY tarje", "cExesteDB")


Saludos

Pupo

Miguel Canchas

unread,
Jan 21, 2013, 12:00:38 PM1/21/13
to eap pupo, publice...@googlegroups.com

Tan dificil te resulta mandar el código ¿??????????????????????????

 

MANDA EL CODIGO COMO HACES PARA METERLO AL LISTBOX ¡!!!!!!!!!!!!!!!!!

eap pupo

unread,
Jan 21, 2013, 12:14:29 PM1/21/13
to publice...@googlegroups.com, eap pupo, mcan...@ximesa.com
Aqui va Miguel, diculpa:

Recuerda que ya està el primary key.


SQLEXEC(cHandle, "select * from bdp2 ORDER BY tarje", "cExesteDB")

thisform.list1.ListIndex=1
thisform.list1.incrementalsearch=.t.
thisform.list1.columncount=2
thisform.list1.rowsourcetype=6
thisform.list1.rowsource="cExesteDB.tarje,nombre"
thisform.list1.SetFocus()

Dime algo ahora.

Saludos

Pupo

Miguel Canchas

unread,
Jan 21, 2013, 12:17:53 PM1/21/13
to eap pupo, publice...@googlegroups.com

Quita el listindex.

eap pupo

unread,
Jan 21, 2013, 1:38:17 PM1/21/13
to publice...@googlegroups.com, eap pupo, mcan...@ximesa.com
Quitando el listindex asi no trabaja tampoco, piensa en otro detalles, gracias!

ZeRoberto

unread,
Jan 21, 2013, 2:19:32 PM1/21/13
to publice...@googlegroups.com
SQLEXEC(cHandle, "select * from bdp2 ORDER BY tarje", "cExesteDB")

thisform.list1.BoundColumn=2
thisform.list1.rowsourcetype=6
thisform.list1.rowsource="cExesteDB.Nombre,Traje"

En caso de que quieras acceder al traje codigo 001 solo pones esto
thisform.list1.Value = "001"

Saludos


El 21/01/13, eap pupo <eap...@gmail.com> escribió:
> Quitando el listindex asi no trabaja tampoco, piensa en otro detalles,
> gracias!
>
>
>
> El lunes, 21 de enero de 2013 09:17:53 UTC-8, Miguel Canchas escribió:
>>
>> Quita el listindex.
>>
>>
>>
>>
>>
>> MK
>>
>>
>>
>> *De:* eap pupo [mailto:eap...@gmail.com <javascript:>]
>> *Enviado el:* lunes, 21 de enero de 2013 12:14 p.m.
>> *Para:* publice...@googlegroups.com <javascript:>
>> *CC:* eap pupo; Miguel Canchas
>> *Asunto:* Re: [vfp] Postgres con VFP9, 3 preguntas, listbox en orden,
>> reporte y como sustituir el do while .not....por
>>
>>
>>
>> Aqui va Miguel, diculpa:
>>
>> Recuerda que ya està el primary key.
>>
>> SQLEXEC(cHandle, "select * from bdp2 ORDER BY tarje", "cExesteDB")
>>
>> thisform.list1.ListIndex=1
>> thisform.list1.incrementalsearch=.t.
>> thisform.list1.columncount=2
>> thisform.list1.rowsourcetype=6
>> thisform.list1.rowsource="cExesteDB.tarje,nombre"
>> thisform.list1.SetFocus()
>>
>> Dime algo ahora.
>>
>> Saludos
>>
>> Pupo
>>
>>
>>
>> El lunes, 21 de enero de 2013 09:00:38 UTC-8, Miguel Canchas escribió:
>>
>> Tan dificil te resulta mandar el código ¿??????????????????????????
>>
>>
>>
>> MANDA EL CODIGO COMO HACES PARA METERLO AL LISTBOX ¡!!!!!!!!!!!!!!!!!
>>
>>
>>
>>
>>
>> MK
>>
>>
>>
>> *De:* eap pupo [mailto:eap...@gmail.com]
>> *Enviado el:* lunes, 21 de enero de 2013 11:58 a.m.
>> *Para:* publice...@googlegroups.com
>> *CC:* eap pupo; Miguel Canchas
>> *Asunto:* Re: [vfp] Postgres con VFP9, 3 preguntas, listbox en orden,
>> reporte y como sustituir el do while .not....por
>>
>>
>>
>> Mira Miguel, sale bien en una consulta normal pero cuando lo envio para un
>>
>> listbox no sale en orden, dime lago.
>>
>>
>> SQLEXEC(cHandle, "select * from bdp2 ORDER BY tarje", "cExesteDB")
>>
>>
>> Saludos
>>
>> Pupo
>>
>> El lunes, 21 de enero de 2013 08:08:19 UTC-8, Miguel Canchas escribió:
>>
>> Veamos, no se que quieres hacer…
>>
>>
>>
>>
>>
>> Cuando tu haces un select ya sea en postgres, mysql o donde sea, el orden
>>
>> se va a regir por el order by…. Select * from mitabla order by campo…………
>>
>>
>>
>>
>>
>>
>>
>> MK
>>
>>
>>
>>
>>
>> *De:* eap pupo [mailto:eap...@gmail.com]
>> *Enviado el:* lunes, 21 de enero de 2013 10:48 a.m.
>> *Para:* publice...@googlegroups.com
>> *CC:* Miguel Canchas
>> *Asunto:* Re: [vfp] Postgres con VFP9, 3 preguntas, listbox en orden,
>> reporte y como sustituir el do while .not....por
>>
>>
>>
>> Miguel:
>>
>> con esta instrucción esta en el Postgres "CONSTRAINT bdp2key PRIMARY KEY
>> (tarje)" por qué no lo coge así.
>>
>> Saludos
>>
>> Pupo
>>
>> El lunes, 21 de enero de 2013 07:15:50 UTC-8, Miguel Canchas escribió:
>>
>> Veamos :
>>
>>
>>
>> Todos los reportes se hacen de la misma(casi) manera. Tomas un select
>> ordenado ,…llamas a tu report y wala… listo…No tiene que ver con que BD
>> uses…
>>
>>
>>
>> El orden depende de cómo hagas tu select…
>>
>>
>>
>> MK
>>
>>
>>
>>
>>
>> *De:* publice...@googlegroups.com [mailto:publice...@googlegroups.com] *En
>>
>> nombre de *eap pupo
>> *Enviado el:* lunes, 21 de enero de 2013 10:04 a.m.
>> *Para:* publice...@googlegroups.com
>> *Asunto:* [vfp] Postgres con VFP9, 3 preguntas, listbox en orden, reporte
>>
>> y como sustituir el do while .not....por
>>
>>
>>
>> Bueno días a todos los colegas del sitio y del mundo del Fox!!!!
>>
>> Necesito una vez mas de su ayuda a todos los que puedan colaborar a
>> buscarle solución a mi interrogante pues recien inicio VFP9 con Postgres,
>>
>> les estaría eternamente agradecido por la solución para estos tres casos.
>>
>> ¿Como hago los reportes de VFP9 con Postgres? o si hay otro tipo de
>> reporte para mezclar con el Postgres, pero me interesaría el de VFP9.
>>
>> ¿ Como hago para que salga en orden ascendente un listado en un listbox
>> si tiene un campo código (si ya está el primary key), pues me sale sin
>> orden y sin embargo tiene llave
>> primary key, pues cuando hago consulta dentro del Postgres sale en orden
>>
>> y no así en el listbox, que necesito, que falta ahí que no sé?
>>
>> ¿Como hago un prg donde intervengan mas de dos tablas, como cuando se
>> usaba los Do while .not.EOF()?
>>
>> Saludos a todos!
>>
>> Pupo
>>
>> --
>>
>>
>>
>
> --
>
>
>

ZeRoberto

unread,
Jan 21, 2013, 2:20:40 PM1/21/13
to publice...@googlegroups.com
Me falto añadir
thisform.list1.BoundTo=.T.

El 21/01/13, ZeRoberto <zero...@gmail.com> escribió:

eap pupo

unread,
Jan 21, 2013, 2:48:43 PM1/21/13
to publice...@googlegroups.com

El 21 de enero de 2013 11:20, ZeRoberto <zero...@gmail.com> escribió:
thisform.list1.BoundTo=.T.
HOLA ZeRoberto!

Pero con eso no resuelvo, lo que necesito es que me ordene por orden de tarjeta y con eso ya lo probé no lo hace tampoco.
No funciona.

Recuerda que es VFP9 con Postgres.

Saludos

Pupo

Fox Friend

unread,
Jan 21, 2013, 3:06:34 PM1/21/13
to publice...@googlegroups.com
Eap pupo,

Lo aclaro para cualquiera que este iniciando como yo y pueda confundirse.

El hecho de que sea VFP con PostgreSql, no cambia mucho el uso de los controles.

Es decir, lo que debería cambiar sería la sintaxis del motor, la forma de conexión, etc.

Pero una vez teniendo los datos en un cursor de vfp.. la logica pasa a ser casi la misma que con VFP normal.

Lo interesante sería ver cómo se actualizan los datos en un grid y se envian esas actualizaciones al motor.. Ahi esta lo interesante..


El 21 de enero de 2013 13:48, eap pupo <eap...@gmail.com> escribió:

Recuerda que es VFP9 con Postgres.

Saludos

Pupo

--
 
 

Víctor Hugo Espínola Domínguez

unread,
Jan 21, 2013, 3:42:44 PM1/21/13
to publicesvfoxpro
Hola Pupo

Prueba esto:

THISFORM.lst1.Sorted = .T.

Saludos,
Víctor.



--
 
 

eap pupo

unread,
Jan 22, 2013, 12:38:04 PM1/22/13
to publice...@googlegroups.com
HOLA Fox Friend:

Gracias por tu respuestas que me han servido mucho de ayuda, dime otra cosa pero ayer en el chateo o algo así me dijiste que los comandos de VFP puede obtaculizar el uso de postgres en caso de ser multiusuario, que me dices?  me preocupa eso.
Espero como siempre tu respuesta.

Saludos sinceros!

Pupo


--
 
 

Miguel Canchas

unread,
Jan 22, 2013, 12:40:52 PM1/22/13
to publice...@googlegroups.com

WTF ¿????????

 

Ahora si es el colmo…NO LE CREAS NADA ¡!!!!!!!!!!!

 

MK

--
 
 

eap pupo

unread,
Jan 22, 2013, 12:41:46 PM1/22/13
to publice...@googlegroups.com

El 21 de enero de 2013 12:42, Víctor Hugo Espínola Domínguez <vich...@gmail.com> escribió:
THISFORM.lst1.Sorted = .T.


Gracias Victor!

Pero solo funciona con esto que se si despues puede conllevar a otros errores.

SELECT cExesteDB && cursor
INDEX on tarje TAG ksjksj
GO top

Dime alfo de eso, recuerda que estoy trabajando con VFP y postgres, y no nada de experiencia empiezo a tirar piedra.

Saludos

PUPO

eap pupo

unread,
Jan 22, 2013, 12:45:55 PM1/22/13
to publice...@googlegroups.com
No entiendo Miguel, a quien no le nada, que es eso que dices.

Saludos

Pupo


--
 
 

Claudio Luna

unread,
Jan 22, 2013, 12:46:57 PM1/22/13
to Comunidad de Visual Foxpro en Español
Hola,
Si trabajas con VFP y con cualquier SGBD, te devolverá un cursor y el mismo lo manejas como a vos se te de la gana, si lo queres ordenado en el select de tu consulta pondras como order by.. el campo y luego en los controles pondras como recordsource dicho cursor.
No es tan rebuscado.
Espero que se te aclaren las cosas.
Saludos
Claudio


--
 
 

Allan Raúl Acuña

unread,
Jan 22, 2013, 5:49:00 AM1/22/13
to Comunidad de Visual Foxpro en Español
Estimados colegas
 
Algunos de ustedes han tenido la oportunidad de hacer diagramas/gráfico gantt?
 
Saludos
 

Lic. Allan R. Acuña
Analista Programador
msn= allan...@hotmail.com
skype= niceasysoft
+(505) 8 831 8191

www.NicEasySoft.com

Managua, Nicaragua

Centroamérica

eap pupo

unread,
Jan 22, 2013, 12:55:13 PM1/22/13
to publice...@googlegroups.com
Gracias amigo!

Siento mucha confianza y seguridad en lo que dices me parece que ahora debo empezar a probar todo lo que venga a la cabeza, he empezado hace solo unos 40 dias mas o menos pero no a tiempo completo, 1 o dos horas si acaso.
Dime que me recomiendas para los reportes, el Cristal Report?

Mil Gracias!

Saludos

Pupo


--
 
 

Fox Friend

unread,
Jan 22, 2013, 12:58:22 PM1/22/13
to publice...@googlegroups.com
Pupo,

No recuerdo exactamente que te comenté, pero creo que te dije que preguntaras con los masters de fox si los índices se podían estar creando sobre la marcha al generar cursores en un entorno multiusuario.

Pero no te preocupes, yo pregunté hace rato lo mismo y el Ing. Ricardo Pina, me aclaró que no hay ningun problema con el tema de los cursores. Esto fue lo que me dijo:

Fox
 
Ceo que tienes que repasar el tema de cursores.
 
1.- Cada vez que creas el cursor tienes que generar el indice (Cuando lo cierras se destruye y el indice con él)
2.- No afecta la operabilidad ya que el cursor solamente lo tienes en memoria de tu sesión ( Nadie puede acceder a él)
 
Saludos

Claudio Luna

unread,
Jan 22, 2013, 12:58:50 PM1/22/13
to Comunidad de Visual Foxpro en Español
Estimado Pupo
En VFP tenes un reporteador completo y luego podes usar FOXYPREVIEWER.APP una excelente herramienta de César Chalom.
Saludos
Claudio



--
 
 

eap pupo

unread,
Jan 22, 2013, 1:00:43 PM1/22/13
to publice...@googlegroups.com
Gracias amigo por tu respuesta y buscar soluciones a mis dudas!
Dios te recompensarà.

Mil gracias!

Y seguimos en la batalla por el conocimiento que es infinito.

Luego seguimos probaré todas ideas nuevas y te contarè luego.

Pupo


--
 
 

Fox Friend

unread,
Jan 22, 2013, 1:02:45 PM1/22/13
to publice...@googlegroups.com
Preguntas como hacerlo en vfp? o qué cosa es una gráfica de gantt?..

Yo vi eso en la prepa, porque lleve el area administrativa contable..

Saludos!

eap pupo

unread,
Jan 22, 2013, 1:02:54 PM1/22/13
to publice...@googlegroups.com
Mil gracias por seguirme y orientame, y por supuesto ayudarme a ampliar mi campo a mi propósito el postgres por ahora.

Donde puedo encontrar eso de FOXYPREVIEWER.APP

Saludos nuevamente!

Pupo


--
 
 

Claudio Luna

unread,
Jan 22, 2013, 1:12:22 PM1/22/13
to Comunidad de Visual Foxpro en Español
En codeplex tenes una cantidad impresionante de plugins para el querido zorro, ahi tenes lo que necesitas..
De donde sos ?
Cualquier cosa nos conectamos por skype si necesitas algo..
Saludos
Claudio


--
 
 

Arnaldo Toledano

unread,
Jan 22, 2013, 1:12:50 PM1/22/13
to publice...@googlegroups.com
Como dice el amigo Luis Maria.
Chequea este enlace sobre gráfica de Grantt.

http://www.lmgtfy.com/?q=+gr%C3%A1fica+de+gantt

Hacerlo con VFP es cuestión de imaginación, recursos te sobran.


Arnaldo Toledano
--
 
 

--
Arnaldo Toledano Tesys Informática Córdoba Argentina

edgar suarez kummers

unread,
Jan 22, 2013, 1:12:54 PM1/22/13
to publice...@googlegroups.com
1. Abra la tabla de Excel exportada llamada (gantt).
2. Presione (ALT+F11) para iniciar el Editor de Visual Basic.
3. En el menú Insertar, haga clic en Módulo.
4. Resalte el código y copielo con (CTRL - C) 
 situado al lado derecho de este menu y péguelo usando (CTRL-V) en la hoja de módulo de Visual Basic:
5. Presione (ALT+F11) para volver a Excel.
6. Estando en la tabla de excel llamada Gantt resalte todos los datos.
7. En el menú Herramientas, elija Macro y a continuación, haga clic en Macros.
8. Haga clic en Diagrama de Gantt y a continuación, haga clic en Ejecutar.
9. Escriba el título de gráfico cuando se lo solicita.
El diagrama de Gantt aparece en una hoja nueva de gráfico.
Puede agregar cualquier formato adicional que desee.

CÓDIGO:

Option Explicit

Sub Gantt_Chart()
Dim rge As String
Dim ValueAxisMinValue As Date
Dim shtname As String
Dim Title As String, aChart As Chart
rge = Selection.Address()
ValueAxisMinValue = Selection.Cells(2, 2).Value
Title = InputBox("Dicte Un Título")
shtname = ActiveSheet.Name
Application.ScreenUpdating = False
Set aChart = Charts.Add
With aChart
.ChartWizard Source:=Sheets(shtname).Range(rge), _
Gallery:=xlBar, Format:=3, PlotBy:=xlColumns, _
CategoryLabels:=1, SeriesLabels:=1, HasLegend:=1, _
Title:=Title, CategoryTitle:="", ValueTitle:="", _
ExtraTitle:=""
.Legend.Delete
With .SeriesCollection(1)
With .Border
.Weight = xlThin
.LineStyle = xlNone
End With
.InvertIfNegative = False
.Interior.ColorIndex = xlNone
End With
With .Axes(xlCategory)
.ReversePlotOrder = True
.TickLabelSpacing = 1
.TickMarkSpacing = 1
.AxisBetweenCategories = True
End With
With .Axes(xlValue)
.MinimumScale = ValueAxisMinValue
.MaximumScaleIsAuto = True
.MinorUnitIsAuto = True
.MajorUnitIsAuto = True
.Crosses = xlAutomatic
.ReversePlotOrder = False
.ScaleType = False
.HasMajorGridlines = True
.HasMinorGridlines = False
End With
End With
Application.ScreenUpdating = True

End Sub



--
 
 

gantt.xls

Arnaldo Toledano

unread,
Jan 22, 2013, 1:33:29 PM1/22/13
to publice...@googlegroups.com
Por lo general en todos los presupuestos o en las tareas que le presento a mis clientes, siempre
lo hago con un diagrama de Gantt.

Me resulta practico y a la vez el cliente lo interpreta mejor.
Como siempre lo presente en presupuestos lo hice con un EXCEL.
En cuanto a realizarlo con VFP, es cuestión de EXPORTAR los datos a una planilla EXCEL
donde cada FILA responderá a una TAREA.

Hay que tener en cuenta que los gráficos de GANTT, pueden ser tan complejos como uno quiera.
He visto uno que utiliza la empresa VOSLWAGEN en el dto. de ingeniería que me pareció ESPECTACULAR.


Arnaldo Toledano
--
 
 

Allan Raúl Acuña

unread,
Jan 23, 2013, 1:12:47 AM1/23/13
to publice...@googlegroups.com
Edgar
 
Interesante voy a probar a ver que tal me va.
 
Cuando logre algo lo publico.
--
 
 

edgar suarez kummers

unread,
Jan 23, 2013, 8:54:28 AM1/23/13
to publice...@googlegroups.com, allan...@hotmail.com
Del excel adjunto:

La columna corridos son los días posteriores a la fecha central del evento, que en la tabla se llama iniciado.
La columna faltando son los días anteriores a la fecha central del evento, que en la tabla se llama iniciado.
La columna títulos es el nombre del evento, que en mi caso lleva un identificador de 7 dígitos.
O sea para mi caso, se pueden tener millones de identificadores y millones de históricos.
Para hacer el GANTT se le dicta una fecha GANTT (fecha de análisis) y el identificador de 7 dígitos de donde va a sacar la historia en la tabla de históricos. (el índice común de esa referencia)
Mirar el archivo GANTT.XLS de EXCEL adjunto, que aunque no tiene más que un renglón es un ejemplo.
Seguir al pie de la letra las instrucciones.
Nunca falla

--
 
 

gantt.xls
Reply all
Reply to author
Forward
0 new messages