Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Tipo de campo rxmemorydata, money (https://www.clubdelphi.com/foros/showthread.php?t=49529)

Petolansa 24-10-2007 00:52:51

Tipo de campo rxmemorydata, money
 
Buenas gente estoy haciendo un sistema de facturacion y creo que voy pegando en lo justo.
Tengo tablas factura y detallefactura, y uso una tabla en memoria que seria la rxtempora que es una rxmemorydata conectado a un dbgrid.
Mi duda es la siguiente. Tengo una tabla paradox de stock que es de la que saco los artculos y su coston y los traigo a la tabla en memoria.
Los tipo de campo en las tablas paradox son money y quisiera que el campo de la tabla de memoria seria un money igualmente, per los tipo de campo disponibles que me aparecen son:
adt, array, autoinc, bcd, blob, boolean,bytes, currency,cursor,dataset,datetime,dbseole,fixedchar,float,fmtbcd,fmtmemo, grapchic,guid, dispatch,integer,interface,largeint,memo,orablob,oraclob,paradoxole,r
eference,smallint,string,time,timestamp,typedbinary,varbytes,variant,
widestring, word.

Que tipo de todos estos seria un campo money?. O tendria que elegir otro tipo y despues convertirlo.

Por ultimo, una vez solucionado lo del tipo de campo, como sumo una columna de tipo money. O sea con valores de diner.

Desde ya muchas Gracias

Disculpen mi ignorancia.

aeff 24-10-2007 03:13:41

Mira, yo usaría un campo de tipo *ftCurrency* en la RxMemoryData1 para el campo de dinero, las tablas paradox que tienen campo tipo *$ (money)* en realidad es datos Currency, ¿entiendes?, lo que en el DBGrid se muestran con el signo "$" al final y separados por "." y "," porque se le cambia la propiedad "DisplayFormat",

hasta aqui lo de las tabla y el campo Money, espero que me hallas entendido

ahora, para sumar una columna, primero, una variable que llevará la suma inicialmente = 0, posicionas la tabla en el primer registro (Tabla1.First), y mientras no se halla llegado al último registro de la tabla le sumas a la variable el valor del registro actual, mas o menos así

Código:

var
  total: real;
begin
  total := 0;
  tabla1.first;
  while not tabla1.eof do
  begin
    total := total + Tabla1.FieldByName('CampoMoney').AsCurrency;
    tabla1.next;
  end;

luego, para mostrar esa variable con un formato deseado puedes convertirla a string en otra variable y con unas de las funciones como "Format(...)", mostrarla con le formato que quieras,

espero que te sirva de algo,
saludos!

aeff!

Petolansa 24-10-2007 15:04:56

Gracias
 
Muchas gracias aeff, agradezco tu tiempo...Las explicaciones estan de 10.
Hasta luego

aeff 25-10-2007 04:53:02

epa! *Petolansa*, pero no has dicho si lograste lo que querías o no, y de que forma lo hiciste!!

saludos!

Petolansa 25-10-2007 13:46:22

tienes razon
 
Tienes razon aeff , lo que pasa es que todavia no lo hize, jaja, pasa es que cuando estoy por hacer algo, siempre me salta algo antes, como mi otro hilo,si ves estoy preguntando siempre acerca de facturacion que es lo que mas me cuesta, y ahra estoy con lo del nro factura, pero leyendo tu explicacion me queda claro, y no tengan dudas, que al ser este el primer sistemita que estoy haciendo, una vez terminado y aprobado mi tesis lo subire al club con codigo completo en forma de agradecimiento, como lo hizo el maestro de Caral, para que les sirva a todos, ya que la mayor parte de dicho sistemita, esta hecho con la ayuda de todos ustedes, tanto como las respuestas a mis hilos como las busqueda en hilos anteriores.

Gracias gente por todo

aeff 25-10-2007 18:29:46

ok colega, solo me preguntaba si te quedaban dudas para poderte resolver el problemita,

suerte y hasta luego!


aeff!


La franja horaria es GMT +2. Ahora son las 06:20:25.

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