Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   Consulta con dos bbdd (https://www.clubdelphi.com/foros/showthread.php?t=87519)

Casimiro Notevi 27-01-2015 12:37:40

Self.IBQuery2.FText 'select * from FACTURA where PROYECTO in (12,38,156)'#$D#$A

Pero ahí hay un montón de errores, si pones código que sea el que de verdad estás usando.

Catublipas 27-01-2015 12:46:21

Lo tengo Casimiro,

fallo mío, estaba trabajando con el ejemplo que hemos puesto, y en la bbdd, no lo he transcrito con los campos exactamente y por eso no se mostraba.

Casimiro esto funciona de lujo, mucho más rápido que puenteando las bases de datos.

Eres un genio. Si hay alguna forma que pueda ayudaros, dímelo.

Me has resuelto un problemón.

Muchísimas gracias.

Un saludo! :D

Casimiro Notevi 27-01-2015 12:51:14

Cita:

Empezado por Catublipas (Mensaje 488182)
Si hay alguna forma que pueda ayudaros, dímelo.

Se me ocurren muchas cosas... pero ninguna legal :p

Catublipas 27-01-2015 15:11:39

Una última questión, es que no consigo meter la consulta entera, parece ser un problema con las comillas, ¿se te ocurre donde puede estar?

El código es:

Código SQL [-]
Select Distinct
  FAC1.SERCOD,
  FAC1.DOCNUM,
  FAC1.CLICOD,
  FAC1.CLINOM,
  RECIBOS.RECESTADO,
  RECIBOS.RECIMPORTE,
  RECIBOS.RECFECVTO
From
  FAC1 Inner Join
  FAC2 On FAC1.DOCNUM = FAC2.DOCNUM And FAC1.SERCOD = FAC2.SERCOD Inner Join
  RECIBOS On (FAC2.DOCNUM = (00 || RECIBOS.RECFACNUM) Or FAC2.DOCNUM =
      (000 || RECIBOS.RECFACNUM) Or FAC2.DOCNUM = (0000 ||
      RECIBOS.RECFACNUM) Or FAC2.DOCNUM = (00000 || RECIBOS.RECFACNUM) Or FAC2.DOCNUM = RECIBOS.RECFACNUM) And
    FAC2.SERCOD = SUBSTR(RECIBOS.RECCOD, 1, 2) And FAC2.CLICOD = RECIBOS.CLICOD
Where
  (FAC1.OBRACOD In ('+ cProyectos +')) Or
  (SUBSTR(FAC2.CODIGOMAQUINA, 6, 9) In ('+ cProyectos +'))

Creo que el problema viene de los paréntesis y comillas.
En la consulta lo he metido sin salto de linea, pero es que es más cómodo para que lo puedas leer así.

Gracias!:)

Casimiro Notevi 27-01-2015 15:25:23

Vuelvo a lo de antes, no soy adivino :P
¿Eso es en un store procedure?, ¿una llamada desde delphi?, ¿has visto la sentencia completa antes de ejecutarse?, ¿hay algún mensaje de aviso o error?, etc. etc. etc....


La franja horaria es GMT +2. Ahora son las 20:44:55.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi