Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   Problemas con la query (https://www.clubdelphi.com/foros/showthread.php?t=6860)

merlin 26-01-2004 10:28:03

Problemas con la query
 
Wenas q tal vais?

Pues mi problema es el siguiente:
Tengo echa un consulta q es:
select
N_PEDPRO,
C_ARTICULO,
C_PROVEDOR,
CANTIDAD_P,
CANTIDAD_R,
FECHA_PED,
FECHA_SER,
LIN,
PREDIV,
PPEDIDO,
CODINCI,
SUM((cantidad_p * ppedido)) as TOTALART
from nccomlin
where FECHA_SER>='01.01.2004' AND
FECHA_SER<='22.01.2004'
AND CODINCI <>'Ninguna'
group by
N_PEDPRO,
C_ARTICULO,
C_PROVEDOR,
CANTIDAD_P,
CANTIDAD_R,
FECHA_PED,
FECHA_SER,
LIN,
PREDIV,
CODINCI,
PPEDIDO
order by fecha_ser, lin

pero cuando la ejecuto me da el error : "TRANSLATE ERROR VALUE OUT OF BOUNDS"

El error viene por la 3ª linea del where si suprimo "AND CODINCI <>'Ninguna' " me realiza la consulta si problemas pero si no, no me saca los registros de la tabla q no cumplen esa condicion.
:confused:
¿Sabe Alguien xq puede ser eso?

guillotmarc 26-01-2004 14:33:29

Ni idea, pero seria interesante que indicaras que servidor o base de datos utilizas, para que alguien te pueda ayudar.

También puedes indicar si este error solo te lo da desde tu aplicación Delphi, o también lo da ejecutandolo directamente en la base de datos. Si solo lo da en Delphi, deberías indicar que componentes utilizas para la conexión con la base de datos.

Saludos.

merlin 26-01-2004 17:11:19

base de datos
 
Yo uso el dbase 5 para windows y delphi 7 los conecto con el BDE del borland delphi.

sitrico 27-01-2004 19:33:35

¿Que Tipo de dato es CODINCI? (String, Integer o ??) porque en la comparación usas un string:

Cita:

AND CODINCI <>'Ninguna'
Es posible que CONDICI sea un valor Integer y tengas que escribir (por Ej.)

Código:

CODINCI <> 0

merlin 28-01-2004 11:26:58

tipo de dato
 
codinci es un string, de 200

sitrico 28-01-2004 15:20:17

Ya que es un char(200) no se exactamente porque te da el error, lo busque en google y encontre varias referencias como la siguiente:

Cita:

community.borland.com

Article #15093: 'Translate error, value out of bounds' error

Question and Answer Database

FAQ93B.txt 'Translate error, value out of bounds' error
Category :Database (FoxPro)
Platform :Win95/NT
Product :

Question:
"Translate error, value out of bounds" error with blank date
fields: What causes this error and how do I get around the problem?

Answer:
Fox Pro stores one of three things in a date field:

An actual date (ex 19970727 is 7/27/1997)
8 Spaces (ASCII 20)
8 Zeros (ASCII 30)

All of these are acceptable to Fox Pro. The Fox Pro driver for
the BDE only accepts 1 & 2 as valid dates and returns a
translate error for the 3rd (8 ASCII zeros) as it doesn't
consider this as a valid date. To fix the problem, restructure
the date field to a char field and then restructure the table
again changing the char filed back to a date field. This
translation writes back only valid values to the date field and
fixes the problem.

7/15/98 3:23:06 PM

Last Modified: 01-SEP-99
Lo que indica que probablemente el error se genera porque hay campos vacios (nil ó null) y cuando los encuenta te genera el error.

Si no es así te recomiendo que busques en google "Translate error, value out of bounds" (con las comillas) a ver si encuentras una mejor explicación.

Nelet 28-01-2004 17:19:34

Probemos con esto
 
En sql-server hay una función para tratar los campos a null, no se si a ti te funcionará, pero por probar...

Esta función sustituye el valor null por el que tu le des:

ISNULL(campo, valor a reflejar si el campo es nulo)

En vez de poner la condicion así:

AND CODINCI <>'Ninguna'

prueba con esto:

AND ISNULL(CODINCI,'Ninguna')<>'Ninguna'

merlin 30-01-2004 10:47:19

Gracias a todos
 
Hola a todos solo dar las gracias por vuestra ayuda,

Bueno vamos por partes nelet he probado tu funcion pero no me valió.

Sitrico probe lo tuyo y al principio no me resulto pero luego le hice un pack a la tabla y bualaaa caso resuelto, lo unico esq la idea de nelet me era muy buena ya q los q tubiera a nulo me los quitaria el problema es q cuando uso su funcion me da un error de capability no suport, pero bueno caso resuelto.

Gracias a todos los q me habeis ayudado.


La franja horaria es GMT +2. Ahora son las 09:59:38.

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