Access - #Error

   
Vista:

#Error

Publicado por Sandra (12 intervenciones) el 18/09/2007 18:53:35
Hola a todos. Tengo un formulario y un Sub-Formulario. Del Sub-formulario traigo un valor que asigno a un cuadro de texto en el Formulario Principal, para que me muestre el valor cuando se ejecuta una consulta. Eso funciona perfectamente!!.
El problema es que cuando ejecuto el formulario, como valor inicial el cuadro de texto me trae #ERROR ... mensaje que desaparece cuando ejecuto la consulta que me trae el valor.
Yo quisiera que ese cuadro de texto, no me muestre nada o en su defecto 0 ya que es un campo numerico al ejecutar el formulario.
Espero haber sido clara y algun consejo util de los que siempre dan en este foro.
Saludos
Sandra!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:#Error

Publicado por Enrique (1299 intervenciones) el 18/09/2007 20:22:40
Hola Sandra:
Una solución podría ser que el abrir el Formulario, el Cuadro de Texto NO tenga Origen del Control, con lo cual aparecerá en blanco no mostrando #ERROR o si quieres que aparezca Cero, pones un cero en valor predeterminado y después de que se ejecute la consulta, asignas al cuadro de texto su Origen del Control, pero ya tiene que ser por código:

CuadroTexto.ControlSource = "Lo que ahora tengas puesto"

Creo que debe de funcionar si lo haces así.
Saludos
Enrique
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:#Error

Publicado por Sandra (12 intervenciones) el 18/09/2007 21:33:26
Hola Enrique ... Gracias por tu pronta respuesta
Te cuento que puse esto:
Private Sub Form_Load()
Texto44.ControlSource = Sub_SAP_Detalle_Final.Form!Texto22
.......
.......
.......
End Sub
y me tira el siguiente error
Se ha producido el error ´2427´ en tiempo de ejecución
Introdujo una expresion que no tiene valor

Pero el valor no lo trae de la suma del SUB-FORM "Sub_Sap_Detalle_Final?

Agradecería que me ayudes! Please.

Saludos

Sandra
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:#Error

Publicado por Chea (1015 intervenciones) el 18/09/2007 23:51:28
Busca en este mismo foro la función SinError; creo que te va a servir.

Para buscar en el foro, arriba a la izquierda tienes un cuadro de búsqueda. ;-)

Saludos
José Bengoechea Ibaceta
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:#Error

Publicado por Sandra (12 intervenciones) el 19/09/2007 15:18:03
Chea, encontre en el foro lo que me dijiste, pero mi ignorancia es tanta que no se en donde poner cada cosa de las que mencionas.
La funcion en donde la pongo? en un módulo nuevo. y cuando el el origen del dato le pongo la funcion = SinError(Sub_SAP_Detalle_Final.Form!Texto22) ,0) se me borra, no me la deja poner.
Podrías ayudarme un poquito mas. Esto es realmente importante.
Saludos Sandra!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:#Error

Publicado por Chea (1015 intervenciones) el 19/09/2007 18:42:25
Efectivamente, la función va en un módulo nuevo y la llamada a la función en el origen del control.

Seguramente el error es que estás usando como separador la coma, y en una propiedad de un cuadro de texto el separador es el punto y coma.

= SinError(Sub_SAP_Detalle_Final.Form!Texto22) ; 0)

Saludos
José Bengoechea Ibaceta
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:#Error

Publicado por Sandra (12 intervenciones) el 19/09/2007 20:15:49
Estimado Chea ... te cuento que cree un Modulo llamado SinError (No se si esta bien crearlo con ese nombre) despues en el campo en donde necesito que salga el valor cero (0), en el cuadro de control le pongo =SinError([Formularios]![Sub_SAP_Detalle_Final]![Texto22];0) y apenas abro el formulario Madre, en el campo me aparece #¿Nombre? y cuando termina no me muestra la suma!!!!
Agradeceria mucho me puedas ayudar ... realmente lo necesito .... se que estoy bastante rompe-paciencia!!!!
Saludos
Sandra!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:#Error

Publicado por Chea (1015 intervenciones) el 19/09/2007 20:57:22
Si un módulo se llama como un procedimiento o función se producen errores. Por eso es costumbre poner nombre a los módulos precedido por "Mod". Por ejemplo, ModSinError.

Por otro lado, cuando te refieres a un subformulario, debes añadirle .Form

=SinError([Formularios]![Sub_SAP_Detalle_Final].Form![Texto22];0)

Saludos
José Bengoechea Ibaceta
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:#Error

Publicado por Sandra (203 intervenciones) el 19/09/2007 21:59:23
Chea, te agradezo mucho los consejos ... los voy a poner en practica. Ojala alguna día llegue a manejar muy bien el Access.
Probare lo que me decis y despues te cuento.
Saludos
Sandra!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:#Error

