duda sobre #error

27/04/2010 - 13:01 por dazdevil | Informe spam
Hola

Me gustaría que cuando sumo dos sumandos por ejemplo =[Texto1]+[Texto2] el
problema es que el segundo sumando [Texto2] es una función que da como
resultado #error

¿Puedo hacer que cuando [Texto2] sea igual a #error le asigne un valor cero?
Es decir si [Texto2]= #error debería sumar [Texto1]+0

Gracias

Preguntas similare

Leer las respuestas

#11 emiliov
28/04/2010 - 17:46 | Informe spam
Al abrir el programa te sale una ventana de inicio con cuatro botones de
comando uno de ellos dice Consulta Clientes das click, al entrar al nuevo
formulario veras el #Error

Lo otro:
reduciría esa lista a sólo dos puntos:

- los que quieren aprender (tanto si saben como si no)
- los que no quieren aprender (tanto si saben como si no)
Respuesta Responder a este mensaje
#12 Juan M. Afan de Ribera
29/04/2010 - 09:33 | Informe spam
Hola,

para corregir ese #error el método sería acceder al recordset del
subformulario y preguntarle si su propiedad recordcount es mayor de 0 (es
decir, si tiene registros), si es cierto, entonces se pregunta por el valor
del campo del subformulario con los totales y se asigna ese valor al cuadro
de texto del formulario que muestra los totales, si no hay registros,
directamente se pone el valor 0.

Si esto lo hacemos en el mismo origen del control del cuadro de texto,
vendría a ser algo así:

= iif(subformulario.form.recordsetclone.recordcount > 0;
subformulario.form.campo_totales; 0)

En Access 2007 me he dado cuenta de que no se puede acceder al recordset del
subformulario desde la propiedad origen del control, como en versiones
anteriores (vaya! yo creía que ibamos hacia adelante con las versiones, y
parece que vamos hacia atrás :-S). En este caso, entonces es cuestión de
hacer una función VBA para ejecutar el mismo proceso que describía más arriba
y llamar a esta función desde el origen del control de ese cuadro de texto o
asociándolo al evento click, beforeupdate o lo que sea del control que
desencadena el proceso.

Mi opinión sigue siendo que si se detecta un error se ha de corregir. Es muy
arriesgado andar con valores indeterminados por ahí sueltos. Acaban
desencadenando otros errores en cascada y al final es muy difícil saber cual
es el origen del problema.

Saludos desde Barcelona,
Juan M. Afán de Ribera
http://accessvbafaq.mvps.org


"emiliov" wrote:

Al abrir el programa te sale una ventana de inicio con cuatro botones de
comando uno de ellos dice Consulta Clientes das click, al entrar al nuevo
formulario veras el #Error

Lo otro:
reduciría esa lista a sólo dos puntos:

- los que quieren aprender (tanto si saben como si no)
- los que no quieren aprender (tanto si saben como si no)

Respuesta Responder a este mensaje
#13 emiliov
29/04/2010 - 16:36 | Informe spam
Hola Juan

Perfecto, pero también se puede con Dcount como te había dicho y a de
funcionar en access 2007 (no puedo probarlo trabajo con 2002)

=SiInm(DCont("Cliente","contotales","Cliente= " &
[Cuadrocombinado])>0,SubforconCte.Formulario!total,0)

Gracias, Saludos
Respuesta Responder a este mensaje
#14 dazdevil.chat
29/04/2010 - 23:56 | Informe spam
Hola a todos

veo que mi consulta a generado debate. Debo deciros que Xavi dió en la
diana. El problema era el que exactamente definía Xavi.

La función que el me propuso funcionó.

y Gracias a todos

"emiliov" escribió en el mensaje de
noticias news:
Hola Juan

Perfecto, pero también se puede con Dcount como te había dicho y a de
funcionar en access 2007 (no puedo probarlo trabajo con 2002)

=SiInm(DCont("Cliente","contotales","Cliente= " &
[Cuadrocombinado])>0,SubforconCte.Formulario!total,0)

Gracias, Saludos
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida