FoxPro/Visual FoxPro - Saldo

   
Vista:

Saldo

Publicado por JOSE ERNESTO (15 intervenciones) el 20/01/2014 20:32:12
Tengo dos campos uno de salidas y otro de entradas, y quiero establecer el saldo, como hago?

Fecha Entradas Salidas Saldo
01/01/14 3 0 3
02/01/14 0 1 2
03/01/14 1 0 3
04/01/14 3 0 6
05/01/14 0 4 2

La fecha, estradas y salidas ya estan ingresados, pero quiero establecer el saldo acumulado.

podrian instruirme, por favor.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Saldo

Publicado por Saul (676 intervenciones) el 20/01/2014 22:11:25
Instruirme tu primero ..

la verdad no entiendo que necesitas.. podrias ser un poco mas especifico.. .

1.- Que necesitas.
2.- Estas trabajando con tablas libres o SQL
3.- Que resutlados quieres o quieres una idea..??

bueno por favor ayudate para que te ayudemos..
ajajja

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Saldo

Publicado por Fidel José (558 intervenciones) el 20/01/2014 22:16:53
Mira José Ernesto, que tu pregunta parece tan simple que da miedo contestarla. Será?
Para estos casos conviene escribir un PROCEDURE en un archivo prg y lo vas manejando según la necesidad.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
PROCEDURE Getsaldo( xcAlias , xcCodigoBuscado )
*-----------------------------------------------
* Propósito: Obtener los saldos en una tabla de Entradas / Salidas / Saldos
* Acá supongo que tienes un campo llamado "FECHA", pero también lo puedes parametrizar.
* Obtiene el índice si lo hay
 
LOCAL lcIndice , LnSaldo,nti,i
LOCAL ARRAY gatags(1)
 
SELECT (xcAlias)
NTi=ATAGINFO(GATAGS)
lcIndice=""
FOR i=1 TO nti
	IF LEFT(gatags[i,3],LEN("FECHA"))=="FECHA"
		LcIndice=gatags[i,1]
		EXIT
	ENDIF
ENDFOR
 
* Selecciona el cursor
SELECT (xcAlias)
IF !EMPTY(lcIndice)
	SET ORDER TO (lcIndice)
ENDIF
 
lnSaldo=0
IF EMPTY(xcCodigo)
	&& Si xcCodigo no se consigna, toma toda la tabla
	SCAN
		lnSaldo=lnSaldo+Entrada-Salida
		replace saldo WITH m.lnSaldo
	ENDSCAN
ELSE
	&& Si se consigna un código
	SCAN WHILE Codigo=xcCodigo	&& alt SCAN FOR codigo=xcCodigo
		lnSaldo=m.lnSaldo+Entrada-Salida
		replace saldo WITH m.lnSaldo
	ENDSCAN
ENDIF
*BROWSE


Alternativamente, si tienes un código de producto o algo similar, necesitas crear un método o procedure
Si no era este el sentido de la pregunta, descarta mi respuesta.


Hay casos más complejos, pero no sé que es lo que necesitas hacer.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar