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

#6 Juan M. Afan de Ribera
27/04/2010 - 20:29 | Informe spam
Hola,

supongo que es una buena pregunta, pero el caso es que ahora no puedo
reproducir el caso que él comenta, así que tampoco puedo hacer ninguna prueba
para averiguarlo. No se si en un caso como ese serviría la función IsObject o
preguntar por algo parecido a eso, sinceramente. De todas maneras, para mí
una cosa es lo que a veces se plantea en las ñus, que muchas veces es fruto
de la inexperiencia o de un mal planteamiento (ojo!, sin querer ofender a
nadie, eh? que yo soy el primero que me lio de mala manera con todo) y otra
muy diferente es la "vida real" en la cual supongo que todos tendemos a ser
prácticos.

Siguiendo la línea de lo que yo recomendaba, si no encontrara una forma
eficaz de detectar ese #error a través de una consulta (que todo sea dicho,
una consulta es un espacio muy limitado y que deja muy poco espacio a un
programador) escribiría una función en VBA y que detectara primero un posible
error de ese tipo y que devolvería un valor booleano o ya directamente el
valor que interesara para ejecutar esa consulta. Hay que echar mano de la
flexibilidad que proporciona VBA a las consultas Access, no?

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


"emiliov" wrote:

Hola Juan

Y como Corríjes el caso que puso Xavi, Definitivamente juntandose todos
ustedes ganamos todos, Saludos.

Respuesta Responder a este mensaje
#7 emiliov
28/04/2010 - 01:41 | Informe spam
Hola

La piramide del conocimiento de los japoneses:

1.- Inconsiente e incompetente
2.- Consiente e incompetente
3.- Consiente competente
4.- Inconsiente competente

Lo que nos pasa a los que participamos aquí (Al menos yo lo creo así y a mi
me pasa), es que la gran mayoría estamos en el primer renglón y creemos que
nuestra pregunta es única y a nadien le había ocurrido, por tanto ni siquiera
nos damos la tarea de buscar a ver si a alguien le ocurrio lo mismo y/o algo
similar que pudiera darnos una idea de como solucionarlo.

Respecto a tu respuesta también creo que podría usar la función Dcount o
directo
con un RecordCount, pero me sigue pareciendo más directo y sencillo con
IsError, será que precisamente eso estoy en el nivel 1 y ustedes en el 4

Y al función IsObject nunca la e usado voy a investigarla, saludos.
Respuesta Responder a este mensaje
#8 Juan M. Afan de Ribera
28/04/2010 - 14:56 | Informe spam
Hola,

no se si he entendido bien este último mensaje. En todo caso, lo vuelvo a
decir, por si acaso: con mis comentarios no pretendo ofender a nadie, en
serio :-) aquí todos estamos para pasarlo bien, aprender, preguntar, resolver
dudas, problemas o satisfacer nuestra curiosidad, lo que sea.

Yo iría más allá de lo que dicen los japoneses y 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)

:-)

y ahora... siguiendo con el tema... no entiendo muy bien lo del RecordCount
y lo del DCount y como aplicarlo aquí.

Por un lado estaba lo que preguntaba Dazdevil que sólo hablaba de una
"función" que a veces devolvía #error y por otro lado estaba lo que comentaba
Xavi sobre la posibilidad de que lo que estuviera ocurriendo tratara sobre un
control de subformulario. Los dos casos podrían ser diferentes de tratar. Una
función es una función y un control es un control.

Si es una función la que devuelve #error entonces podría ser que la función
esperara que se le pasara como argumento un parametro de tipo Long y después
se le pase una cadena, por ejemplo. En un caso así, debería ir a la función y
corregir esa circunstancia, poniendo el argumento como variant y también
algún mecanismo de detección de errores. En un caso como éste IsError llamado
desde la consulta no detectará el error y no servirá.

Si en cambio estamos hablando de la existencia o inexistencia de un control
en un subformulario, entonces podría servirnos cosas como IsObject, que como
su nombre indica, detecta si un valor es un objeto o no. También podría
servirnos el operador Is... en fin, sólo estoy haciendo conjeturas. Para el
caso que propuso Xavi, intenté reproducir el caso a modo de ejemplo, para
hacer pruebas, pero no conseguí que en ningún caso me devolviera no un error,
eh? sino el valor #error. Así que ya no pasé de ahí.

;-)

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


"emiliov" wrote:

Hola

La piramide del conocimiento de los japoneses:

1.- Inconsiente e incompetente
2.- Consiente e incompetente
3.- Consiente competente
4.- Inconsiente competente

Lo que nos pasa a los que participamos aquí (Al menos yo lo creo así y a mi
me pasa), es que la gran mayoría estamos en el primer renglón y creemos que
nuestra pregunta es única y a nadien le había ocurrido, por tanto ni siquiera
nos damos la tarea de buscar a ver si a alguien le ocurrio lo mismo y/o algo
similar que pudiera darnos una idea de como solucionarlo.

Respecto a tu respuesta también creo que podría usar la función Dcount o
directo
con un RecordCount, pero me sigue pareciendo más directo y sencillo con
IsError, será que precisamente eso estoy en el nivel 1 y ustedes en el 4

Y al función IsObject nunca la e usado voy a investigarla, saludos.



Respuesta Responder a este mensaje
#9 emiliov
28/04/2010 - 16:06 | Informe spam
Sabes Juan me gustó tu nueva lista voy a adoptarla y a seguir aprendiendo.

Respecto al problema yo ya lo reproduje:

http://cid-15733bea2103e55f.skydriv.../error.mdb

Al dar Click en Consulta Clientes te sale el error (Claro ya se que si
cambio la consulta del combo lo evito) pero suponiendo que no pueda mover el
combo. Saludos.
Respuesta Responder a este mensaje
#10 Juan M. Afan de Ribera
28/04/2010 - 17:04 | Informe spam
Perdona pero no encuentro la Consulta Clientes en la base que posteabas.

y por otro lado, mi nueva lista? errr, qué nueva lista? (es que hoy he
dormido poco y ya ando que no me veo, perdona el despiste)

:-)

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


"emiliov" wrote:

Sabes Juan me gustó tu nueva lista voy a adoptarla y a seguir aprendiendo.

Respecto al problema yo ya lo reproduje:

http://cid-15733bea2103e55f.skydriv.../error.mdb

Al dar Click en Consulta Clientes te sale el error (Claro ya se que si
cambio la consulta del combo lo evito) pero suponiendo que no pueda mover el
combo. Saludos.

Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida