consultas por fecha en mysql desde vfp9

859 views
Skip to first unread message

Saúl Piña Hdz

unread,
Jun 12, 2013, 1:53:17 PM6/12/13
to mundovis...@googlegroups.com
Saludos

Debo realizar una consulta en donde incluye la fecha, por ejemplo la fecha anterior, esto es lo que llevo, pero me muestra la consulta vacia, que le faltaría?

SET CENTURY ON
SET DATE TO BRITISH
SET DATE ymd
cFecha=DTOC(date())

            SQLEXEC(lhandle,"select modulo, fecha, estado from tgestiones where ffin="+cFecha+" and modulo="+STR(1)+" and estado="+STR(4)+" ORDER BY fecha ASC","conc1")
            SELECT conc1
            browse
            thisform.t1.Value=conc.estado

Gracias!

Jose Oscar Vogel

unread,
Jun 12, 2013, 1:54:23 PM6/12/13
to mundovis...@googlegroups.com
en vez de dtoc usa el dtos que convierte a la fecha en un formato yyyy/mm/ddd

saludos


--
_______________________________________________________________
Has recibido este mensaje porque estás suscrito al Grupo "Mundo Visual
FoxPro" de Grupos de Google.
 
Para anular la suscripción a este grupo, envía un mensaje a:
mundovisualfox...@googlegroups.com
---
Has recibido este mensaje porque estás suscrito al grupo "Mundo Visual FoxPro" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus correos electrónicos, envía un correo electrónico a mundovisualfox...@googlegroups.com.
Para obtener más opciones, visita https://groups.google.com/groups/opt_out.
 
 



--
Prof. Jose Oscar Vogel
Garuhapé - Misiones
CP 3334
Cel: 03743-15667526
MSN: oscar...@gmail.com
Twitter: @ovogel23
Facebook: oscarvogel

Saúl Piña Hdz

unread,
Jun 12, 2013, 2:02:50 PM6/12/13
to mundovis...@googlegroups.com
gracias Oscar, pero me convierte el date de hoy de: 2013/06/12 a: 20130612

Me faltaria algo?

Jose Oscar Vogel

unread,
Jun 12, 2013, 2:04:17 PM6/12/13
to mundovis...@googlegroups.com
efectivamente de esa forma tiene que funcionar ahora si necesitas hasta una fecha tendrias que poner  where ffin<="+cFecha+" 

saludos

Irwin Rodriguez

unread,
Jun 12, 2013, 2:34:55 PM6/12/13
to mundovis...@googlegroups.com
Prueba con esto:

LOCAL C_FECHA
C_FECHA=ALLTRIM(STR(YEAR(DATE()))+'-'+ALLTRIM(STR(MONTH(DATE()))+ALLTRIM(STR(DAY(DATE()))

Cambia la funcion DATE por tu variable fecha y la agregas a tu query.

Debería de funcionar. Comentas como te fue.

Saludos!
Ing. Irwin Rodríguez
Consultor Informático
0412-521.06.79
 

Antes de imprimir este documento piense bien si es necesario hacerlo, el árbol que servirá para hacer el papel tardará 7 años en crecer. 

 
NOTA: La información mostrada en este mensaje es de caracter Confidencial y está dirigida unicamente a los contactos señalados en el encabezado; si el lector de este correo no es el destinatario del mismo, se le notifica que cualquier copia o distribución queda totalmente prohibida. Si usted ha recibido este mensaje por error, por favor notifique inmediatamente al remitente por este mismo medio y bórrelo de su sistema.

Irwin Rodriguez

unread,
Jun 12, 2013, 2:36:03 PM6/12/13
to mundovis...@googlegroups.com
Prueba con esto:

LOCAL C_FECHA
C_FECHA=ALLTRIM(STR(YEAR(DATE()))+'-'+ALLTRIM(STR(MONTH(DATE()))+'-'+ALLTRIM(STR(DAY(DATE()))

Cambia la funcion DATE por tu variable fecha y la agregas a tu query.

Debería de funcionar. Comentas como te fue.

Saludos!

El 12 de junio de 2013 13:34, Jose Oscar Vogel <oscar...@gmail.com> escribió:



--

Saúl Piña Hdz

unread,
Jun 12, 2013, 2:55:23 PM6/12/13
to mundovis...@googlegroups.com
gracias Irving, te comento que si funciona, pero para no escribir tanto me fui con la opcion de Oscar

Es mas sencillo e igual funciona.

Alfonso Ramirez Diaz

unread,
Jun 12, 2013, 3:25:20 PM6/12/13
to mundovis...@googlegroups.com
No se entiende bien tu consulta pero puedes hacer lo siguiente:

1.- Lo primero es que la variable fecha la puedes consultar directamente dentro de la consulta

SQLEXEC(lhandle,"select modulo, fecha, estado from tgestiones where ffin=?cFecha and modulo="+STR(1)+" and estado="+STR(4)+" ORDER BY fecha ASC","conc1")

2.- Supongo que modulo y estado deben estar vacios al parecer por lo que se muestra

SQLEXEC(lhandle,"select modulo, fecha, estado from tgestiones where ffin=?cFecha and LENGTH(modulo)=0 and LENGTH(estado)=0 ORDER BY fecha ASC","conc1")

Te recomiendo también usar la herramienta Mysql Query Browser (gratuita) para ver si la consulta es correcta o no, ya que puedes hacer consultas directamente y ver los resultados, recuerda que las fechas debes colocarlas entre comillas con el siguiente formato "AAAAMMDD" para hacerlo desde foxpro no es necesario ya que usas por ejemplo fecha=?mifecha dentro de la misma instruccion SQLEXEC.




--
_______________________________________________________________
Has recibido este mensaje porque estás suscrito al Grupo "Mundo Visual
FoxPro" de Grupos de Google.
 
Para anular la suscripción a este grupo, envía un mensaje a:
mundovisualfox...@googlegroups.com
---
Has recibido este mensaje porque estás suscrito al grupo "Mundo Visual FoxPro" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus correos electrónicos, envía un correo electrónico a mundovisualfox...@googlegroups.com.
Para obtener más opciones, visita https://groups.google.com/groups/opt_out.
 
 



--
Alfonso Ramirez Diaz
Gestpyme - Informatica y Gestión
Fono: 055-833233
Movil: 09-82239821

HernanCano

unread,
Jun 12, 2013, 6:54:51 PM6/12/13
to mundovis...@googlegroups.com, ae...@gestpyme.cl
Alfonso:
 
Por lo que veo en la instrucción de Saúl, ni MODULO ni ESTADO pueden estar vacios; más bien creo que MODULO vale 1 (uno) y ESTADO vale 4 (cuatro).
 
SQLEXEC(lhandle,"select modulo, fecha, estado from tgestiones where ffin=?cFecha and modulo="+STR(1)+" and estado="+STR(4)+" ORDER BY fecha ASC","conc1")
¿Me confirman Saúl y Alfonso?
 
Chao.
 

El miércoles, 12 de junio de 2013 14:25:20 UTC-5, Alfonso Ramirez Diaz escribió:
1.- .....

SQLEXEC(lhandle,"select modulo, fecha, estado from tgestiones where ffin=?cFecha and modulo="+STR(1)+" and

Alfonso Ramirez Diaz

unread,
Jun 12, 2013, 8:26:01 PM6/12/13
to mundovis...@googlegroups.com
Entonces es más fácil

SQLEXEC(lhandle,"select modulo, fecha, estado from tgestiones where ffin=?cFecha and modulo=1 and estado=4 ORDER BY fecha ASC","conc1")


--
_______________________________________________________________
Has recibido este mensaje porque estás suscrito al Grupo "Mundo Visual
FoxPro" de Grupos de Google.
 
Para anular la suscripción a este grupo, envía un mensaje a:
mundovisualfox...@googlegroups.com
---
Has recibido este mensaje porque estás suscrito al grupo "Mundo Visual FoxPro" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus correos electrónicos, envía un correo electrónico a mundovisualfox...@googlegroups.com.
Para obtener más opciones, visita https://groups.google.com/groups/opt_out.
 
 

Saúl Piña Hdz

unread,
Jun 13, 2013, 10:12:30 AM6/13/13
to mundovis...@googlegroups.com, ae...@gestpyme.cl
Saludos!

Exactamente modulo=1 y estado=4, es por eso que en la consulta le asigno un str(1) a modulo, porque entiendo que para consultar en mysql éste debe ser con "STR() "

o estoy equivocado?  a parte la fecha no la puedo asignar directamente por me arroja una consulta vacia, de hecho fué lo que intenté primero y no me salio..

Gracias
 

Saúl Piña Hdz

unread,
Jun 13, 2013, 10:13:49 AM6/13/13
to mundovis...@googlegroups.com, ae...@gestpyme.cl
Es correcto Hernan modulo=1 y estado=4 yo siempre he pensado que para consultas por SQLEXEC se debe anteponer un "STR()" cuando se trata de numeros, es correcto?

gracias
 

Alfonso Ramirez Diaz

unread,
Jun 13, 2013, 12:17:44 PM6/13/13
to mundovis...@googlegroups.com
De las 2 formas esta correcto, el único problema que se puede presentar es que usar el STR() te agrega espacios al principio, debería ser ALLTRIM(STR(1)) pero si tienes el valor fijo mejor lo colocas de inmediato en la consulta.



El 13 de junio de 2013 10:13, Saúl Piña Hdz <vfxpro...@gmail.com> escribió:
Es correcto Hernan modulo=1 y estado=4 yo siempre he pensado que para consultas por SQLEXEC se debe anteponer un "STR()" cuando se trata de numeros, es correcto?

gracias

 

--
_______________________________________________________________
Has recibido este mensaje porque estás suscrito al Grupo "Mundo Visual
FoxPro" de Grupos de Google.
 
Para anular la suscripción a este grupo, envía un mensaje a:
mundovisualfox...@googlegroups.com
---
Has recibido este mensaje porque estás suscrito al grupo "Mundo Visual FoxPro" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus correos electrónicos, envía un correo electrónico a mundovisualfox...@googlegroups.com.
Para obtener más opciones, visita https://groups.google.com/groups/opt_out.
 
 
Reply all
Reply to author
Forward
0 new messages