Formularios con SubFormularios

Monica
11 de Noviembre del 2004
Hola a todos, bueno mi problema es el siguiente, con Access tengo un Formulario con dos Subformularios, que estan unidos al Formulario uno por un campo Código_A y el otro por el campo Código_B, de manera que a medida que voy introduciendo datos en el formulario, los subformularios muestran el último dato introducido, Todo funciona bien escepto la primera vez, porque el último Código_A ó el último Código_B, no existe, y tengo dos casillas que copian en el formulario el dato de los dos SubFormularios, en tonces la primera vez en la casilla aparece lo siguiente: #Error
Y no se como manejar eso, porque si fuera nulo, útilizaria el IsNull, para eludirlo ejemplo.
If IsNull(Me.Casilla.Value) Then
Me.Casilla=1
Else
End If

Pero no se como decirle que si es #Error, me deje la casilla con el numero 1

Espero que me ayuden......
Gracias

eth0
11 de Noviembre del 2004
No estoy seguro pero quizá no tengas que comprobar si el valor es Null, sino Empty. Así que en lugar de IsNull podrías probar con IsEmpty a ver.

Monica
11 de Noviembre del 2004
Bueno he probado lo de IsEmpty, y no me funciona...
Creo que tiene que trate #Error, porque realmente es que en los Subformulario, solo hay una casilla, que pilla el último registro de una condición, si esta no se cumple, no hay último registro, y eso es un Error, pero no se como eludir eso, por lo demas todo va genial... pero no es de recibo, dejar algo que cuando no hay datos de un Error, a cada obra nueva, nos dara ese error.

eth0
11 de Noviembre del 2004
Aaaajá. Es decir, que esas casillas toman sus datos mediante una consulta SQL, ¿me equivoco? Algo como un (a ver si me acuerdo cómo era...) "SELECT LAST(campo) FROM tabla WHERE...", ¿no?.

Hombre, ya por probar... hay una función IsError que comprueba si una variable es de tipo Error, aunque no sé si te valdrá.

El contenido de esas casillas, ¿lo rellenas tú mediante código o los tienes enlazados directamente a las tablas? Es que si los rellenas tú por código, podrías comprobar antes el número de filas que devuelve la consulta (con la propiedad RecordCount del objeto Recordset) y si devuelve 0 les pones a las casillas el valor que necesites.