Funciones de fecha

Hola experto,
Estoy empezando a usar Reporting Services para generar reportes y accedo a través de OLEDB a unas tablas foxpro donde se encuentran los datos.
El caso es que quiero hacer un listado de pedidos de los últimos 100 días de una tabla que se llama wpc.
He utilizado la función de SQL SERVER DATEDIFF y no he conseguido resultado, ya que (yo no lo sabía) tengo que utilizar funciones que foxpro reconozca y no sé si DATEDIFF está entre ellas o si lo está no sé su sintaxis.
¿Podríais decirme cómo puedo hacerlo?
Tabla: wpc
Campo wpc.fech_ped 
Que me devuelva los pedidos de los últimos 100 días.
Gracias y un saludo,
Respuesta
1
fecha=date()-100
has un selec * from wpc where fech_ped<?fecha
Solo eso lo bajas a un cursor como una consulta común avisame si no puedes completar la sentencia
Gracias por contestar.
No debo hacerlo muy bien porque no me funciona. ¿Puedes decirme como quedaría esta consulta? Gracias.
SELECT        n_pedido, cod_cli, fech_ped, cod_suc
FROM            wpc
WHERE        (cod_suc = 1)
SELECT        n_pedido, cod_cli, fech_ped, cod_sucFROM            wpcWHERE        (cod_suc = 1)
Bueno no se como te estas conectando a la base externa yo lo hago así en una función guardada en un prg donde tengo todas mis funciones llamadas luego con set procedure to nombreprg
Function conectar
PUBLIC CN
CN=SQLSTRINGCONNECT("DRIVER={MySQL ODBC 5.1 Driver};SERVER=localhost;UID=root;PWD=;DATABASE=javierc_pconline;PORT=3306;")
IF CN<1
 MESSAGEBOX("Fallo de conexión con el servidor",16,"Error...")
ENDIF
ENDFUNC
luego cuando voy a llamar una consulta la hago asi
nRpta=SQLEXEC(cn,"selec  n_pedido, cod_cli, fech_ped, cod_suc  FROM            wpc WHERE  cod_suc = 1 ","nombrecursor")
if nrpta<0
   MESSAGEBOX("Fallo de conexión con el servidor", 16,"Error...")
Endif
Si quiero ver lo que se cargo en el cursor haré
se le nombrecursor
brow
creo que es lo más claro que te puedo explicar

1 respuesta más de otro experto

Respuesta
1
Dateiff como tú lo dices no es una función de Visual FoxPro en lugar de esto utiliza la siguiente instrucción SQL
Select NombreCampos From wpc Where wpc.fech_ped Between Date() And Date() - 100 Into Cursor NombreCursor
Trata con lo anterior.
Gracias por contestar,
Debo ser un poco torpe porque no consigo hacerlo bien. ¿Puedes completarme esta consulta para que me saque los pedidos de los útltimos 100 días? Muchas gracias
SELECT        n_pedido, cod_cli, fech_ped, cod_suc
FROM            wpc
WHERE        (cod_suc = 1)
Select wpc.n_pedido, wpc.cod_cli, wpc.fech_ped, wpc.cod_suc From wpc Where wpc.cod_suc = 1  And wpc.fech_ped Between Date() - 100 And Date() Into Cursor cPedidos
Esa es la sentencia SQL.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas