Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

¿Como se suma de campos de access 2003

Estas en el tema de ¿Como se suma de campos de access 2003 en el foro de Bases de Datos General en Foros del Web. espero se aprecie bien la imagen. lo que intento hacer en esta ocacion es realizar la operacion suma en access 2003 yo ya lo hice ...
  #1 (permalink)  
Antiguo 02/10/2008, 23:36
Avatar de ernestoelunico  
Fecha de Ingreso: septiembre-2008
Mensajes: 96
Antigüedad: 16 años, 6 meses
Puntos: 0
Exclamación ¿Como se suma de campos de access 2003


espero se aprecie bien la imagen.

lo que intento hacer en esta ocacion es realizar la operacion suma en access 2003 yo ya lo hice varias veces pero no de la forma que intento hacerlo ahora.

yo tengo un campo que se llama saldo y dos mas que se llaman debe y haber lo que quiero saber si se puede y como es:
yo sumo el saldo del registro 1 mas el valor que este en el campo debe del registro 2 menos el valor que este en el registro 2 del campo haber y el resultado aparesca en el campo saldo del registro 2... :big_boss:
y asi sucesivamente para tener los saldos de forma inmediata... :yahoo:

en excel lo puedo hacer con formulas pero no se si sera la misma logica o el mismo procedimiento aqui

ademas no hayo como mandar el saldo inical del registro 1 campo debe al camposaldo del mismo registro
:shock:


me late que no se puede hacer pero igual quiero saber.....y salir de mi ignorancia

porque pensaba mandarlos datos a excel y luego regresarlos a access pero tardaria mucho (supongo) y mucho codigo extra si alguien tiene alguna sugerencia o no se entiende no duden en consteatar y preguntar. muchas gracias incluso por tomarse la molestia de leerlo y ayudarme
  #2 (permalink)  
Antiguo 03/10/2008, 00:41
Avatar de Taribo007  
Fecha de Ingreso: agosto-2007
Mensajes: 1.338
Antigüedad: 17 años, 7 meses
Puntos: 18
Respuesta: ¿Como se suma de campos de access 2003

Directamente en la tabla, o en una consulta, la verdad, no lo he probado, prueba esto, pero es para un form:

'*****************************************+
Saldo acumulado
05/10/04 Autor: marius
Esta función calcula el saldo acumulado en un Formulario continuo para cada registro.
Uso:
AWacumulado([FORMULARIO];"nombre_campo1";"nombre_campo2")
- [Formulario] debe escribirse tal como está, NO es el nombre del form)
- nombre_campo2 es opcional, si se incluye se restará del valor de nombre_campo1.

Ejemplos, en un cuadro de texto del Formulario:
=AWsaldo([Formulario];"IMPORTE")
=AWsaldo([Formulario];"DEBE";"HABER")

'* ******************************
'* Antes de usar la funcion, marcar en referencias:
'* Microsoft DAO 3.x
'* ******************************
Public Function AWsaldo(opObject, opFLD1, Optional opFLD2 = Null) As Currency
Dim rst As DAO.Recordset, valACUM As Currency, fld1, fld2
On Error GoTo ErrAWsaldo
Set rst = opObject.RecordsetClone
With rst
Set fld1 = .Fields(opFLD1)
If IsNull(opFLD2) Then
fld2 = 0
Else
Set fld2 = .Fields(opFLD2)
End If
.Bookmark = opObject.Bookmark
Do While Not .BOF()
valACUM = valACUM + fld1 - fld2
.MovePrevious
Loop
End With
Set fld1 = Nothing
Set fld2 = Nothing
Set rst = Nothing

ErrAWsaldo:
AWsaldo = valACUM

End Function

'*******************************************
Un saludo
  #3 (permalink)  
Antiguo 03/10/2008, 00:43
Avatar de Taribo007  
Fecha de Ingreso: agosto-2007
Mensajes: 1.338
Antigüedad: 17 años, 7 meses
Puntos: 18
Respuesta: ¿Como se suma de campos de access 2003

Aqui tienes un ejemplo para un informe:

http://es.geocities.com/patxisanz/ejemplos/saldos.html

Un saludo
  #4 (permalink)  
Antiguo 03/10/2008, 00:48
Avatar de Taribo007  
Fecha de Ingreso: agosto-2007
Mensajes: 1.338
Antigüedad: 17 años, 7 meses
Puntos: 18
Respuesta: ¿Como se suma de campos de access 2003

Bueno, he encontrado un forma de hacerlo en una consulta, añadiendo un nuevo campo asi:

Saldo: DSuma("[Debe] - [Haber]";"debeyhaber";"IdContador <=" & [IdContador])

pero claro, para ello debes tener un id que sea incrmentable, prueba si usando la fecha funciona (que va a ser que no, ya que tienes fechas repetidas)

Saldo: DSuma("[Debe] - [Haber]";"debeyhaber";"fecha<=#" & format([fecha],"mm/dd/yyyy") & "#")

Un saluod
  #5 (permalink)  
Antiguo 03/10/2008, 02:38
Avatar de ernestoelunico  
Fecha de Ingreso: septiembre-2008
Mensajes: 96
Antigüedad: 16 años, 6 meses
Puntos: 0
Respuesta: ¿Como se suma de campos de access 2003

Cita:
Iniciado por Taribo007 Ver Mensaje
Directamente en la tabla, o en una consulta, la verdad, no lo he probado, prueba esto, pero es para un form:

'*****************************************+
Saldo acumulado
05/10/04 Autor: marius
Esta función calcula el saldo acumulado en un Formulario continuo para cada registro.
Uso:
AWacumulado([FORMULARIO];"nombre_campo1";"nombre_campo2")
- [Formulario] debe escribirse tal como está, NO es el nombre del form)
- nombre_campo2 es opcional, si se incluye se restará del valor de nombre_campo1.

Ejemplos, en un cuadro de texto del Formulario:
=AWsaldo([Formulario];"IMPORTE")
=AWsaldo([Formulario];"DEBE";"HABER")

'* ******************************
'* Antes de usar la funcion, marcar en referencias:
'* Microsoft DAO 3.x
'* ******************************
Public Function AWsaldo(opObject, opFLD1, Optional opFLD2 = Null) As Currency
Dim rst As DAO.Recordset, valACUM As Currency, fld1, fld2
On Error GoTo ErrAWsaldo
Set rst = opObject.RecordsetClone
With rst
Set fld1 = .Fields(opFLD1)
If IsNull(opFLD2) Then
fld2 = 0
Else
Set fld2 = .Fields(opFLD2)
End If
.Bookmark = opObject.Bookmark
Do While Not .BOF()
valACUM = valACUM + fld1 - fld2
.MovePrevious
Loop
End With
Set fld1 = Nothing
Set fld2 = Nothing
Set rst = Nothing

ErrAWsaldo:
AWsaldo = valACUM

End Function

'*******************************************
Un saludo
esto es usando una consulta desde un formulario de vb6 sp6?????

es decir atravez de una data grid
  #6 (permalink)  
Antiguo 03/10/2008, 02:47
Avatar de Taribo007  
Fecha de Ingreso: agosto-2007
Mensajes: 1.338
Antigüedad: 17 años, 7 meses
Puntos: 18
Respuesta: ¿Como se suma de campos de access 2003

No, es para usar directamente en access, sobre un form continuo.

Un saludo
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:39.