** NORMAS DEL FORO **
Inicio del foro Inicio del foro > Access y VBA > Access y VBA
  Mensajes nuevos Mensajes nuevos RSS - Suma acumulada de registros en cuadro de lista.
  Preguntas frecuentes Preguntas frecuentes  Buscar en el foro   Eventos   Registro Registro  Iniciar sesion Iniciar sesion

Tema cerradoSuma acumulada de registros en cuadro de lista.

 Responder Responder
Autor
Mensaje
isaias Ver desplegable
Colaborador
Colaborador


Unido: 02/Noviembre/2005
Estado: Sin conexión
Puntos: 624
Enlace directo a este mensaje Tema: Suma acumulada de registros en cuadro de lista.
    Enviado: 27/Julio/2015 a las 17:34
Hola a todos.
En un cuadro de lista tengo un boton que al presionar me selecciona todos los item o filas OK.
Ahora lo que intento es que me acumule una suma del campo [nunidades_manual]. 
El error que me da es que al llegar a un registro donde [nunidades_manual] no tiene ningun valor 
me salta el error "No coinciden los tipos"


Private Sub cmdSelTodos_Click()
    ' SELECCIONAR TODOS LOS ITEM FILTRADOS

'*****Esto selecciona todas las filax ************      
Dim i As Long
For i = 0 To Me.lstFacturas.ListCount
    Me.lstFacturas.Selected(i) = True
Next i      
'************************************************      
Dim Suma As Double
Dim j As Long
Dim vValor As Double
For j = 1 To Me.lstFacturas.ListCount - 1
    Me.lstFacturas.Selected(j) = True
    'Column(9, j) corresponde al campo  [nunidades_manual]: numero-> entero -> decimales 0
    'MsgBox Me.lstFacturas.Column(9, j) 
 
    vValor = Nz(Me.lstFacturas.Column(9, j), 0) 
' ESTA LINEA DA ERROR 13 EN TIEMPO DE EJECUCION . NO COINCIDEN LOS TIPOS
    MsgBox vValor
    
    'Suma = Suma + Nz(Me.lstFacturas.Column(9, j), 0)
    Suma = Suma + vValor
    MsgBox "Suma Acumulada: " & Suma
    
Next j
MsgBox "Suma Acumulada Final ....: " & Suma
' Paso el valor de Suma al control txtSumImportes
Me.txtSumImportes = Suma

End Sub

Gracias por anticipado
Por más difícil que se nos presente una situación, nunca dejemos de buscar la salida ni de luchar hasta el último momento. Albert Einstein
Arriba
Adrian05 Ver desplegable
Asiduo
Asiduo
Avatar

Unido: 28/Noviembre/2013
Localización: Chamical-LR-ARG
Estado: Sin conexión
Puntos: 248
Enlace directo a este mensaje Enviado: 27/Julio/2015 a las 17:58
Hola, puedes usar funciones como isnull; verificar si en el combo está la coma como separador decimal, en ese caso usar la función replace
Replace(Nro, ",", ".")

If Isnull ([campo]) Then

Arriba
isaias Ver desplegable
Colaborador
Colaborador


Unido: 02/Noviembre/2005
Estado: Sin conexión
Puntos: 624
Enlace directo a este mensaje Enviado: 27/Julio/2015 a las 18:06
Hola Adrian he probado justamente con IsNull y nada.

Un saludo
Por más difícil que se nos presente una situación, nunca dejemos de buscar la salida ni de luchar hasta el último momento. Albert Einstein
Arriba
Adrian05 Ver desplegable
Asiduo
Asiduo
Avatar

Unido: 28/Noviembre/2013
Localización: Chamical-LR-ARG
Estado: Sin conexión
Puntos: 248
Enlace directo a este mensaje Enviado: 27/Julio/2015 a las 18:50
Y así?
Me.lstFacturas.Column(9, j).text o .Value ="" Then ...

con la función if inmediato

=iif(Me.lstFacturas.Column(9, j)="",0,Me.lstFacturas.Column(9, j))
Arriba
isaias Ver desplegable
Colaborador
Colaborador


Unido: 02/Noviembre/2005
Estado: Sin conexión
Puntos: 624
Enlace directo a este mensaje Enviado: 27/Julio/2015 a las 19:08
Lo probare, seguro que lo consigo con su ayuda.
Un saludo
Por más difícil que se nos presente una situación, nunca dejemos de buscar la salida ni de luchar hasta el último momento. Albert Einstein
Arriba
E. Feijoo Ver desplegable
Moderador
Moderador


Unido: 16/Abril/2004
Localización: España
Estado: Sin conexión
Puntos: 19948
Enlace directo a este mensaje Enviado: 28/Julio/2015 a las 09:08
Yo lo intentaría con la función VAL en lugar de NZ

Nz espera un valor NULL, en un cuadro de lista dudo que una columna devuelva un NULL, será en todo caso una cadena vacía y ante ese 'valor' VAL devolverá un cero (al resto, dado que son valores enteros no le afectara).
Arriba
isaias Ver desplegable
Colaborador
Colaborador


Unido: 02/Noviembre/2005
Estado: Sin conexión
Puntos: 624
Enlace directo a este mensaje Enviado: 28/Julio/2015 a las 17:15
OK, resuelto con la solucion de Adrian05.

He acoplado =iif(Me.lstFacturas.Column(9, j)="",0,Me.lstFacturas.Column(9, j)) y va de maravilla.

Adrian 05, gracias por tu ayuda al igual que a Enrique.

Se puede cerrar el hilo, un saludo
Por más difícil que se nos presente una situación, nunca dejemos de buscar la salida ni de luchar hasta el último momento. Albert Einstein
Arriba
Adrian05 Ver desplegable
Asiduo
Asiduo
Avatar

Unido: 28/Noviembre/2013
Localización: Chamical-LR-ARG
Estado: Sin conexión
Puntos: 248
Enlace directo a este mensaje Enviado: 28/Julio/2015 a las 17:24
Gracias a vos por avisar! Suerte!
Arriba
 Responder Responder
  Compartir tema   

Ir al foro Permisos de foro Ver desplegable