Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 15-03-2005
Avatar de Crandel
[Crandel] Crandel is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Parana, Argentina
Posts: 1.475
Poder: 25
Crandel Va por buen camino
Primero que nada, antes de intentar llevar tus procedimientos a un programa siempre tenes que probarlos ejecutando la instruccion en una consola como wisql o ibcomsole (como lo estas haciendo) antes de pasar con los componentes.
La ejecución se realiza como vos decis, por lo que la instrucción esta bien.
Luego decis que cargas una tabla auxiliar, que sucede con esta?
Ejecutá en la consola para ver si cargo bien la tabla auxiliar y nos contas

Suerte

y explicate un poquito mas con la tabla auxiliar si ahi esta el problema

Crandel
__________________
[Crandel]
Responder Con Cita
  #2  
Antiguo 15-03-2005
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 19.449
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Si tienes esa consulta o los resultados "ligados" a controles visuales prueba a desconectarlos y volver a lanzar la consulta.
Sospecho que puedes tener un problema con las máscaras, ¿Has definido máscaras en algun DBGrid que tengas "enganchado" a esa consulta o sobre algun DBEdit?
Sobre todo en los refrente a puntos y comas para decimales.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #3  
Antiguo 15-03-2005
dakar dakar is offline
Registrado
 
Registrado: mar 2005
Posts: 7
Poder: 0
dakar Va por buen camino
Unhappy

Primero que nada gracias a todos por sus respuestas y su interes en mi
problema.
Bien voy a tratar de aclarar un poquito mas el problema según me lo han
pedido, y no me van a creer que tan simple es lo que hago y el error que me
está dando, por eso mi pregunta de ver si a alguien le ha pasado lo mismo.

En primer lugar no consideren la tabla de paso, el codigo exacto que tengo
para probar que valores me está arrojando la consulta es el siguiente:
////////////////
cSql := 'SELECT vendedor, Sum(monto) monto, Sum(devol) devol'+
' FROM Movim GROUP BY vendedor';
Q.CommandText:= cSql; //Q = SqlClientDataset
Q.open;
while not Q.Eof do
begin
ShowMessage('Valor Devol: [ '+Q.fieldbyname('devol').AsString+' ]');
q.Next;
end;
q.Close;

/////////////

Así de simple, y cuando me muestra los valores en pantalla del campo
"devol" me muestra:


Es decir a devol le pasa un valor "=" que obviamente al tratar de traspasarlo
a una vairable entera me arroja el error mencionado en mi primer mensaje.
Los campos monto y devol en la base de datos son integer y no existe
ningún valor Null; para la mayoria de los vendedores la sumatoria de "Devol"
corresponde a 0 y existe un vendedor que tiene Valor en Devol y la
sumatoria corresponde a 25000, pero al verlo en pantalla me los muestra
así:


Como ven es para no creerlo, no se si es algún problema con delphi, la
instalación, el componente, no se; lo cierto es que, por cambio de equipo,
he tenido que reinstalar el Delphi (6) e igual continua el problema, existen
2 parches de esta versión y también se los instalé.

Bueno espero que les haya quedado claro y, si no tienen alguna respuesta,
-como yo no la tengo- igual agradezco su interés.

Gracias.

¿Es posible que ha nadie le haya pasado?
Responder Con Cita
  #4  
Antiguo 15-03-2005
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.610
Poder: 32
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
Smile Cacemos a esa liebre

¡Buen día a todos!

Dakar:

Descartando que hayas puesto accidentalmente un símbolo de igual (=) en la llamada la función ShowMessage, podemos decir que evidentemente la expresión
Código Delphi [-]
Q.FieldByName ('devol').AsString
está regresando un cadena de caracteres con el sufijo '='.

Cacemos a esa liebre :

Pregunta 1. ¿Qué sucede si en lugar de la columna devol indicas la columna monto?
Código Delphi [-]
ShowMessage ('Valor Monto: [ ' + Q.FieldByName ('monto').AsString + ' ]');
Esperamos respuesta.

Al González.

Última edición por Al González fecha: 15-03-2005 a las 19:29:48.
Responder Con Cita
  #5  
Antiguo 15-03-2005
dakar dakar is offline
Registrado
 
Registrado: mar 2005
Posts: 7
Poder: 0
dakar Va por buen camino
O.K.
Poniendo el codigo que me escribes en tu respuesta, me surgieron varias
ideas de ir descartando el problema (acorralando la liebre).
Al poner el codigo me muestra la sumatoria de cada vendedor, del campo
monto, sin problemas;entonces me dije- "a lo mejor, por alguna
informatica(no entendible) razon, desde la sumatoria del segundo campo en
adelante me da el problema"-cambié mi SQL y puse "..sum(devol) devol,
sum(monto) monto..", pero sigue igual, es decir los montos me los muestra bien y devol me los muestra mal. también pensé-"a lo mejor cuando existen
valores en 0 está el problema o mejor aún cuando un vendedor tiene una
sumatoria en 0 los demás presentan problemas"-Como el campo "monto"
siempre tiene valores, los cambié y dejé algunos vendedores con todos sus
montos en 0, a otros con algunos montos en 0 y a otros con los montos
normales; lo probé, mostré los valores de la sumatoria del campo "monto" y
se muestrán bien; si me pude dar cuenta que cuando la sumatoria es 0
siempre arroja un signo "=", pero cuando la sumatoria es mayor la muestra
bien (esto podría ser subsanable al momento de traspasarlo a una tabla de
paso) el problema es que "devol" lo sigue mostrando mal, es decir el único
vendedor que tiene como sumatoria 25000 me lo muestra como "2500=".

Gracias.
Responder Con Cita
  #6  
Antiguo 17-03-2005
dakar dakar is offline
Registrado
 
Registrado: mar 2005
Posts: 7
Poder: 0
dakar Va por buen camino
Para Finalizar

Hola a Todos:

Habiendo tenido un tiempo, y luego de cambiar la programación de mi proceso completo en donde necesitba obtener la sumatoria de los campos
mencionados en este hilo, estuve revisando los componentes FIBPlus de los
cuales había leido pero no los había utilizado. Bajé e instalé los
componentes y luego hice la misma consulta, largamente mencionada, en un
SqlClientDataset(1) y en un FibDataset(2); al mostrar en pantalla los datos
generados por ambos componentes (específicamente el campo devol con
valor "25000") el componente 1 me mostraba "2500=" y el 2 "25000"; es
decir, existe un problema con el SqlClientDataset del DbExpress.

Si alguien sabe de éste problema o algún comentario al respecto me
gustaría escucharlo ya que cada vez que traté de buscar la solución a
través de los distintos foros parece que a nadie le había sucedido. Además
la idea de usar los Componentes DbExpress es que, en el posible cambio
de la base de datos a otro motor, no tenga necesidad de cambiar los
componentes de acceso a ésta.

Espero algún comentario.
Responder Con Cita
  #7  
Antiguo 17-03-2005
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.610
Poder: 32
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
Smile TSimpleDataSet

¡Buen día a todos!


Cita:
Empezado por dakar
...en un SqlClientDataset(1) y en un FibDataset(2); al mostrar en pantalla los datos generados por ambos componentes (específicamente el campo devol con valor "25000") el componente 1 me mostraba "2500=" y el 2 "25000"; es decir, existe un problema con el SqlClientDataset del DbExpress...
No se si esto sirva de algo, pero:
Cita:
Empezado por Ayuda de Delphi 7
The dbExpress page of the Component palette includes TSimpleDataSet for use with simple, two-tier database applications (TSimpleDataSet replaces TSQLClientDataSet).
¿Qué versión de Delphi utilizas? Sería interesante probar esto mismo con TSimpleDataSet.

Espero esto sea de utilidad, seguimos en contacto.

Al González.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 21:05:00.


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