consultar fechas en base de datos access desde visual foxpro

203 views
Skip to first unread message

Daniel Camayo

unread,
Mar 2, 2020, 2:38:32 PM3/2/20
to Comunidad de Visual Foxpro en Español
Hola amigos un consulta sobre consulta de fechas en access desde visual Foxpro
ltfh1=STR(cMes)+"-"+ALLTRIM(STR(cDay))+"-"+ALLTRIM(STR(cAno))

SQLEXEC(lncontroladorconexion,;
"SELECT * FROM ordertransactions INNER JOIN ORDERHEADERS "+ ;
"ON  Orderheaders.orderid = Ordertransactions.orderid "+ ;              
"WHERE INT(Orderheaders.orderdatetime)=#"+ltfh1+"#","resultado6")
SELECT resultado6

de la manera anterior funciona perfecto
pero si lo pongo dentro de un text endtext  deja de funcionar
si pongo la fecha directamente asi  #02-14-2020# funciona perfectamente

alguna idea por favor

TEXT TO lcSelect TEXTMERGE NOSHOW PRETEXT 15
SELECT orderheaders.orderid AS ORDEN
,Dineintables.dineintabletext AS MESA
    ,CustomerFiles.CustomerName AS CLIENTE
,orderheaders.ordertype AS TIPO
,orderheaders.subtotal AS SUBTOTAL
,orderheaders.salestaxrate AS ITBM
,orderheaders.salestaxamountused AS TAX
,orderheaders.amountdue AS TOTAL
,orderheaders.gratuitypercent AS PORC
    ,(orderheaders.subtotal)*(orderheaders.gratuitypercent/100) AS PROPINA
,orderheaders.cashgratuity AS REPIQUE
,orderheaders.discountamount AS PORCE
,orderheaders.discountamountused AS DESCUENTO
FROM (orderheaders LEFT JOIN Dineintables
ON ORDERHEADERS.dineintableID = Dineintables.dineintableID)
LEFT JOIN customerfiles
ON ORDERHEADERS.CustomerID = CustomerFiles.CustomerID
WHERE INT(ORDERHEADERS.orderdatetime)=#+"ltfh1"+#
ENDTEXT
-- 

muchas gracias
Daniel Camayo

ZeRoberto

unread,
Mar 3, 2020, 12:01:53 AM3/3/20
to publicesvfoxpro
Si usas MySQL puedes probar esto

ldFecha = Date()
TEXT TO lcSelect TEXTMERGE NOSHOW PRETEXT 15
   SELECT oh.orderid AS ORDEN, dt.dineintabletext AS MESA, cf.CustomerName AS CLIENTE,
          oh.ordertype AS TIPO, oh.subtotal AS SUBTOTAL, oh.salestaxrate AS ITBM,
          oh.salestaxamountused AS TAX, oh.amountdue AS TOTAL, oh.gratuitypercent AS PORC,
          (oh.subtotal)*(oh.gratuitypercent/100) AS PROPINA, oh.cashgratuity AS REPIQUE
          oh.discountamount AS PORCE, oh.discountamountused AS DESCUENTO
          FROM orderheaders oh
               LEFT JOIN dineintables ON oh.dineintableID = dt.dineintableID
               LEFT JOIN customerfiles ON oh.CustomerID = cf.CustomerID
          WHERE DATE(oh.orderdatetime) = ?ldFecha
ENDTEXT

Saludos

Ze



--
Visita el Blog de la Comunidad Visual FoxPro en Español: http://comunidadvfp.blogspot.com
---
Has recibido este mensaje porque estás suscrito al grupo "Comunidad de Visual Foxpro en Español" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a publicesvfoxp...@googlegroups.com.
Para ver esta conversación en el sitio web, visita https://groups.google.com/d/msgid/publicesvfoxpro/246f5a61-78d0-40bf-b8e5-43df71977c5b%40googlegroups.com.

ZeRoberto

unread,
Mar 3, 2020, 12:03:16 AM3/3/20
to publicesvfoxpro
Perdon me olvide de poner los alias

TEXT TO lcSelect TEXTMERGE NOSHOW PRETEXT 15
   SELECT oh.orderid AS ORDEN, dt.dineintabletext AS MESA, cf.CustomerName AS CLIENTE,
          oh.ordertype AS TIPO, oh.subtotal AS SUBTOTAL, oh.salestaxrate AS ITBM,
          oh.salestaxamountused AS TAX, oh.amountdue AS TOTAL, oh.gratuitypercent AS PORC,
          (oh.subtotal)*(oh.gratuitypercent/100) AS PROPINA, oh.cashgratuity AS REPIQUE
          oh.discountamount AS PORCE, oh.discountamountused AS DESCUENTO
          FROM orderheaders
oh
               LEFT JOIN dineintables
dt ON oh.dineintableID = dt.dineintableID
               LEFT JOIN customerfiles
cf ON oh.CustomerID = cf.CustomerID

          WHERE DATE(oh.orderdatetime) = ?ldFecha
ENDTEXT


Saludos

Daniel Camayo

unread,
Mar 3, 2020, 8:25:07 AM3/3/20
to publice...@googlegroups.com
Muchas gracias zeroberto voy a probar  de esta manera,  no es MysQL   es Microsoft Access
Te comento como me fue
Saludos

Enviado desde BlueMail

Víctor Hugo Espínola Domínguez

unread,
Mar 3, 2020, 11:17:08 AM3/3/20
to publice...@googlegroups.com
> WHERE INT(ORDERHEADERS.orderdatetime)=#+"ltfh1"+# 

Cambia por:

WHERE INT(ORDERHEADERS.orderdatetime) = #<<ltfh1>>#

OBS: Como te mostró ZeRoberto es mejor!
 
Saludos,
Víctor.
Lambaré - Paraguay.



--

Daniel Camayo

unread,
Mar 3, 2020, 7:30:58 PM3/3/20
to publice...@googlegroups.com
Victor Hugo Muchas gracias 

Solucionado



--
Daniel Camayo

Daniel Camayo

unread,
Mar 3, 2020, 7:39:20 PM3/3/20
to publice...@googlegroups.com
Zeroberto

muchas gracias me funciono a la perfección, aprovecho para preguntarte algo las aplicaciones de Vfp con base de datos Msyql funcionan bien alojando la base de datos en la web? 
por ejemplo si tengo 4 sucursales en diferentes paises puedo alojar la base de datos en la web y funcionaria?
o estamos hablando de programación web con java o PhP?

muchas gracias por tus comentarios



--
Daniel Camayo

ZeRoberto

unread,
Mar 3, 2020, 8:36:17 PM3/3/20
to publicesvfoxpro
Yo lo probe MySQL + Hosting + Vfp y funciona bien, con php ya seria mejor porque tanto la aplicación como la db estarían en la nube.

Saludos 

Ze



ZeRoberto

unread,
Mar 3, 2020, 10:37:20 PM3/3/20
to publicesvfoxpro
Solo encontré algunos inconvenientes al usar VFP + Hosting

1.- Cada vez que haces cambio de versión tienes que actualizar en todas las pcs
2.- Si tu conexión pasa a travez de una proxy no podrás conectarte a tu db
3.- Si tu Internet usa Nat3 no podrás conectarte a tu db  
4.- Cuando tu Internet tiene micro cortes las tablas pueden quedar bloqueadas.

Saludos

Ze





ZeRoberto

unread,
Mar 3, 2020, 11:33:37 PM3/3/20
to publicesvfoxpro
Acá te dejo un ejemplo de vfp con mysql, en la descripcion esta el link de descarga


Saludos

Ze




ZeRoberto

unread,
Mar 3, 2020, 11:36:27 PM3/3/20
to publicesvfoxpro
Perdon el punto 3 del nat3 solo sucede cuando por internet te quieres conectar a tu servidor local

Saludos

Ze



El mar., 3 de mar. de 2020 a la(s) 22:37, ZeRoberto (zero...@gmail.com) escribió:

José Guevara

unread,
Mar 4, 2020, 8:38:38 PM3/4/20
to publice...@googlegroups.com
Me alegra que haya solucionado con todo le envio lo que yo uso en tema de fechas:
*para rango de fecha
DEFINE WINDOW C2 FROM 4,0 TO 15,70
ACTIVATE WINDOW C2
SET CENTURY on
SET DATE TO ymd
SELECT 2
USE install
@0,0 SAY "Fecha de inicio semestre " GET fsaldosi
@1,0 SAY "Fecha de fin de mes      " GET fechacre
READ
DEACTIVATE WINDOW c2
fe=DTOC(fechacre)
fi=DTOC(fsaldosi)
f2=SUBSTR(fe,1,4)+SUBSTR(fe,6,2)+SUBSTR(fe,9,2)
f1=SUBSTR(fi,1,4)+SUBSTR(fi,6,2)+SUBSTR(fi,9,2)
SQLEXEC(Conex,"SELECT cpersona_cliente, otroscampos ;
from tmovimientos where rubro='5'and cconcepto='9156' and fcontable between ;
to_Date('&f1','yyyymmdd') and to_Date('&f2','yyyymmdd')",'mitabla resultante')
browse
*NOTA si tiene un selec mayor a 250 caracteres no olvides de cerrar comillas y poner el sgno mas y abres nuevamente (concatenar) las veces necesarias recien aprendi jeje
Saludos desde Riobamba Ecuador

Libre de virus. www.avast.com


Libre de virus. www.avast.com
Reply all
Reply to author
Forward
0 new messages