Publicado por Enrique (1299 intervenciones) el 19/09/2007 18:56:25
Hola Sandra:
Es lógico que te salga ese error porque lo estás colocando en el Form_Load (Al cargar) y aquí todavía ni siquiera ha cargado el Subformulario, por lo que es todavía peor que antes.
Indicabas esto en tu mensaje inicial :

..... mensaje que desaparece cuando ejecuto la consulta que me trae el valor.

pués es DESPUES de ejecutar esa consuta que dices, cuando tienes que asignar el Origen del Control al campo. Yo no puedo saber qué Evento o qué haces para "ejecutar la consulta" por eso no puedo decirte donde colocarlo. De todas formas sería así, suponiendo que la consulta la ejecutas con un botón de comando:

Private Sub NombreBoton_Click()
'Aqui el código que ejecuta la consulta
..............
..............
Texto44.ControlSource = Forms![Sub_SAP_Detalle_Final]!Texto22
End Sub

Prueba así o si no, intenta adaptar la función que te indica Chea (la desconozco, no la he usado nunca).

Saludos
Enrique
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:#Error

Publicado por Sandra (12 intervenciones) el 19/09/2007 19:54:20
Enrique, no quiero ser molesta pero te cuento como viene la cosa asi me guias un poquito. Yo abro un formulario .... luego le doy clic a un boton y me trae otro formulario en donde busco el cliente (Formulario que saque de ejemplo de esta web tan maravillosa) .... una vez que le doy doble clic al registro seleccionado, me cierra este formulario y ejecuta la consulta. El codigo del doble clic seria el siguiente:

Private Sub Lista1_DblClick(Cancel As Integer)
Form_Deuda_Detallada.Cuenta = Lista1.Column(0)
Form_Deuda_Detallada.nombre = Lista1.Value
Form_Deuda_Detallada.cuit = Lista1.Column(2)
DoCmd.Close acForm, "Busca"
DoCmd.Requery "Sub_SAP_Detalle_Final"
DoCmd.Requery "Detalle_Mic_Cali"
End Sub

Yo le agregue la linea : Texto44.ControlSource = Forms![Sub_SAP_Detalle_Final]!Texto22 debajo de la que dice DoCmd.Requery "Sub_SAP_Detalle_Final"

Pero esto me tira un error que dice: Error de Compilacion, No se ha definido la variable.

Si tenes un idea?, es ahì en donde va la linea? En que le estoy errando!!!!

Please!!!! y Millòn de Gracias!!!!!!

Sandra!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:#Error

Publicado por Enrique (1299 intervenciones) el 19/09/2007 20:32:45
El problema parece que está en el nombre del SubFormulario, que no lo encuentra debido a los "dichosos" signos de subrayado (o espacios) que muchos os empeñais en poner a los nombres de los objetos y campos (no se para qué...) pués solo sirven para complicarnos la vida a la hora de llamarlos desde código VBA.
Prueba una cosa:
Escribe manualmente: Texto44.ControlSource = Form_Sub_SAP_Detalle_Final y si al poner el punto después de la ele de Final se abre una ventana, busca el nombre del Campo (Texto22) y hazle click para que se introduzca el solo, pero si no se abre es que ese nombre de Subformulario no es reconocido desde VBA. Tendrás que cambiarle el nombre quitando los signos _ y sin espacios, dejándolo como SubSAPDetalleFinal.

Caso de que tampoco funcione, te recomiendo que intentes usar esa función SinError y quitarte de complicaciones con el ControlSource. Yo resuelvo este problema como te dije, pero entiendo que hay que tener cierta experiencia para que funcione. De todas formas sigo a tu disposición si lo necesitas.

Saludos
Enrique
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:#Error

Publicado por Sandra (12 intervenciones) el 19/09/2007 21:53:30
No sabes cuanto te agradezco tus consejos. De hoy en adelante no usare mas espacios ni guiones bajos. Lo Prometoooooo!!!!!!!!
Voy a probar lo que me decis y desde ya muchas gracias por tu ayuda!!!!
Sandra!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:#Error

Publicado por Sandra (203 intervenciones) el 20/09/2007 15:26:33
Enrique, el error me lo marca solamente con el Texto44 que es en donde se debe mostrar el valor. Será que sigo poniendolo antes que se ejecute el Sub_Formulario?
Saludos
Sandra
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:#Error

Publicado por Enrique (1299 intervenciones) el 20/09/2007 17:34:05
Hola Sandra:
Pués ya no sé que decirte, si el contenido de la mdb no tiene datos confidenciales y si quieres, puedes envármela comprimida en zip o rar y la miro.

Saludos
Enrique
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar