Ir al contenido


Foto

error palabra clave left


  • Por favor identifícate para responder
4 respuestas en este tema

#1 andy

andy

    Member

  • Miembros
  • PipPip
  • 47 mensajes
  • Locationespana

Escrito 23 febrero 2012 - 04:43

Hola, estoy agregando esta consulta a un botón y al ejecutarla me da error cerca de la palabra clave LEFT, he probado de mil maneras y buscado en la red y nada 
Año, obra son variables de tipo string procedentes de dos edits


delphi
  1. form10.ADOQ.close;
  2. form10.ADOQ.SQL.Text:='SELECT DISTINCT  OBRAS_'+año+'.OPERARIO,  PERSONAL.NOMBRE' +
  3. 'from  OBRAS_'+año+'  left join PERSONAL'  +
  4. ' PERSONAL.ID = OBRAS_'+año+'.OPERARIO'+
  5.   'where  OBRAS_'+año+'.OBRA=' +(char($27)+obra+(char($27)+' AND FECHA_PARTE BETWEEN ' +(char($27)+jvdatepickeredit1.Text+ (char($27)+' and '+(char($27)+jvdatepickeredit2.Text+ (char($27)))))));
  6.   form10.ADOQ.OPEN;


Sin embargo la consulta funciona en sql
SELECT DISTINCT  OBRAS_2010.OPERARIO,  PERSONAL.NOMBRE
from  OBRAS_2010  left join PERSONAL
  PERSONAL.ID = OBRAS_2010.OPERARIO
  where  OBRAS_2010'.OBRA='9999'  AND FECHA_PARTE BETWEEN ('01/02/2010')and ('28/02/2010')

gracias

  • 0

#2 enecumene

enecumene

    Webmaster

  • Administrador
  • 7.419 mensajes
  • LocationRepública Dominicana

Escrito 23 febrero 2012 - 06:17

Prueba asi:



delphi
  1. var Obras: String;
  2.  
  3. Obras := Concat('OBRAS_',año);
  4. form10.ADOQ.close;
  5. form10.ADOQ.SQL.Text:='SELECT DISTINCT  '+ Obras +'.OPERARIO,  PERSONAL.NOMBRE ' +
  6. 'left join PERSONAL ON PERSONAL.ID = '+ Obras +'.OPERARIO ' +
  7. 'from  '+ Obras +
  8. ' where  '+ Obras +'.OBRA = ' +(char($27)+obra+(char($27)+' AND FECHA_PARTE BETWEEN ' +(char($27)+jvdatepickeredit1.Text+ (char($27)+' and '+(char($27)+jvdatepickeredit2.Text+ (char($27)))))));
  9.   form10.ADOQ.OPEN;



Saludos.
  • 0

#3 Rolphy Reyes

Rolphy Reyes

    Advanced Member

  • Moderadores
  • PipPipPip
  • 2.092 mensajes
  • LocationRepública Dominicana

Escrito 23 febrero 2012 - 06:20

Saludos.

Debería ser:

SELECT DISTINCT  OBRAS_2010.OPERARIO,  PERSONAL.NOMBRE
FROM  OBRAS_2010  LEFT JOIN PERSONAL ON
  PERSONAL.ID = OBRAS_2010.OPERARIO
  WHERE  OBRAS_2010'.OBRA='9999'  AND FECHA_PARTE BETWEEN ('01/02/2010')and ('28/02/2010')


Nota: Enecumene anoto primero....  (y)
  • 0

#4 jdepaz

jdepaz

    Advanced Member

  • Miembros
  • PipPipPip
  • 264 mensajes
  • LocationMedellín Colombia

Escrito 23 febrero 2012 - 08:38

Hola a todos,

Creo que también sería de indicarle que su problema está en
la escritura de la consulta:



delphi
  1. form10.ADOQ.close;
  2. form10.ADOQ.SQL.Text:='SELECT DISTINCT  OBRAS_'+año+'.OPERARIO,  PERSONAL.NOMBRE ' +    {espacio }
  3. 'from  OBRAS_'+año+'  left join PERSONAL '  +  {espacio}
  4. ' PERSONAL.ID = OBRAS_'+año+'.OPERARIO '+  {espacio}
  5. 'where  OBRAS_'+año+'.OBRA=' +(char($27)+obra+(char($27)+' AND FECHA_PARTE BETWEEN ' +(char($27)+jvdatepickeredit1.Text+ (char($27)+' and '+(char($27)+jvdatepickeredit2.Text+ (char($27)))))));
  6. form10.ADOQ.OPEN;




Saludos

  • 0

#5 andy

andy

    Member

  • Miembros
  • PipPip
  • 47 mensajes
  • Locationespana

Escrito 25 febrero 2012 - 04:56

hola, pues si era el espacio final gracias
  • 0




IP.Board spam blocked by CleanTalk.