FoxPro/Visual FoxPro - Cosulta SQL

 
Vista:

Cosulta SQL

Publicado por Carlos (30 intervenciones) el 01/04/2009 07:18:28
Muy buenas.
Alguien me puede ayudar con el siguiente problema:
Tengo una consulta SQL la cual debe de filtrar los datos de la siguiente manera:
1-Dependiendo de un rango de fecha
2-Dependiendo de un estado(PROCESADA, NO PROCESADA)
3-Dependiendo de los 4 carateres a la izquierda
Hago la consulta siguiente, pero me genera error:
select * from tablaxy where left(identificadores,4)='XXXX' and estado='PROCESADA' and fecha<=thisform.mesinicio._value and fecha>=thisform.mesfin._value into cursor cursor1

He notado que no puedo utilizar <= o >= porque es asi como me da error, como si la consulta solo aceptara igualdades(=)

Muchas Gracias
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

RE:Cosulta SQL

Publicado por ANDRES CORTEZ M (162 intervenciones) el 01/04/2009 07:48:10
HOLA CARLO

Se ve buena la instruccion :

select * from tablaxy where left(identificadores,4)='XXXX' and estado='PROCESADA' and fecha<=thisform.mesinicio._value and fecha>=thisform.mesfin._value into cursor cursor1

no se si la copiaste o lo escribiste pero a simple vista por si acaso quisas este bien escrita en tu proyecto pero por si acaso

and .and.

yo creo que el problema lo tienes en el campo fecha verifica de que tipo es si es date si es asi el thisform.mesfin.value deberia ser date tambien creo que ese es tu problema esta comparando un tipo con otro verifica y lo otro que me llama la atencion es el guin(-) antes del value no se si sera error de digitacion

la consulta de fecha deveria ser asi

ctod(thisform.mesinicio.value)>=fecha .and. ctod(thisform.mesfin.value) <=fecha

si fuera el campo de tipo fecha

espero te sirva

ACM
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:Cosulta SQL

Publicado por Carlos (30 intervenciones) el 01/04/2009 07:52:31
No, el error me lo da antes de cerrar el area de digitacion(evento clic), por lo de las fechas todos son de tipo date, el guion(-) se debe a que es un objeto datepicker(control activex) ese no deberia de ser problema.
Por otro lado si quito el left me funciona de maravilla, pero se van todos los datos
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:Cosulta SQL

Publicado por ANDRES CORTEZ M (162 intervenciones) el 01/04/2009 09:26:21
HOLA CARLOS

left(identificadores,4)='XXXX'

UTILISA

SUBSTR(IDENTIFICADORES,1,4)="XXXX"

ESPERO TE SIRVA

ACM
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:Cosulta SQL

Publicado por Mario (199 intervenciones) el 01/04/2009 14:27:21
Probá lo siguiente:

Incio=thisform.mesinicio._value
Fin=thisform.mesfin._value

select * from tablaxy where left(identificadores,4)='XXXX' and estado='PROCESADA' and fecha<=inicio and fecha>=fin into cursor cursor1
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:Cosulta SQL

Publicado por alexcoinc (450 intervenciones) el 01/04/2009 14:54:04
fecha >=inicio .and. fecha<=final

utilizaria por si caso el SUBSTR(variable,1,4)='XXXX'

y colocaria tambien por si acaso: en parentesis todo lo del where

alexcoinc
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